微机原理及应用答案ch03(汇编语言程序设计)

微机原理及应用答案ch03(汇编语言程序设计)

ID:17643037

大小:130.50 KB

页数:18页

时间:2018-09-04

微机原理及应用答案ch03(汇编语言程序设计)_第1页
微机原理及应用答案ch03(汇编语言程序设计)_第2页
微机原理及应用答案ch03(汇编语言程序设计)_第3页
微机原理及应用答案ch03(汇编语言程序设计)_第4页
微机原理及应用答案ch03(汇编语言程序设计)_第5页
资源描述:

《微机原理及应用答案ch03(汇编语言程序设计)》由会员上传分享,免费在线阅读,更多相关内容在教育资源-天天文库

1、CH03汇编语言程序设计习题与思考题1.下列语句在存储器中分别为变量分配多少字节空间?并画出存储空间的分配图。VAR1DB10,2VAR2DW5DUP(?),0VAR3DB‘HOWAREYOU?’,3DUP(1,2)VAR4DD-1,1,0解答:字节空间----VAR1:2;VAR2:12;VAR3:20;VAR4:12。存储空间的分配图:DS:00000A02000000000000—000000000000484F00105720204152452020—594F553F0102010200200102FFFFFFFF0100—000000

2、0000002.假定VAR1和VAR2为字变量,LAB为标号,试指出下列指令的错误之处。(1)ADDVAR1,VAR2(2)SUBAL,VAR1(3)JMPLAB[CX](4)JNZVAR1(5)MOV[1000H],100(6)SHLAL,4解答:(1)两个操作数中至少有一个为寄存器;(2)AL为字节,VAR1为字变量,不匹配;(3)[]中不能用CX,LAB为标号,非变量;(4)转向地址应为标号,不能是变量;(5)目的操作数的类型不确定;(6)SHL指令中,当所移位数超过1时,必须用CL或CX来取代所移位数。3.对于下面的符号定义,指出下列指

3、令的错误。A1DB?A2DB10K1EQU1024(1)MOVK1,AX(2)MOVA1,AX(3)CMPA1,A2(4)K1EQU2048解答:(1)K1为常量,不能用MOV指令赋值;(2)A1为字节,AX为字变量,不匹配;(3)A1未定义,无法做比较指令;(4)K1重新赋值前,必须用PURGE释放。4.数据定义语句如下所示:FIRSTDB90H,5FH,6EH,69HSECONDDB5DUP(?)THIRDDB5DUP(?)自FIRST单元开始存放的是一个四字节的十六进制数(低位字节在前),要求:编一段程序将这个数左移两位后存放到自SECO

4、ND开始的单元,右移两位后存放到自THIRD开始的单元。(注意保留移出部分)解答:DATASEGMENTFIRSTDB90H,5FH,6EH,69HSECONDDB5DUP(?)THIRDDB5DUP(?)DATAENDSCODESEGMENTASSUMECS:CODE,DS:DATASTART:MOVAX,DATAMOVDS,AXLEASI,FIRSTLEADI,SECONDMOVCX,2CLC;左移2位MOVAX,[SI];AX=5F90H为低十六位数据INCSIINCSIMOVDX,[SI];DX=696EH为高十六位数据PUSHDX;保

5、存原有的高十六位数据PUSHAX;保存原有的低十六位数据ROLDX,CL;将高位数据不带进位循环左移两位,即高2位数据在DL的低2位ANDDL,03H;让DL中仅保存移出的高2位数据MOV[DI+4],DL;将移出的高2位数据放入SECOND中的最高单元中ROLAX,CL;将低位数据不带进位循环左移两位,即AX的高2位在AL的低2位ANDAL,03H;让AL中仅保存移出的AX高2位数据MOVBL,AL;将AL中的数据放入BL中保存POPAX;弹出原有的低十六位数据POPDX;弹出原有的高十六位数据SHLDX,CL;将高位数据算术逻辑左移2位SH

6、LAX,CL;将低位数据算术逻辑左移2位ORDL,BL;将AX中移出的高2位数据放入DX的低2位MOV[DI],AXMOV[DI+2],DX;右移2位LEASI,FIRSTLEADI,THIRDMOVCX,2CLCMOVAX,[SI];AX=5F90H为低十六位数据INCSIINCSIMOVDX,[SI];DX=696EH为高十六位数据PUSHDX;保存原有的高十六位数据PUSHAX;保存原有的低十六位数据RORAX,CL;将低位数据不带进位循环右移两位,即低2位数据在AH的高2位ANDAH,0C0H;让AH中仅保存移出的低2位数据PUSHCX

7、MOVCX,6SHRAH,CLPOPCXMOV[DI],AH;将移出的低2位数据放入THIRD中的最低单元中RORDX,CL;将低位数据不带进位循环左移两位,即AX的高2位在AL的低2位ANDDH,0C0H;让DH中仅保存移出的DX低2位数据MOVBL,DH;将DH中的数据放入BL中保存POPAX;弹出原有的低十六位数据POPDX;弹出原有的高十六位数据SHRDX,CL;将高位数据算术逻辑左移2位SHRAX,CL;将低位数据算术逻辑左移2位ORAH,BL;将DX中移出的低2位数据放入AX的高2位MOV[DI+1],AXMOV[DI+3],DXM

8、OVAH,4CHINT21HCODEENDSENDSTART5.(14)在当前数据区从400H开始的256个单元中存放着一组数据,试编程序将它们顺序搬

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

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

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