欢迎来到天天文库
浏览记录
ID:18590234
大小:73.50 KB
页数:27页
时间:2018-09-19
《微机原理及应用答案_来源new》由会员上传分享,免费在线阅读,更多相关内容在教育资源-天天文库。
1、微型计算LOOPNEXTCH03汇编语言程序设计习题与思考题1.下列语句在存储器中分别为变量分配多少字节空间?并画出存储空间的分配图。VAR1DB10,2VAR2DW5DUP(?),0VAR3DB‘HOWAREYOU?’,3DUP(1,2)VAR4DD-1,1,0解答:字节空间----VAR1:2;VAR2:12;VAR3:20;VAR4:12。存储空间的分配图:DS:00000A02000000000000—000000000000484F00105720204152452020—594F553F0102010
2、200200102FFFFFFFF0100—0000000000002.假定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指令中
3、,当所移位数超过1时,必须用CL或CX来取代所移位数。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(?
4、)自FIRST单元开始存放的是一个四字节的十六进制数(低位字节在前),要求:编一段程序将这个数左移两位后存放到自SECOND开始的单元,右移两位后存放到自THIRD开始的单元。(注意保留移出部分)解答:DATASEGMENTFIRSTDB90H,5FH,6EH,69HSECONDDB5DUP(?)THIRDDB5DUP(?)DATAENDSCODESEGMENTASSUMECS:CODE,DS:DATASTART:MOVAX,DATAMOVDS,AXLEASI,FIRSTLEADI,SECONDMOVCX,2CL
5、C;左移2位MOVAX,[SI];AX=5F90H为低十六位数据INCSIINCSIMOVDX,[SI];DX=696EH为高十六位数据PUSHDX;保存原有的高十六位数据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中仅保
6、存移出的AX高2位数据MOVBL,AL;将AL中的数据放入BL中保存POPAX;弹出原有的低十六位数据POPDX;弹出原有的高十六位数据SHLDX,CL;将高位数据算术逻辑左移2位SHLAX,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为高十六位
7、数据PUSHDX;保存原有的高十六位数据PUSHAX;保存原有的低十六位数据RORAX,CL;将低位数据不带进位循环右移两位,即低2位数据在AH的高2位ANDAH,0C0H;让AH中仅保存移出的低2位数据PUSHCXMOVCX,6SHRAH,CLPOPCXMOV[DI],AH;将移出的低2位数据放入THIRD中的最低单元中RORDX,CL;将低位数据不带进位循环左移两位,即AX的高2位在AL的低2位ANDDH,0C0H;让DH中仅保存移出的DX低2位数据MOVBL,DH;将DH中的数据放入BL中保存POPAX;弹
8、出原有的低十六位数据POPDX;弹出原有的高十六位数据SHRDX,CL;将高位数据算术逻辑左移2位SHRAX,CL;将低位数据算术逻辑左移2位ORAH,BL;将DX中移出的低2位数据放入AX的高2位MOV[DI+1],AXMOV[DI+3],DXMOVAH,4CHINT21HCODEENDSENDSTART5.(14)在当前数据区从400H开始的256个单元中存放着一组数
此文档下载收益归作者所有