微机原理和接口技术张颖超叶彦斐习题答案解析

上传人:沈*** 文档编号:67005460 上传时间:2022-03-30 格式:DOC 页数:8 大小:92.50KB
返回 下载 相关 举报
微机原理和接口技术张颖超叶彦斐习题答案解析_第1页
第1页 / 共8页
微机原理和接口技术张颖超叶彦斐习题答案解析_第2页
第2页 / 共8页
微机原理和接口技术张颖超叶彦斐习题答案解析_第3页
第3页 / 共8页
点击查看更多>>
资源描述
完美.格式.编辑习题1.指出下列指令中操作数的寻址方式(2) MOV AX, 1245H MOV 100BX, AL(6) MOV BX+100SI, AX(8) MOV SI, AX(1) MOV BX, 20H(3) MOV DX, SI(5) MOV BPSI, AX(7) MOV 1800H, AL答:源操作数目的操作数1立即寻址寄存器寻址2直接寻址寄存器寻址3寄存器间接寻址寄存器寻址4寄存器寻址寄存器相对寻址5寄存器寻址基址加变址寻址6寄存器寻址相对基址加变址寻址7寄存器寻址直接寻址8寄存器寻址寄存器间接寻址2. 判切断下列操作数寻址方式的正确性,对正确的指出其寻址方式,错误的说明其错误原因(1) AX(2) SI+DIBPBHDSBL+44(7) BX+BP+32(8) DX(9) CX+90(10) BX*4(11)BX+90H(12) SI100H答:(1)错误,AX不能用于访问内存单兀错误,两个变址寄存器SI和DI不能冋时用于内存单兀的有效地址正确,寄存器寻址方式正确,寄存器寻址方式正确,寄存器寻址方式错误,寄存器BL不能用于表示内存单兀的有效地址错误,BX和BP都是基址寄存器,不能冋时用于内存单兀的有效地址(8)错误,DX不能用于表示内存单兀的有效地址(9)错误,CX不能用于表示内存单兀的有效地址(10)错误,16位寄存器不能乘以比例因子(11)错误,没有这样的寻址方式(12)错误,书写方式不对,应该写成100HSI3.已知 DS=2000H ES=1000H SS=1010H SI=1100H,BX=0500H BP=0200H 请指出下列源 操作数字段是什么寻址方式?源操作数字段的物理地址是多少?(1) MOV AL, 2500H(2) MOV AX, BP(3) MOV AX, ES:BP+10(4) MOV AL, BX+SI+20答:(1) 源操作数属于直接寻址,物理地址=DS 16+2500H=20000H+2500H=22500H(2) 源操作数属于寄存器间接寻址,物理地址=SS 16+(BP)=10100H+0200H=10300H(3) 源操作数属于寄存器相对寻址,物理地址=ES16+(BP)+100=10000H+0200H+0AH=1020AH(4) 源操作数属于基址加变址寻址,物理地址=DS16+(BX)+(SI)+20=20000H+0500H+1100H+14H=21614H4.判断下列指令的对错,如果错误请说明原因。(1) MOV CS, BX(3) PUSH AL(5) MOV CH, 100H(7) PUSH CS 答:(2) MOV CH, SI(4) MOV DX, BX BP(6) XCHG BX, 3(8) MOV AL, BXSI(1) CS不能赋值(3) PUSH指令的操作数必须是字(5) 100H 超出了 CH表示的范围正确(2)操作数类型/长度不匹配(4)寻址方式错误,两个基址寄存器不能冋时使用(6)交换指令的操作数不能是立即数(8)正确5. 给出MOV旨令执行后的结果,设有关寄存器及存储单元内容如下:DS=2000H, ES=2200H, BX=0100H, SI=0004H, (22100H)=12H, (22101H)=34H, (22102H)=56H, (22103H)=78H,(22104H)=9AH,(22105H)=0BCH,(20100H)=1AH,(20101H)=2BH,(20103H)=3CH, (20104H)=4DH, (20105H)=5EH, (20106H)=6FH,(1) MOV AX, ES:BXSI MOV AX, BX(3) MOV AX, BX(4) MOV AX, BX+SI(5) MOV AX, BX+SI+01答:(1) 物理地址=2200H汉 16+0100H+0004H=22104H 所以(AX)=0BC9AH(AX)=(BX)=0100H;(3) 物理地址=2000H 16+0100H=20100H,所以(AX)=2B1AH;(4) 物理地址=2000H 16+0100H+0004H=20104H 所以(AX)=5E4DH;(5) 物理地址=2000H 16+0100H+0004H+01=20105H 所以(AX)=6F5EH;6. 已知 AX=1020H DX=3080H 端口地址 PORT=41H (40H)=6EH , (41H)=22H ,指出下列各条 指令执行的结果。(1) IN AL, PORT; AL= IN AL, 40H; AX= OUT DX, AL; (DX)=(4) OUT DX, AX; (DX)=答:(1) AL=22H(2) IN AX, 40H; AX=226EH OUT DX, AL; (DX)=6EH(4) OUT DX, AX; (DX)= 226EH7. 用一条指令实现把(BX)和(SI)之和传送给CX答:LEA CX, BX+SI8. 试比较下列3组指令的功能(1) LDS SI, DI MOV SI, DIMOV DS, DI+2(3) MOV DS, DI+2MOV SI, DI答:(1)相当于 MOV SI, DIMOV DS, DI+2(2) 与功能相同(3) 第一条指令修改了 DS的值,因此执行第二条指令后结果可能与(1)(2)不同。9. 求出以下各十六进制数与十六进制数62A0之和,并根据结果设置标志位SF, ZF和OF的值。(1) 12344321(3) CFA0(4)9D60略10. 写出以下指令序列中每条指令的执行结果,请在DEBUGS境下进行验证,并注意各标志位的变化情况。MOV BX, 23ABH ADD BL, 0ACHMOV AX, 23F5HADDBH, ALSUBBX, AXADCAX, 12HSUBBH,-9略11. 编写计算4A2- B+10多项式值的程序段;说明:(1)多项式值存于 AX中,A、B是无符号数,设中间和最后结果不超过16位二进制数。数据说明:A DB 0AHB DB 10H答:MOV AL, AMUL AMOV BL, 4MOV BH, 0MULBXSUBAL, BSBBAH, 0ADDAX, 1012. 写一个计算CL的3次方的指令序列,假设幕不超过16位二进制数答:有符号数MOV AL, CLIMUL CLMOV CX, AXMOV AL, CLCBWIMUL CX无符号数MOV AL, CLMUL CLMOV CX, AXMOV AL, CLMOV AH, 0MUL CX13. 假设DX:AX中存放一个双字的数据:NEG DXNEG AXSBB DX,0请问:(1)上述程序段完成什么功能? 设执行前,DX=0001H AX=FFFFH上述程序段执行后,DX AX的值是什么?答:求DX AX存放的双字的相反数执行前两条语句后 DX=0FFFFH,AX=0001H,CF=1执行第三条语句后,DX=0FFFEHDX:AX=0FFFE 0001H14. 扩展无符号数是否可以使用如下指令?为什么?CBW 指令;(2)CWD旨令答:不可以,因为这两条指令都是针对带符号数的。CBV把AL的符号扩展到 AH, CWD巴AX的符号扩展到 DX=如果AL=80H,执行CBW后, AX=0FF80H显然不对。15. 按要求编写下列指令序列(1) 清除DL中的低2位而不改变其他位;(2) 把SI的高3位置为1而不改变其他位;(3) 把AX中的03位置0, 79位置1, 1315取反;检查CX中的1、3和5位中是否有1位为1; 检查BX中的第2、6和10位是否同时为1 ;(6) 检查CX中的1、3、5和7位中是否有1位为0; 检查BX中的第2、6、10和12位是否同时为0。答:(1) AND DL, 0FCH ; 1111 1100B(2) ORSI, 0E000H ; 1110 0000 0000 0000B(3) ANDAX, 0FFF0H ; 1111 1111 1111 0000BORAX, 0380H; 0000 0011 1000 0000BXORAX,0E000H; 1110 0000 0000 0000BMOVAX, CXANDAX, 002AH ; 0000 0000 0010 1010B如果运算结果不为 0,表示1、3、5位至少有一位为1 MOVAX,BXANDAX,0444H; 0000 0100 0100 0100B ;XORAX,0444H如果运算结果为 0,表示2、6、10位均为1或者 OR AX,1111 1011 1011 1011B如果运算结果为 FFFFH则表示2、6、10位均为1 MOV AX, CXORAX, 0FF55H ; 1111 1111 0101 0101B如果运算结果不为 0FFFFH表示1、3、5、7中至少有一位为 0 MOV AX, BXANDAX, 1444H ; 0001 0100 0100 0100B ;如果运算结果为 0,表示2、6、10、12位均为0OR AX 1111 1111 0101 0101BNOT AX如果运算结果为 0,表示2、6、10、12位均为016. 列出3种以上实现下列要求的指令或指令序列。(1) 清累加器AX(2) 清进位标志位(3) 将累加器内容乘以 2 (不考虑溢出)(4) 将累加器内容除以 2 (不考虑余数)答:(1) a. XOR AX, AXb. SUB AX, AXc. AND AX,0d. MOV AX,0 a. SUBAX, AXb. AND AX, AXc. OR AX, AXd. XOR AX, AXe. TEST AX, AXf. CLC a.MOV CX,2;MUL CXb. ADD AX, AXc. SHL AX, 1d. SAL AX, 1e. CLCRCL AX, 1a.MOV CX,2;无符号数DIV CXMOV CX,2;带符号数IDIV CXb. SHR AX, 1 ;无符号数.SAR AX, 1 ;带符号数c. CLCRCR AX, 117. 写出下列程序段执行后的结果:AX=?。MOVAX, 1234HMOVCL, 4ANDAL, OFHADDAL, 30HSHLAH, CLANDAH, 0F3H答:MOV AX, 1234H ; AX=1234HMOV CL, 4ANDAL, 0FH;AX=1204HADDAL, 30H;AX=1234HSHLAH, CL;AX=2034HANDAH, 0F3H;AX=2034H18试用移位指令把十进制数 +35和-41分别乘以2。应该用什么指令?得到什么结果?如果除以2,结果又如何?答:乘以2MOV AL, 35; AL=0010 0011B/23HSHLAL,1 ; AL=46HMOV AL,-41; 0D7HSHLAL,1; AL=0AEH除以2MOV AL, 35SARAL,1; AL=11HMOV AL,-41SARAL,1; AL=0EBH专业.资料.整理
展开阅读全文
相关资源
正为您匹配相似的精品文档
相关搜索

最新文档


当前位置:首页 > 办公文档 > 工作计划


copyright@ 2023-2025  zhuangpeitu.com 装配图网版权所有   联系电话:18123376007

备案号:ICP2024067431-1 川公网安备51140202000466号


本站为文档C2C交易模式,即用户上传的文档直接被用户下载,本站只是中间服务平台,本站所有文档下载所得的收益归上传人(含作者)所有。装配图网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对上载内容本身不做任何修改或编辑。若文档所含内容侵犯了您的版权或隐私,请立即通知装配图网,我们立即给予删除!