2022年汇编语言第三五章课后题答案 .pdf
《2022年汇编语言第三五章课后题答案 .pdf》由会员分享,可在线阅读,更多相关《2022年汇编语言第三五章课后题答案 .pdf(41页珍藏版)》请在淘文阁 - 分享文档赚钱的网站上搜索。
1、3.1给定 (BX)=637DH ,(SI)=2A9BH ,位移量D=7237H ,试确定在以下各种寻址方式下的有效地址是什么?(1) 立即寻址(2) 直接寻址(3) 使用 BX 的寄存器寻址(4) 使用 BX 的简接寻址(5) 使用 BX 的寄存器相对寻址(6) 基址变址寻址(7) 相对基址变址寻址答: (1) 操作数在指令中,即立即数;(2) EA=D=7237H ;(3) 无 EA,操作数为 (BX)=637DH ;(4) EA=(BX)=637DH ;(5) EA=(BX)+D=0D5B4H;(6) EA=(BX)+(SI)=8E18H;(7) EA=(BX)+(SI)+D=1004F
2、H; 超过了段的边界, 最高进位位丢失, 因此 EA=004FH 。3.2试根据以下要求写出相应的汇编语言指令(1) 把 BX 寄存器和DX 寄存器的内容相加,结果存入DX 寄存器中。(2) 用寄存器 BX 和 SI 的基址变址寻址方式把存储器中的一个字节与AL 寄存器的内容相加,并把结果送到AL 寄存器中。(3) 用寄存器BX 和位移量0B2H 的寄存器相对寻址方式把存储器中的一个字和(CX) 相加,并把结果送回存储器中。(4) 用位移量为0524H 的直接寻址方式把存储器中的一个字与数2A59H 相加,并把结果送回存储单元中。(5) 把数 0B5H 与(AL) 相加,并把结果送回AL 中。
3、答: (1) ADD DX, BX (2) ADD AL, BXSI (3) ADD BX+0B2H, CX (4) ADD WORD PTR 0524H, 2A59H (5) ADD AL, 0B5H 3.3写出把首地址为BLOCK 的字数组的第6 个字送到DX 寄存器的指令。 要求使用以下几种寻址方式:(1) 寄存器间接寻址(2) 寄存器相对寻址(3) 基址变址寻址答: (1) MOV BX, OFFSET BLOCK ADD BX, (6 1)*2 MOV DX, BX (2) MOV BX, OFFSET BLOCK 改为:MOV BX, (6-1)*2 MOV DX, BX+(6 1
4、)*2 也可MOV DX, BLOCKBX (3) MOV BX, OFFSET BLOCK MOV SI, (6 1)*2 MOV DX, BXSI 名师资料总结 - - -精品资料欢迎下载 - - - - - - - - - - - - - - - - - - 名师精心整理 - - - - - - - 第 1 页,共 41 页 - - - - - - - - - 3.4现 有 (DS)=2000H , (BX)=0100H , (SI)=0002H , (20100H)=12H , (20101H)=34H ,(20102H)=56H , (20103H)=78H , (21200H)=2
5、AH , (21201H)=4CH , (21202H)=B7H ,(21203H)=65H , 试说明下列各条指令执行完后AX 寄存器的内容。(1) MOV AX, 1200H (2) MOV AX, BX (3) MOV AX, 1200H (4) MOV AX, BX (5) MOV AX, 1100BX (6) MOV AX, BXSI (7) MOV AX, 1100BXSI 答: (1) (AX)=1200H (2) (AX)=0100H (3) (AX)=4C2AH (4) (AX)=3412H (5) (AX)=4C2AH (6) (AX)=7856H (7) (AX)=65B
6、7H 3.5给 定 (IP)=2BC0H , (CS)=0200H , 位 移 量 D=5119H , (BX)=1200H , (DS)=212AH ,(224A0H)=0600H ,(275B9H)=098AH ,试为以下的转移指令找出转移的偏移地址。(1) 段内直接寻址(2) 使用 BX 及寄存器间接寻址方式的段内间接寻址(3) 使用 BX 及寄存器相对寻址方式的段内间接寻址答: (1) JMP NEAR PTR 5119H ; (IP)=5119H+(IP)+03H)=7CDCH, 物 理 地 址PA=09CDCH (IP)+03H 是 JMP NEAR PTR 5119H 指令的下一
7、条指令的首地址。(2) JMP WORD PTR BX ;(IP)=(DS)*10H+(BX)=0600H,PA=02600H (3) JMP DBX ;(IP)=(DS)*10H+(BX)+D)=098AH,PA=0298AH 3.6设当前数据段寄存器的内容为1B00H,在数据段的偏移地址2000H 单元内,含有一个内容为 0FF10H 和 8000H 的指针,它们是一个16 位变量的偏移地址和段地址,试写出把该变量装入AX 的指令序列,并画图表示出来。答: MOV BX, 2000H ;图示如上所示。MOV AX, 2000H+2 MOV ES, AX MOV AX, ES:BX 3.7在
8、 0624H 单元内有一条二字节JMP SHORT OBJ 指令,如其中位移量为(1) 27H,(2) 6BH,(3) 0C6H ,试问转向地址OBJ 的值是多少?答: (1) OBJ=0624H+02H+27H=064DH (2) OBJ=0624H+02H+6BH=0691H (3) OBJ=0624H+02H+0C6H=05ECH ;C6H 对应的负数为-3AH (向上转移,负位移量)3.8假定 (DS)=2000H ,(ES)=2100H ,(SS)=1500H,(SI)=00A0H ,(BX)=0100H ,(BP)=0010H ,数据段中变量名VAL 的偏移地址为0050H,试指出
9、下列源操作数字段的寻址方式是什FFH 00H 80H 3.6 题的作图表示10H 1B00:2000H 1B00:2001H 1B00:2002H 1B00:2003H 8000:FF10H 8000:FF11H ? (AL) ? (AH) MOV BX, 2000H LES BX, BX MOV AX, ES :BX 名师资料总结 - - -精品资料欢迎下载 - - - - - - - - - - - - - - - - - - 名师精心整理 - - - - - - - 第 2 页,共 41 页 - - - - - - - - - 么?其物理地址值是多少?(1) MOV AX, 0ABH (
10、2) MOV AX, BX (3) MOV AX, 100H (4) MOV AX, V AL (5) MOV AX, BX (6) MOV AX, ES:BX (7) MOV AX, BP (8) MOV AX, SI (9) MOV AX, BX+10 (10) MOV AX, V ALBX (11) MOV AX, BXSI (12) MOV AX, V ALBXSI 答: (1) 立即方式;操作数在本条指令中(2) 寄存器寻址方式;操作数为(BX)=0100H (3) 直接寻址方式;PA=20100H (4) 直接寻址方式;PA=20050H (5) BX 寄存器间接寻址方式;PA=2
11、0100H (6) 附加段 BX 寄存器间接寻址方式;PA=21100H (7) BP 寄存器间接寻址方式;PA=15010H (8) SI 寄存器间接寻址方式;PA=200A0H (9) BX 寄存器相对寻址方式;PA=20110H (10) BX 寄存器相对寻址方式;PA=20150H (11) BX 和 SI 寄存器基址变址寻址方式;PA=201A0H (12) BX 和 SI 寄存器相对基址变址寻址方式; PA=201F0H 3.9在 ARRAY 数组中依次存储了七个字数据,紧接着是名为ZERO 的字单元,表示如下:ARRAY DW 23, 36, 2, 100, 32000, 54,
12、 0 ZERO DW ? (1) 如果 BX 包含数组ARRAY 的初始地址,请编写指令将数据0 传送给 ZERO 单元。(2) 如果 BX 包含数据0 在数组中的位移量,请编写指令将数据0 传送给 ZERO 单元。答: (1) MOV AX, BX+(7-1)*2 MOV BX+(7)*2, AX (2) MOV AX, ARRAY BX MOV ARRAY BX+2, AX 3.10 如 TABLE 为数据段中0032 单元的符号名,其中存放的内容为1234H,试问以下两条指令有什么区别?指令执行完后AX 寄存器的内容是什么?MOV AX, TABLE LEA AX, TABLE 答: M
13、OV AX, TABLE 是将 TABLE 单元的内容送到AX,(AX)=1234H LEA AX,TABLE是将 TABLE 单元的有效地址送到AX ,(AX)=0032H 3.11 执行下列指令后AX 寄存器中的内容是什么?TABLE DW 10, 20, 30, 40, 50 ;000AH, 0014H, 001EH, 0028H, 0032H ENTRY DW 3 MOV BX, OFFSET TABLE ADD BX, ENTRY MOV AX, BX 答: (AX)=1E00H (TABLE 的存储方式如右图所示) 3.12 下列 ASCII 码串 (包括空格符 )依次存储在起始地
14、址为CSTRING 的字节单元中:0AH 00H 14H 00H 1EH 00H 28H 00H 32H 00H TABLE TABLE+3 3.11题的 TABLE存储方式名师资料总结 - - -精品资料欢迎下载 - - - - - - - - - - - - - - - - - - 名师精心整理 - - - - - - - 第 3 页,共 41 页 - - - - - - - - - CSTRING DB ,BASED ADDRESSING ?请编写指令将字符串中的第1 个和第 7 个字符传送给DX 寄存器。答: MOV DH, CSTRING MOV DL, CSTRING+7-1 3.
15、13 已知堆栈段寄存器SS 的内容是 0FFA0H,堆栈指针寄存器SP 的内容是00B0H,先执行两条把8057H 和 0F79H 分别进栈的PUSH 指令,再执行一条POP 指令。试画出堆栈区和 SP 的内容变化过程示意图(标出存储单元的物理地址)。答:堆栈区和SP 的内容变化过程示意图如下左图所示。3.14 设(DS)=1B00H ,(ES)=2B00H ,有关存储单元的内容如上右图所示。请写出两条指令把字变量 X 装入 AX 寄存器。答: MOV BX, 2000H MOV AX, ES:BX 3.15 求出以下各十六进制数与十六进制数62A0H 之和,并根据结果设置标志位SF、ZF、C
16、F 和 OF 的值。(1) 1234H (2) 4321H (3) CFA0H (4) 9D60H 答: (1) 和为 74D4H;SF=0,ZF=0,CF=0,OF=0 (2) 和为 A5C1H;SF=1,ZF=0, CF=0,OF=1 (3) 和为 3240H; SF=0,ZF=0,CF=1,OF=0 (4) 和为 0000H; SF=0,ZF=1,CF=1,OF=0 3.16 求出以下各十六进制数与十六进制数4AE0H 的差值,并根据结果设置标志位SF、ZF、CF 和 OF 的值。(1) 1234H (2) 5D90H (3) 9090H (4) EA04H 答: (1) 差为 C754
17、H;SF=1, ZF=0,CF=1,OF=0 (2) 差为 12B0H;SF=0,ZF=0,CF=0,OF=0 (3) 差为 45B0H;SF=0,ZF=0,CF=0,OF=1 (4) 差为 9F24H;SF=1,ZF=0,CF=0,OF=0 3.17 写出执行以下计算的指令序列,其中X、Y、Z、R、W 均为存放16 位带符号数单元的地址。(1) Z W+(Z-X) (2) ZW-(X+6)-(R+9) (3) Z (W*X)/(Y+6),R余数(4) Z(W-X)/5*Y)*2 答: (1) MOV AX, Z ;以下程序都未考虑带符号数的溢出SUB AX, X ADD AX, W 79H
18、0FH 57H 80H FFAACH FFAB0H 3.13 题的堆栈区和SP 的内容变化过程示意图FFAAEH 首次进栈 (SP)(SP)-2 再次进栈 (SP)(SP)-2 出栈时 (SP)(SP)+2 8000H 1B00:2000 3.14 题的存储区情况2B00H X 1B00:2002 2B00:8000 名师资料总结 - - -精品资料欢迎下载 - - - - - - - - - - - - - - - - - - 名师精心整理 - - - - - - - 第 4 页,共 41 页 - - - - - - - - - MOV Z, AX (2) MOV BX, X ADD BX,
19、 6 MOV CX, R ADD CR, 9 MOV AX, W SUB AX, BX SUB AX, CX MOV Z, AX (3) ADD Y, 6 MOV AX, W IMUL X IDIV Y MOV Z, AX MOV R, DX (4) MOV AX, W SUB AX, X CWD MOV BX, 5 IDIV BX IMUL Y SHL AX, 1 ;(DX),(AX)*2 RCL DX, 1 3.18 已知程序段如下:MOV AX, 1234H ;(AX)=1234H ,标志位不变MOV CL, 4 ;(AX) 和标志位都不变ROL AX, CL ; (AX)=2341H
20、,CF=1,SF 和 ZF 不变DEC AX ; (AX)=2340H ,CF=1 不变, SF=0,ZF=0 MOV CX, 4 ;(AX) 和标志位都不变MUL CX ;(AX)=8D00H ,CF=OF=0 ,其它标志无定义INT 20H 试问:(1) 每条指令执行完后,AX 寄存器的内容是什么?(2) 每条指令执行完后,进位、符号和零标志的值是什么?(3) 程序结束时, AX 和 DX 的内容是什么?答: (1) 见注释;(2) 见注释;(3) (AX)=8D00H ,(DX)=0 3.19 下列程序段中的每条指令执行完后,AX 寄存器及CF、SF、ZF 和 OF 的内容是什么?MOV
21、 AX, 0 ; (AX)=0, 标志位不变DEC AX ;(AX)=0FFFFH, CF 不变, SF=1,ZF=0,OF=0 ADD AX, 7FFFH ; (AX)=7FFEH, CF=1,SF=0,ZF=0,OF=0 ADD AX, 2 ; (AX)=8000H, CF=0,SF=1,ZF=0,OF=1 NOT AX ; (AX)=7FFFH, 标志位不变名师资料总结 - - -精品资料欢迎下载 - - - - - - - - - - - - - - - - - - 名师精心整理 - - - - - - - 第 5 页,共 41 页 - - - - - - - - - SUB AX,
22、0FFFFH ; (AX)=8000H, CF=1,SF=1,ZF=0,OF=1 ADD AX, 8000H ; (AX)=0 ,CF=1,SF=0,ZF=1,OF=1 SUB AX, 1 ; (AX)=0FFFFH, CF=1,SF=1,ZF=0,OF=0 AND AX, 58D1H ; (AX)=58D1H, CF=0,SF=0,ZF=0,OF=0 SAL AX, 1 ; (AX)=0B1A2H,CF=0,SF=1,ZF=0,OF=1 SAR AX, 1 ; (AX)=0D8D1H, CF=0,SF=1,ZF=0,OF=0 NEG AX ; (AX)= 272FH, CF=1,SF=0,Z
23、F=0,OF=0 ROR AX, 1 ; (AX)= 9397H,CF=1,SF 和 ZF 不变, OF=1 答:见注释。3.20 变量 DATAX 和变量 DATAY 的定义如下:DATAX DW 0148H DW 2316H DATAY DW 0237H DW 4052H 请按下列要求写出指令序列:(1) DATAX 和 DATAY 两个字数据相加,和存放在DATAY 中。(2) DATAX 和 DATAY 两个双字数据相加,和存放在从DATAY 开始的双字单元中。(3) 解释下列指令的作用:STC MOV BX, DATAX ADC BX, DA TAY (4) DATAX 和 DATA
24、Y 两个字数据相乘(用 MUL) 。(5) DATAX 和 DATAY 两个双字数据相乘(用 MUL) 。(6) DATAX 除以 23(用 DIV) 。(7) DATAX 双字除以字DATAY (用 DIV) 。答: (1) MOV AX, DA TAX ADD DATAY, AX MOV AX, DA TAX+2 ADD DATAY+2, AX (2) MOV AX, DA TAX ADD DATAY, AX MOV AX, DA TAX+2 ADC DATAY+2, AX MOV DATAY+4, 0 ;用于存放进位位ADC DATAY+4, 0 (3) DATAX 和 DATAY 两个
25、字数据之和加1,结果存入BX 寄存器。(4) RESULT1 DW 0 DW 0 RESULT2 DW 0 DW 0 MOV AX, DA TAX MUL DATAY MOV RESULT1 , AX 名师资料总结 - - -精品资料欢迎下载 - - - - - - - - - - - - - - - - - - 名师精心整理 - - - - - - - 第 6 页,共 41 页 - - - - - - - - - MOV RESULT1+2, DX MOV AX, DA TAX+2 MUL DATAY+2 MOV RESULT2 , AX MOV RESULT2+2, DX (5) AADW
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 2022年汇编语言第三五章课后题答案 2022 汇编语言 第三 课后 答案
限制150内