微型计算机原理及应用-第四版-课后答案-(郑学坚-朱定华).docx

上传人:scccc 文档编号:14040702 上传时间:2022-01-31 格式:DOCX 页数:7 大小:24.02KB
返回 下载 相关 举报
微型计算机原理及应用-第四版-课后答案-(郑学坚-朱定华).docx_第1页
第1页 / 共7页
微型计算机原理及应用-第四版-课后答案-(郑学坚-朱定华).docx_第2页
第2页 / 共7页
微型计算机原理及应用-第四版-课后答案-(郑学坚-朱定华).docx_第3页
第3页 / 共7页
亲,该文档总共7页,到这儿已超出免费预览范围,如果喜欢就下载吧!
资源描述

《微型计算机原理及应用-第四版-课后答案-(郑学坚-朱定华).docx》由会员分享,可在线阅读,更多相关《微型计算机原理及应用-第四版-课后答案-(郑学坚-朱定华).docx(7页珍藏版)》请在三一文库上搜索。

1、微机原理第七章答案7.3 设 AX=1122,BX=3344H,CX=5566H,SS=095BH,SP=004下述程序执行后 AX,BX CX DX 4个通用存放器内容是多少?画出堆栈存储器的物理地址及存储内 容和SP指向的示意图。PUSH AXPUSH BXPUSH CXPOP BXPOP AXPOP DX参考答案:(BX)=5566H, (AX)=3344H, (DX)=1122H,(CX)=5566H 堆栈段物理地址=SS*16(左移4位)+SPSi7.4设SP=0040H,如果用进栈指令存入5个数据,那么SP=0036H ,假设用出栈指 令取出两个数据,那么SP=003AH。7.5将

2、表中程序段各指令执行后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=0FC0通用存放器的值为0。参考答案:逻辑地址=段基址:段内偏移地址指令存储器操作数逻辑地址SUB BP,AL0FC0H:0000HMOV BX,BH1000H:0000HMOV

3、 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:0000H以SS为默认段基址,其余存放器以 DS为默认段基址 :为段前缀,以ES为段基址7.7试给出执行完以下指令后 OF SF、ZF、CF4个可测试标志位的状态用十BPES六进制给出FLA

4、G的值,其余各位为0)(1) MOV AX,2345H(2) MOV BX,5439H(3)MOV CX,3579HSUB CX,4EC1H(4) MOV DX,9D82HSUB DX,4B5FHADD AX,3219HADD BX,456AHOFDFIFTFSFZF0AF0PF0CF溢岀方 向中 断陷 阱符号为零辅进奇 偶进位参考答案:这里除了上面4个标志还考虑了奇偶标志 PF和辅助进位标志AF1AX=555EH FLAG=0000HOFDFIFTFSFZF0AF0PF0CF0000000000000000(2) BX=99A3H FLAG=0894HOFDFIFTFSFZF0AF0PF0C

5、F0000100010010100(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位拼成一 个新字。注意:左移右移操作AND AX OFFOHMOV CL,04HSHL AX CLAND BL,0F

6、HAND DH,0F0HSHR DH,CLSHL BL,CLOR AL,DHOR AL,BL2将CX中间8位取反,其余位不变XOR CX 0FF0H3将数据段以BX为偏移地址的连续3单元中的无符号数求和。MOVCX 3MOVAL 0LAB ADD AL BXADC AH,00H 注意字节单元的和可能超过一个字节,故这里和扩展至AHINC BXLOOP LAB4将数据段中以BX为偏移地址的连续4单元中的内容颠倒过来MOV CX,2 ;4/2 单元个数除2,循环计数MOV S,BXADD SI ,3 ;指向最后一个数据单元,首地址 +单元个数-1LAB MOV AL,BXXCHG AL SIMOV

7、 BX,ALINC BXDEC SILOOP LAB 将BX中的4位压缩BCD数用非压缩数形式按序放在 AL,BL,CL和DL中 MOV CL 4 注意先后次序,不能用其它存放器MOVDL , BLAND DL,0FHMOV AL,BHSHR AL,CLXCHG BH,BLAND BL,0FHSHR BH,CLMOV CL,BH6 不用乘法指令实现AL 无符号数乘以20AL*24+22 24 左移 4 位,22 左移 2 位MOVAH 0MOV CL 2SAL AX , CL ;进行乘4操作MOV BX,AX ;保存乘4中间结果SAL AX ,CL;再移2次,相当于乘16ADD AX ,BX7

8、.10 一段数据定义为:DATA SEGMENT51 DB 0,1,2,3,4,552 DB 12345COUNT=$-S1NB DB 3DUP(2)NW DW 120,-256P DW -1COUNTS分配存储单元DATA ENDS(1)画出该数据段数据存储形式(注意:符号常量地址内容S1 -0000H00H0001H01H0002H02H0003H03H0004H04H0005H05HS2 -0006H31H0007H32H0008H33H0009H34H000AH35HNB -000BH02H000CH02H000DH02HNW -000EH78H000FH00H0010HAAH0011

9、HFDHP -0012HFFH0013HFFH变量名偏移地址变量值变量名偏移地址变量值S1:0000H00HNW000EH0078HS20006H31HP0012HFFFFHNB:000BH02H2在下表中填写各变量的偏移地址和各变量的值程序段目的存放器的值源操作数的寻址方式MOV BX OFFSET S1+30003H立即寻址MOV S,OFFSET S20006H立即寻址MOV CL COUNT000BH立即寻址MOV BP,NW+2FDAAH:直接寻址MOV DX WORD PTR NB0202H直接寻址MOV AL,SI+334H变址寻址MOV AH,SI+BX+135Hr基址变址寻址

10、MOV CH BYTE PTR NW+3FDH直接寻址3填写表中程序段各指令执行后。目的存放器的值,并指出源操作数所使用的 寻址方式注意:COUN是符号常量是立即数4改正以下不正确的指令错误a. MOV AX,S1MOV AX, WORD PTR S1b. MOV BP,OFFSET S2MOV CL,BP改正c. MOV SI,OFFSET NB改正MOV SI, +d. MOV DL,NW+2改正e. MOV DI,CH改正f. MOV BX, OFFSET S1改正MOV DH,BX+3g. INC COUNT改正h. MOV NB,S2改正i. MOV AX,BX+S1改正改正MOV DL, BYTE PTR NW+2MOV DI,CXMOV BX,OFFSET S2MOV CL,BXMOV SI,OFFSET NBMOV BYTE PTR SI, +MOV BX, OFFSET S1MOV DH BX+3MOV BX, COUNT INC BX 符号常数不能加1MOV AL,S2 MOV NB,AL 两个内存变量不能直接传送MOV AX,WORD PTR BX+S1j. ADD AX,DX+NW改正 ADD AX,BX+NW

展开阅读全文
相关资源
猜你喜欢
相关搜索

当前位置:首页 > 社会民生


经营许可证编号:宁ICP备18001539号-1