课后作业答案Ch4.ppt

课后作业答案Ch4.ppt

ID:51329124

大小:102.50 KB

页数:10页

时间:2020-03-22

课后作业答案Ch4.ppt_第1页
课后作业答案Ch4.ppt_第2页
课后作业答案Ch4.ppt_第3页
课后作业答案Ch4.ppt_第4页
课后作业答案Ch4.ppt_第5页
资源描述:

《课后作业答案Ch4.ppt》由会员上传分享,免费在线阅读,更多相关内容在教育资源-天天文库

1、第4章汇编语言程序设计4.1请分别用DB、DW、DD伪指令写出在DATA开始的连续8个单元中依次存放数据11H、22H、33H、44H、55H、66H、77H、88H的数据定义语句.解:DB,DW,DD伪指令分别表示定义的数据为字节类型、字类型及双字型.其定义形式为:DATADB11H,22H,33H,44H,55H,66H,77H,88HDATADW2211H,4433H,6655H,8877HDATADD44332211H,88776655H4.2若程序的数据段定义如下,写出各指令语句独立执行后的结果:DSEG

2、SEGMENTDATA1DB10H,20H,30HDATA2DW10DUP(?)STRINGDB‘123’DSEGENDS(1)MOVAL,DATA1(2)MOVBX,OFFSETDATA2(3)LEASI,STRINGADDDI,SI解:取变量DATA1的值.指令执行后,(AL)=10H.变量DATA2的偏移地址.指令执行后,(BX)=0003H.1(3)先取变量STRING的偏移地址送寄存器SI,之后送SI的内容与DI的内容相加并将结果送DI.指令执行后,(SI)=0017H;(DI)=(DI)+0017H.4

3、.3试编写求两个无符号双子长数之和的程序.两数分别在MEM1和MEM2单元中,和放在SUM单元.解:DSEGSEGMENTMEM1DW1122H,3344HMEM2DW5566H,7788HSUMDW2DUP(?)DSEGENDSCSEGSEGMENTASSUMECS:CSEG,DS:DSEGSTART:MOVAX,DSEGMOVDS,AXLEABX,MEM1LEASI,MEM2LEADI,SUMMOVCL,2CLCAGAIN:MOVAX,[BX]2ADCAX,[SI]MOV[DI],AXADDBX,2ADDSI,

4、2ADDDI,2LOOPAGAINHLTCSEGENDSENDSTART4.4试编写程序,测试AL寄存器的第4位(bit4)是否为0?解:测试寄存器AL中某一位是否为0,可使用TEST指令、AND指令、移位指令等几种方法实现。如:TESTAL,10HJZNEXT...NEXT:…或者:MOVCL,4SHLAL,CLJNCNEXT.NEXT:…34.5试编写程序,将BUFFER中的一个8位二进制数转换为ASCII码,并按位数高低顺序存放在ANSWER开始的内存单元中。解:DSEGSEGMENTBUFFERDB?ANS

5、WERDB3DUP(?)DSEGENDSCSEGSEGMENTASSUMECS:CSEG,DS:DSEGSTART:MOVAX,DSEGMOVDS,AXMOVCX,3;最多不超过3为十进制数(255)LEADI,ANSWER;DI指向结果存放单元XORAX,AXMOVAL,BUFFER;取要转换的二进制数MOVBL,0AH;基数10AGAIN:DIVBL;用除10取余的方法转换ADDAH,30H;十进制数转换成ASCII码MOV[DI],AH;保存当前的结果INCDI;指向下一个位保存单元4ANDAL,AL;商为0

6、?(转换结束?)JZSTO;若结束,退出MOVAH,0LOOPAGAIN;否则循环继续STO:MOVAX,4C00HINT21H;返回DOSCSEGENDSENDSTART4.6假设数据项定义如下:DATA1DB‘HELLO!GOODMORNING!’DATA2DB20DUP(?)用串操作指令编写程序段,使其分别完成以下功能:(1)从左到右将DATA1中的字符串传送到DATA2中。(2)传送完后,比较DATA1和DATA2中的内容是否相同。(3)把DATA1中的第3和第4个字节装入AX。(4)将AX的内容存入DAT

7、A2+5开始的字节单元中。解:(1)MOVAX,SEGDATA1MOVDS,AXMOVAX,SEGDATA25MOVES,AXLEASI,DATA1LEADI,DATA2MOVCX,20CLDREPMOVSB(2)LEASI,DATA1LEADI,DATA2MOVCX,20CLDREPECMPSB。。。(3)LEASI,DATA1ADDSI,2LODSW(4)LEADI,DATA2ADDDI,5STOSW64.7执行下列指令后,AX寄存器的内容是多少?TABLEDW10,20,30,40,50ENTRYDW3...

8、MOVBX,OFFSETTABLEADDBX,ENTRYMOVAX,[BX]解:(AX)=1E00H4.8编写程序段,将STRING1中的最后20个字符移到STRING2中(顺序不变)。解:首先确定STRING1中字符串的长度,因为字符串的定义要求以‘$’符号结尾,可通过检测‘$’符确定出字符串的长度,设串长度为COUNT,则程序如下:LEASI,STRIN

当前文档最多预览五页,下载文档查看全文

此文档下载收益归作者所有

当前文档最多预览五页,下载文档查看全文
温馨提示:
1. 部分包含数学公式或PPT动画的文件,查看预览时可能会显示错乱或异常,文件下载后无此问题,请放心下载。
2. 本文档由用户上传,版权归属用户,天天文库负责整理代发布。如果您对本文档版权有争议请及时联系客服。
3. 下载前请仔细阅读文档内容,确认文档内容符合您的需求后进行下载,若出现内容与标题不符可向本站投诉处理。
4. 下载文档时可能由于网络波动等原因无法下载或下载错误,付费完成后未能成功下载的用户请联系客服处理。