汇编实验报告五Word文档格式.docx
《汇编实验报告五Word文档格式.docx》由会员分享,可在线阅读,更多相关《汇编实验报告五Word文档格式.docx(11页珍藏版)》请在冰豆网上搜索。
DATASEGMENT
DATDB0A5H,2DUP(?
)
DATAENDS
CODESEGMENT
ASSUMECS:
CODE,DS:
DATA
START:
MOVAX,DATA
MOVDS,AX
MOVAL,DAT;
取被操作数
MOVBL,AL;
备份操作数
MOVCL,4;
设置准备移动的位数
MOVBL,CL;
取操作数的高4位
MOVDAT+1,BL;
将高BCD数存入DAT+1
ANDAL,0FH;
取操作数的低4位
MOVDAT+2,AL;
将低BCD数存入DAT+2
MOVAH,4CH
INT21H
CODEENDS
ENDSTART
程序运行结果如下:
2.调试程序2,源程序如下:
该程序实现了特殊符号的输出功能
3.调试程序3:
下面程序完成将HEX为起始地址的两位十六进制(ASCII码)转换成八位二进制数存入BIN单元,请阅读程序,找出其中的错误之处,并上机调试运行该程序。
ORG1000H
BINDB?
HEXDB'
6B'
ORG1030H
DB00H,01H,02H,03H,04H,05H,06H,07H,08H,09H
ORG1040H
DB0AH,0BH,0CH,0DH,0EH,0FH
MOVAX,DATA
MOVDS,AX
MOVAL,HEX
MOVBX,OFFSETBIN
SUBAH,AH
ADDBX,AX
MOVDL,[BX]
MOVDL,4
MOVAL,HEX+1
XORAH,AH
MOVAL,BX
ORAL,DL
MOVBIN,AL
MOVAH,4CH
INT21H
程序的错误如下:
修改后程序如下:
(红色为修改处)
BINDB?
;
存放转换后的二进制数
HEXDB'
待转换的十六进制数6BH
DB00H,01H,02H,03H,04H,05H,06H,07H,08H,09H
0~9对应的二进制数转换表
ORG1041H
DB0AH,0BH,0CH,0DH,0EH,0FH;
A~F对应的二进制数转换表
ASSUMECS:
MOVAL,HEX;
十六进制高位36H->
AL
MOVBX,OFFSETBIN;
BIN的偏移地址1000H->
BX
SUBAH,AH;
AH清0
ADDBX,AX;
1036H->
BX形成转换表地址
MOVDL,[BX];
DL=(1036H)=06H
MOVCL,4;
将DL低4位左移至高4位
SHLDL,CL
MOVAL,HEX+1;
十六进制低位42H->
BX
XORAH,AH;
1042H->
BX形成转换表地址
MOVAL,[BX];
AL=(1042H)=0BH
ORAL,DL;
AL=0BHV60H=6BH
MOVBIN,AL;
6BH->
BIN单元
CODEENDS
ENDSTART
运行结果如下:
4.列出求26÷
2+18×
2的小汇编程序清单。
-A
XXXX:
0100MOVAL,1A;
26=1AH
0103SHRAL,1;
AL右移1位,相当于本身除以2
0105MOVBL,AL;
结果转存BL
0107MOVAL,12;
18=12H
0109SHLAL,1;
AL左移1位,相当于本身乘以2
010BADDAL,BL;
AL存放最后结果
010DHLT
010E
5.编写程序1,实现W=(3X+6Y)*4-8Z,设X=3,Z=19。
将编写好的程序1输入、编译、连接并运行。
程序1清单
DSEGSEGMENT;
数据段定义
XDB5;
加数变量X的定义及赋值
YDB3;
加数变量Y的定义及赋值
ZDB19;
加数变量Z的定义及赋值
WDW?
结果变量W的定义
DSEGENDS;
数据段定义结束
CSEGSEGMENT;
代码段定义
CSEG,DS:
DSEG;
呈现各个定义的段
定义程序开始执行
MOVAX,DSEG;
获取数据段的段地址
MOVDS,AX;
把数据段的段地址存入DS寄存器中
BEGIN:
MOVAL,X
MOVBL,AL
SHLAL,1
ADDAL,BL;
AL=3X
MOVBL,Y
SHLBL,1
MOVBH,BL
ADDBL,BH;
BL=6Y
AL=(3X+6Y)
MOVBL,4
MULBL;
AX=(3X+6Y)*4
MOVBX,AX;
BX=(3X+6Y)*4
MOVAL,Z
MOVCL,8
MULCL;
AX=8Z
SUBBX,AX;
BX=(3X+6Y)*4-8Z
MOVW,BX
MOVAH,4CH
INT21H
CSEGENDS;
代码段结束
ENDSTART;
程序执行结束
程序1运行结果:
实验情况与体会:
通过本次上机实验,学习了数值转换。
实验过程中,遇到很多问题,比如程序一的编写,基本上都是学习书本以及依靠书本多做题才编出来的,仅有的几次上机实验,要抓紧时间学习和交流,时间挺少的。
在今后的学习和生活中,我们都需要相互学习、相互交流,共同进步。
学习是一个循序渐进的过程。
通过这次实验,使我了解到运行调试程序的不易,今后一定更加努力,把程序做到最好!
对于不足之处,会积极改正。
注:
篇幅不够,可以另外附页。