第一范文网 - 专业文章范例文档资料分享平台

刘臣奇主编-汇编语言程序设计-课外练习题参考答案

来源:用户分享 时间:2025/7/9 16:52:32 本文由loading 分享 下载这篇文档手机版
说明:文章内容仅供预览,部分内容可能不全,需要完整文档或者需要复制内容,请下载word后使用。下载word有问题请添加微信号:xxxxxxx或QQ:xxxxxx 处理(尽可能给您提供完整文档),感谢您的支持与谅解。

2.设有以下程序段,求执行完此程序段后AL寄存器中的内容。(12H)

ABC EQU

DATA1 DB DATA2 DW

┆ MOV ① ② ③ ④

2 20H 1234H

AL,DATA1+ABC MOV MOV MOV MOV MOV LEA MOV

AX,1234H AX,[1234H] AX,TABLE AX,TABLE AX,TALBE AX,BX

AX←1234H AX←1234H的地址 AX←TABLE的数据 AX←TABLE的数据 AX←TABLE的地址 AX←BX的内容

3.下列每组指令有何区别?

AX,[TABLE] AX←TABLE的地址

MOV AX,[BX] AX←BX的地址

4.写一指令序列,将3456H装入DS寄存器。

MOV

AX,3456H

MOV DS,AX

5.不可以从堆栈向哪个段寄存器弹出数据?

答:CS

6.若(SS)=2000H,(SP)=000AH,先执行将字数据1234H和5678H压入堆栈的操作,再执行弹出一个字数据的操作,试画出堆栈区及SP的内容变化过程示意图(标出存储单元的物理地址)。

内容 堆栈地址 内容 堆栈地址 内容 堆栈地址

执行前SP? 20006H 20007H 20008H 20009H 2000AH 执行后SP? 78H

56H 34H 12H 20006H 20007H 20008H 20009H 2000AH

78H 56H 最后SP? 34H 12H 20006H 20007H 20008H 20009H 2000AH

7.在8086∕8088微处理器中,PUSH和POP指令在堆栈与寄存器或存储单元之间传送数据时,一次总是传送多少字节? 答:2字节。

8.解释XLAT指令是怎样转换AL寄存器中的内容的。并编写一段程序用XLAT指令将BCD码的0~9转换成对应的ASCII,并将ASCII存入数组ARRAY中。

答:XLAT指令是通过AL寄存器加上BX寄存器联合组成的寻址方式找到目标地址后,将内容传送到AL寄存器中。程序如下: .MODEL SMALL .STACK

.DATA

BCD DB -7

BCD2ASCTAB DB 30H,31H,32H,33H,34H,35H,36H,37H,38H,39H

ARRAY

.CODE .STARTUP

MOV LEA XLAT

MOV

.EXIT 0

DB ?

AL,BCD BX,BCD2ASCTAB ARRAY,AL

END

9.下列ASCII字符串(包括空格符)依次存储在首地址为CSTRING的字节单元中: CSTRING DB ‘BASED ADDRESSING’

请编写指令将字符串中的第一个和第七个字符传送给DX寄存器。

MOV

DL,CSTRING

MOV DH,CSTRING+7

10.请编写指令将BX寄存器初始化为变量MYDAT的偏移地址。 MOV BX,OFFSET MYDAT或LEA BX,MYDAT 11.将变量名TABL的段地址送AX的指令是什么?

MOV AX,SEG TABL

12.设MEM是数据段中0A00H单元的符号名,其中存放的内容为0B0CH,以下各指令语句的执行结果是什么?

①MOV AX,MEM 答: ②LEA BX,MEM

三、程序分析题

1. A DW 1234H

B DW

┆ PUSH A PUSH B POP POP 试回答:

A B

5678H

0B0CH 0A00H

①上述程序段执行后(A)=5678H,(B)=1234H ②执行前SP=200H,执行后SP=200H

四、判断题(判断每题正误,对的在题后括号内划 “√”,错的划“×”)

1.MOV

2.MOV 3.IN 4.POPF 5.POP

ES,BX CS,BX AL,DX AX 1234

(√) (×) (√) (×) (×) (√) (√) (×)

6.PUSH A(A为字节单元) 7.执行LEA BX,TABLE与执行MOV BX,OFFSET TABLE效果一样 8.当执行LAHF和SHAF两条指令后,标志位不改变

第五章课外练习题

一、单项选择题:

1.假定AX的内容为-32768,在执行了指令NEG AH后,标志位(SF,OF)为( D )

(A)0,0 (B)0,1 (C)1,0 (D)1,1 2.已知AL,BX为带符号数,计算AL×BX的乘积,使用下述程序段( D ) (A) MOV AH,0

(B) (C) (D)

MUL BX MOV AH,-1 IMUL BX MOV AH,0 IMUL BX CBW IMUL

BX

3.已知AL,BX为无符号数,计算AL×BX的乘积,使用下述程序段( C )

(A)MUL BX (B)IMUL BX (C) MOV AH,0(D)CBW

MUL BX MUL BX

4.当执行指令ADD AX,BX后,若AX的内容为2BA0H,设置的奇偶标志位PF=1,下面的叙述正确的是( A )

(A)表示结果中含1的个数为偶数 (B)表示结果中含1的个数为奇数

(C)表示该数为偶数

(D)表示结果中低八位含1的个数为偶数

5.设AH=0,AL=06H,BL=09H,执行下列两条指令之后,其结果应是( A )

ADD AL,BL

AAA

(A)AH=01,AL=05

(B)AH=1, AL=15

(C)AH=0 ,AL=0FH (D)AH=0, AL=05

6.设AL=0B4H,BL=11H,指令“MUL BL”和指令“IMUL BL”分别执行后OF,CF的值为( B )

(A)OF=1,CF=0 (C)OF=0,CF=0

(B)OF=1,CF=1 (D)OF=0,CF=1

7.当执行完下列两条指令后,标志位CF和SF的值为( D )

MOV AL,0C4H ADD AL,9DH

(A)0,0

(B)1,1

(C)0,1

(D)1,0

二、判断题(判断每题正误,对的在题后括号内划 “√”,错的划“×”)

1.ADD [SI], [BX] ( × )

2.ADD 3.ADD 4.ADD 5.ADD 6.INC 7.SUB 8.DEC

AX, AX, [SI], ES, [BX]

100 BL 100 BX

( √ ) ( × ) ( × ) ( × ) ( × )

BYTE PTR [SI],1 ( × ) [BX],1 ( × )

三、指出下列指令中的错误,并写出与该条指令意义相近的所有可能的正确指令。

1.ADD BH, AX

(类型错误。改正:ADD BX,AX) 2.SUB 100H,AX

(立即数不可做目标操作数。改正:SUB AX,100H) 3.MOV DS, 100H

(立即数不可以直接向段寄存器送数。改正:MOV AX,100H和MOV DS,AX) 4.MOV [DI], [100H] (两个操作数不可以同时是存储器中的数。改正:MOV AX,[100H]和MOV [DI],AX) 5.INC 100H (立即数不可做目标操作数。改正:MOV AX,100H和INC AX) 6.MOV AL, ARRAY [BX][BP]

(没有此寻址方式。改正:MOV AL,ARRAY [BX][SI]) 7.ADD [BX],[SI]

(两个操作数不可以同时是存储器中的数。改正:MOV AX,[SI]和ADD [BX],AX) 四、填空题

1.当执行MUL BX指令后,乘积的高半部分在(DX)中,低半部分在(AX)中。

2.当执行DIV BX指令后,被除数在(DX,AX)中,所得商在(AX)中,余数在(DX)中。 3.已知AL, BL中数据为无符号数,若求AL∕BL的商,应使用指令序列为: (MOV AH,0)和(DIV BL)。

4.已知AL, BL中数据为带符号数,若求AL∕BL的商,应使用指令序列为: (CBW ) 和( IDIV )。

5.用一条语句实现AX的内容加1,要求不影响CF(INC AX )

6.将AX的内容,减去0520H,和上次运算的借位,选用(SBB AX,0520H)指令 7.在SUB AX,BX指令执行后,CF=1,说明: ①最高有效位(有借位)。

②对(无符号)数,操作结果溢出。

五、简答题

1.写一指令序列,完成将存于AX、BX中的压缩BCD数加到存于CX、DX中的8位BCD数上的操作。

PUSH MOV ADD DAA MOV MOV ADC DAA MOV POP MOV ADC DAA

DL,AL AL,BH AL,DH DH,AL BX

AL,BL AL,CL AX AL,BL AL,DL

刘臣奇主编-汇编语言程序设计-课外练习题参考答案.doc 将本文的Word文档下载到电脑,方便复制、编辑、收藏和打印
本文链接:https://www.diyifanwen.net/c3qvy95hsr620sz53255e_3.html(转载请注明文章来源)
热门推荐
Copyright © 2012-2023 第一范文网 版权所有 免责声明 | 联系我们
声明 :本网站尊重并保护知识产权,根据《信息网络传播权保护条例》,如果我们转载的作品侵犯了您的权利,请在一个月内通知我们,我们会及时删除。
客服QQ:xxxxxx 邮箱:xxxxxx@qq.com
渝ICP备2023013149号
Top