微型计算机原理及应用第四版课后答案(郑学坚朱定华) 微
机
原
理
第
七
章
答
案
设
AX=1122,BX=3344H,CX=5566H,SS=095 BH,SP=0040H,下述程序执行后AX,BX,CX,DX 4个通用寄存器内容是多少?画出堆栈存储器的物理地址及存储内容和SP指向的示意图。PUSH AX PUSH BX PUSH CX POP BX POP AX POP DX 参:(BX)=5566H, (AX)=3344H, (DX)=1122H,(CX)=5566H堆栈段物理地址=SS*16(左移4位)+SP 095EBH 66H 095ECH 55H 095FDH 44H 095EEH 33H 095EFH 22H 11H SP→ 095F0H 设SP=0040H,如果用进栈指令存入5个数据,则SP=0036H ,若用出栈指令取出两个数据,则SP=003AH。
将表中程序段各指令执行后AX的值用十六进制数填入表中参:程序段MOV AX,0 DEC AX ADD AX,7FFFH ADC AX,1 NEG AX AX 0 FFFFH 7FFEH 8000H 8000H程序段OR AX,3FDFH AND AX,0EBEDH XCHG AH,AL SAL AX,1 RCL AX,1 AX BFDFH ABCDH CDABH 9B56H 36ADH 用十六进制数填下表,已知DS=1000H,ES=2000H,SS=0FC0H,通用寄存器的值为0。参:逻辑地址=段基址:段内偏移地址BP以SS为默认段基址,其余寄存器以DS为默认段基址ES:为段前缀,以ES为段基址指令存储器操作数逻辑地址SUB [BP],AL 0FC0H:0000H MOV [BX],BH 1000H:0000H MOV [DI],DL 1000H:0000H MOV ES:[SI],BL 2000H:0000H ADD 500H[BP],AH 0FC0H:0500H SUB [SI-300H],AL 1000H:FD00H MOV 1000H[DI],DL 1000H:1000H MOV [BX-8],CL
1000H:FFF8H MOV ES:1000H[DI],CH 2000H:1000H MOV [BP+SI],DH 0FC0H:0000H MOV [BX+DI],DL 1000H:0000H 试给出执行完下列指令后OF、SF、ZF、CF4个可测试标志位的状态(1)MOV AX,2345H(2) MOV BX,39H ADD AX,3219H ADD BX,456AH (3)MOV CX,3579H (4) MOV DX,9D82H SUB CX,4EC1H SUB
DX,4B5FH OF DF IF TF SF ZF 0 AF 0溢出方向中断陷阱符号为零辅进PF 0 奇偶CF 进位参:AX=555EH FLAG=0000H OF DF IF TF SF ZF 0 AF 0 PF 0 CF 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 BX=99A3H FLAG=04H OF DF IF TF SF ZF 0 AF 0 PF 0 CF 0 0 0 0 1 0 0 0 1 0 0 1 0 1 0 0 CX=E6B8FLAG=0081H OF DF IF TF SF ZF 0 AF 0 PF 0 CF 0 0 0 0 0 0 0 0 1 0 0 0 0 0 0 1 DX=5223 FLAG=0014H OF DF IF TF SF ZF
AF PF 0 CF 0 0 0 0 0 0 0 0 0 0 0 1 0 1 0 0 AX 中有一负数,欲求其绝对值,若该数为补码,则使用指令NEG AX ;若为原码则用指令AND AX,7FFFH。。分别写出实现如下功能的程序段:将AX中间8位,BX低4位和DX高4位拼成一个新字。AND AX,0FF0H MOV CL,04H SHL AX,CL AND BL,0FH AND DH,0F0H SHR DH,CL SHL BL,CL OR AL,DH OR AL,BL (2)将CX中间8位取反,其余位不变XOR CX,0FF0H (3)将数据段以BX为偏移地址的连续3单元中的无符号数求和。MOV CX,3 MOV AL,0 LAB:ADD AL,[BX]ADC AH,00H;INC BX LOOP LAB (4) 将数据段中以BX 为偏移地址的连续4单元中的内容颠倒过来MOV CX,2 ;(4/2单元个数除2,循环计数) MOV SI,BX ADD SI,3 ;LAB:MOV AL,[BX] XCHG AL,[SI]MOV [BX],AL
INC BX DEC SI LOOP LAB (5) 将BX中的4位压缩BCD数用非压缩数形式按序放在AL,BL,CL和DL 中MOV CL,4MOV DL,BL AND DL,0FH MOV AL,BH SHR AL,CL XCHG BH,BL AND BL,0FH SHR BH,CL MOV CL,BH (6) 不用乘法指令实现AL乘以20 AL*(24+22)( 24左移4位,22左移2位)MOV AH,0 MOV CL,2 SAL AX,CL ;进行乘4操作MOV BX,AX ;保留乘4中间结果SAL AX,CL;再移2次,相当于乘16ADD AX,BX 一段数据定义为:DATA SEGMENT S1 DB 0,1,2,3,4,5 S2 DB ‘12345’COUNT=$-S1 NB DB 3DUP(2) NW DW 120,-256 P DW -1 DATA ENDS (1)画出该数据段数据存储形式(注意:符号常量COUNT不分配存储单元) 地址内容S1 -0000H 00H0001H 01H 0002H 02H
0003H 03H 0004H 04H 0005H 05H S2 -0006H 31H0007H
32H0008H 33H0009H 34H000AH 35H NB -000BH 02H000CH 02H000DH 02H NW -000EH 78H000FH 00H 0010H AAH0011H FDH P -0012H FFH0013H FFH 在下表中填写各变量的偏移地址和各变量的值变量名偏移地址变量值变量名偏移地址变量值S1 0000H 00H NW 000EH 0078H S2 0006H 31H P 0012H FFFFH NB 000BH 02H(3) 填写表中程序段各指令执行后。目的寄存器的值,并指出源操作数所使用的寻址方式程序段目的寄存器的值源操作数的寻址方式MOV BX,OFFSET S1+3 0003H 立即寻址MOV SI,OFFSET S2 0006H 立即寻址MOV CL,COUNT 000BH 立即寻址MOV BP,NW+2 FDAAH 直接寻址MOV DX,WORD PTR NB 0202H 直接寻址MOV AL,[SI+3] 34H 变址寻址MOV
AH,[SI+BX+1] 35H 基址变址寻址MOV CH,BYTE PTR NW+3 FDH 直接寻址改正下列不正确的指令错误a. MOV AX,S1改正MOV AX,WORD PTR S1 b. MOV BP,OFFSET S2 改正MOV BX,OFFSET S2MOV CL,[BP] MOV CL,[BX] c. MOV SI,OFFSET NB 改正MOV SI,OFFSET NB MOV [SI],‘+’MOV BYTE PTR [SI],‘+’ d. MOV DL,NW+2改正MOV DL, BYTE PTR NW+2 e. MOV DI,CH 改正MOV DI,CX f. MOV BX, OFFSET S1 改正MOV BX, OFFSET S1MOV DH,BX+3MOV DH,[BX+3] g. INC COUNT改正MOV BX,COUNT INC BX h. MOV NB,S2改正MOV AL,S2 MOV NB,AL i. MOV AX,[BX+S1]改正MOV AX,WORD PTR [BX+S1] j. ADD AX,[DX+NW]改正ADD
AX,[BX+NW]
因篇幅问题不能全部显示,请点此查看更多更全内容
Copyright © 2019- pqdy.cn 版权所有 赣ICP备2024042791号-6
违法及侵权请联系:TEL:199 1889 7713 E-MAIL:2724546146@qq.com
本站由北京市万商天勤律师事务所王兴未律师提供法律服务