首页 > 编程知识 正文

微型计算机原理与接口技术第四章答案,微型计算机原理第四章答案

时间:2023-05-06 12:50:37 阅读:249370 作者:2113

《微型计算机原理第7章答案》由会员分享,可在线阅读,更多相关《微型计算机原理第7章答案(5页珍藏版)》请在人人文库网上搜索。

1、7.3 设AX=1122,BX=3344H,CX=5566H,SS=095BH,SP=0040H,下述程序执行后AX,BX,CX,DX 4个通用寄存器内容是多少?画出堆栈存储器的物理地址及存储内容和SP指向的示意图。PUSH AXPUSH BXPUSH CXPOP BXPOP AXPOP DX参考答案:(BX)=5566H, (AX)=3344H, (DX)=1122H,(CX)=5566H11H22H33H44H55H66H堆栈段物理地址=SS*16(左移4位)+SP095EBH095ECH095FDH095EEH095EFHSP095F0H7.4 设 SP=0040H,如果用进栈指令存入5。

2、个数据,则SP=0036H ,若用出栈指令取出两个数据,则SP=003AH 。7.5将表中程序段各指令执行后AX的值用十六进制数填入表中参考答案:程序段AX程序段AXMOV AX,00OR AX,3FDFHBFDFHDEC AXFFFFHAND AX,0EBEDHABCDHADD AX,7FFFH7FFEHXCHG AH,ALCDABHADC AX,18000HSAL AX,19B56HNEG AX8000HRCL AX,136ADH7.6 用十六进制数填下表,已知DS=1000H,ES=2000H,SS=0FC0H,通用寄存器的值为0。参考答案:逻辑地址=段基址:段内偏移地址BP以SS为默认。

3、段基址,其余寄存器以DS为默认段基址ES:为段前缀,以ES为段基址指令存储器操作数逻辑地址SUB BP,AL0FC0H:0000HMOV BX,BH1000H:0000HMOV DI,DL1000H:0000HMOV ES:SI,BL2000H:0000HADD 500HBP,AH0FC0H:0500HSUB SI-300H,AL1000H:FD00HMOV 1000HDI,DL1000H:1000HMOV BX-8,CL1000H:FFF8HMOV ES:1000HDI,CH2000H:1000HMOV BP+SI,DH0FC0H:0000HMOV BX+DI,DL1000H:0000H7.。

4、7 试给出执行完下列指令后OF、SF、ZF、CF4个可测试标志位的状态(用十六进制给出FLAG的值,其余各位为0)(1)MOV AX,2345H (2) MOV BX,5439HADD AX,3219H ADD BX,456AH(3)MOV CX,3579H (4) MOV DX,9D82HSUB CX,4EC1H SUB DX,4B5FHOFDFIFTFSFZF0AF0PF0CF溢出方向中断陷阱符号为零辅进奇偶进位参考答案:(这里除了上面4个标志还考虑了奇偶标志PF和辅助进位标志AF)(1)AX=555EH FLAG=0000HOFDFIFTFSFZF0AF0PF0CF00000000000。

5、00000(2)BX=99A3H FLAG=0894HOFDFIFTFSFZF0AF0PF0CF0000100010010100(3)CX=E6B8 FLAG=0081HOFDFIFTFSFZF0AF0PF0CF0000000010000001(4)DX=5223 FLAG=0014HOFDFIFTFSFZFAFPF0CF00000000000101007.8 AX 中有一负数,欲求其绝对值,若该数为补码,则使用指令 NEG AX ;若为原码则用指令AND AX,7FFFH。 。7.9 分别写出实现如下功能的程序段:(1)将AX中间8位(做高8位),BX低4位和DX高4位(做低4位)拼成一个新。

6、字。(注意:左移右移操作)AND AX,0FF0HMOV CL,04HSHL AX,CLAND BL,0FHAND DH,0F0HSHR DH,CLSHL BL,CLOR AL,DHOR AL,BL(2)将CX中间8位取反,其余位不变XOR CX,0FF0H(3)将数据段以BX为偏移地址的连续3单元中的无符号数求和。MOV CX,3MOV AL,0LAB:ADD AL,BXADC AH,00H;(注意字节单元的和可能超过一个字节,故这里和扩展至AH)INC BXLOOP LAB(4) 将数据段中以BX为偏移地址的连续4单元中的内容颠倒过来MOV CX,2 ;(4/2单元个数除2,循环计数)MO。

7、V SI,BXADD SI,3 ;(指向最后一个数据单元,首地址+单元个数-1)LAB:MOV AL,BXXCHG AL,SIMOV BX,ALINC BXDEC SILOOP LAB(5) 将BX中的4位压缩BCD数用非压缩数形式按序放在AL,BL,CL和DL中MOV CL,4 (注意先后次序,不能用其它寄存器)MOV DL,BLAND DL,0FHMOV AL,BHSHR AL,CLXCHG BH,BLAND BL,0FHSHR BH,CLMOV CL,BH(6) 不用乘法指令实现AL(无符号数)乘以20AL*(24+22)( 24左移4位,22左移2位)MOV AH,0MOV CL,2S。

8、AL AX,CL ;进行乘4操作MOV BX,AX ;保留乘4中间结果SAL AX,CL;再移2次,相当于乘16ADD AX,BX7.10 一段数据定义为:DATA SEGMENTS1 DB 0,1,2,3,4,5S2 DB 12345COUNT=$-S1NB DB 3DUP(2)NW DW 120,-256P DW -1DATA ENDS(1)画出该数据段数据存储形式(注意:符号常量COUNT不分配存储单元)地址内容S1 -0000H00H0001H01H0002H02H0003H03H0004H04H0005H05HS2 -0006H31H0007H32H0008H33H0009H34H0。

9、00AH35HNB -000BH02H000CH02H000DH02HNW -000EH78H000FH00H0010HAAH0011HFDHP -0012HFFH0013HFFH(2)在下表中填写各变量的偏移地址和各变量的值变量名偏移地址变量值变量名偏移地址变量值S10000H00HNW000EH0078HS20006H31HP0012HFFFFHNB000BH02H(3) 填写表中程序段各指令执行后。目的寄存器的值,并指出源操作数所使用的寻址方式(注意:COUNT是符号常量是立即数)程序段目的寄存器的值源操作数的寻址方式MOV BX,OFFSET S1+30003H立即寻址MOV SI,O。

10、FFSET S20006H立即寻址MOV CL,COUNT000BH立即寻址MOV BP,NW+2FDAAH直接寻址MOV DX,WORD PTR NB0202H直接寻址MOV AL,SI+334H变址寻址MOV AH,SI+BX+135H基址变址寻址MOV CH,BYTE PTR NW+3FDH直接寻址(4)改正下列不正确的指令错误a. MOV AX,S1 改正 MOV AX,WORD PTR S1b. MOV BP,OFFSET S2 改正 MOV BX,OFFSET S2MOV CL,BP MOV CL,BXc. MOV SI,OFFSET NB 改正 MOV SI,OFFSET NB 。

11、MOV SI,+ MOV BYTE PTR SI,+d. MOV DL,NW+2 改正 MOV DL, BYTE PTR NW+2e. MOV DI,CH 改正 MOV DI,CXf. MOV BX, OFFSET S1 改正 MOV BX, OFFSET S1MOV DH,BX+3 MOV DH,BX+3g. INC COUNT 改正 MOV BX,COUNT INC BX (符号常数不能加1)h. MOV NB,S2 改正 MOV AL,S2 MOV NB,AL(两个内存变量不能直接传送)i. MOV AX,BX+S1 改正 MOV AX,WORD PTR BX+S1j. ADD AX,DX+NW 改正 ADD AX,BX+NW 请浏览后下载,资料供参考,期待您的好评与关注。

版权声明:该文观点仅代表作者本人。处理文章:请发送邮件至 三1五14八八95#扣扣.com 举报,一经查实,本站将立刻删除。