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

汇编语言程序设计习题集111

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

(8) MOV AX,[BX-SI] (9) INC [BX]

(10) MOV 25,[BX]

(11) MOV [8-BX],WORD PTR 25 (12) MOV AL,DATA2[SI] (13) MOV AX,OLA-DATA (14) MOV AX,[BX*7]

(15) MOV AL,BYTE PTR[SI-100H]

24.若数组ARRAY在数据段中已作以下定义 ARRAY DW 100 DUP(?)

试指出下列语句中操作数中的各操作符的作用,指令执行后各寄存器产生了什么变化? MOV BX,OFFSET ARRAY MOV CX,LENGTH ARRAY MOV SI,0

ADD SI,TYPE ARRAY

25. 试分析下列程序段,说明完成了什么操作?

SKEY DB 2

?

START: MOV AL,SKEY

LEA BX,BRATB SHL AL,1 XOR AH,AH ADD BX,AX JMP BX ?

BRATB: JMP SHORT ZERO

JMP SHORT ONE JMP SHORT TWO JMP SHORT THREE ?

26.执行下列程序段前,BUFFER存储区的数据为: DB 1,2,3,4,5,6

请给出执行下面程序段后BUFFER存储区中的数据。 MOV SI,OFFSET BUFFER MOV CX,5 XOR AL,AL AGAIN: SHL [SI],1

INC SYTE PTR[SI] ADD AL,[SI] INC SI LOOP AGAIN MOV [SI],AI HLT

27.判断下列指令或程序是否有错,若有错,请指出错在哪里? (1)K1 EQU 1024

?

MOV K1,AX

(2) MOV DS,100

MOV [1000],[2000]

(3) IMP DB ?

?

MOV IMP,AX

(4) A1 DB ?

A2 DB 10 ?

CMP A1,A2

(5)将1000送入X1单元,用如下程序:

X1 DB ? ?

MOV BX,X1

MOV [BX],1000

28.假设VAR1和VAR2为自变量,LAB为程序中的一个标号,试找出下列指令的错误之处。

(1)ADD VAR1,VAR2 (2)SUB AL,VAR1 (3)JNZ VAR1 (4)JMP LAB[SI] (5)JMP NEAR LAB 26.有符号定义语句如下:

BUFF DB 1,2,3,‘123’

EBUFF DB 0

L EQU EBUFF-BUFF 问L的值为多少?

29.假设程序中的数据定义如下:

LNAME DB 30 DUP(?) ADDRESS DB 30 DUP(?) CITY DB 15 DUP(?) CODE_LIST DB 1,7,8,3,2

(1)用一条MOV指令将LNAME的偏移地址放入BX。

(2)用一条指令将CODE_LIST的头两个字节内容放入SI。

(3)写一条伪指令使CODE_LENTH的值等于CODE_LIST域的实际长度。

30.指出下列伪指令表达方式的错误,并改正之。 (1)STACK_SEG SEGMENT‘STACK’ (2)DATA_SEG SEG

(3)SEGMENT ‘CODE’

(4)MYDATA SEGMENT‘DATA’

? ENDS

(5)MAIN_PROC PROC FAR

?

END MAIN_PROC MAIN_PROC ENDP

31. 指出下列每一对伪指令语句的区别。

(1) X1 DB 76

X2 EQU 76

(2) X1 DW 3548H

X2 EQU BYTE PTR X1

(3) X1 EQU 3

X2=3

(4) X1 DW 3678H

X2 DB 36H,78H

(5) X1 DW 6341H

X2 DW 6341

32. 假设程序中的数据定义如下:

PARTNO DW ?

PNAME DB 16 DUP(?) COUNT DD ?

PLENTH EQU $-PARTNO

问PLENTH的值为多少?它表示什么意义?

四、计算

1.已知x,机器字长为8位,试求 [x]原、[x]反、[x]补?

(1)x = +1001101B (2) x = +0001110B (3) x = -1011001B (4) x = -0100111B

2.已知x及y,试分别计算[x+y]补、[x-y]补,并指出是否产生溢出(设补码均用8位表示)。

(1)x = +1001110, y = +0010110 (2)x = +0101101,y = -1100100 (3)x = -0101110,y = +0111011 (4)x = -1000101,y = -0110011

3.完成下列各式补码数的运算,指出运算结果是否有效。

(1)00101101+10011100 (2)01011101-10111010 (3)70ADH-0B1CEH (4)0A2C0H+1234H

4. 一个16位二进制整数,若采用补码表示,由5个“1”和11个“0”组成,则最小值是多少?最大值是多少?(用十进制数表示)

5.已知(BX)=637DH,(SI)=2A9BH,位移量D=7237H,试确定在以下各种寻址方式下的有效地址是什么?

(1) 立即寻址 (2) 直接寻址

(3) 使用BX的寄存器寻址

(4) 使用BX的寄存器间接寻址 (5) 使用BX的寄存器相对寻址

6.在0624H单元内有一条二字节指令:JMP SHORT OBJ,若其中位移量分别为(1) 27H,(2) 6BH,(3)0C6H,试问转向地址OBJ的值是多少?

7.求出以下各十六进制数与十六进制数62A0H之和,并根据结果设置标志位SF,ZF,CF和OF的值。

(1)1234H (2) 4321H (3) 0CFA0H (4) 9D60H

8.设(DS)=2000H,(BX)=1256H,(SI)=528FH,TABLE=20A1H,(232F7H)=3280H,

(264E5H)=2450H,执行下述指令

(1)JMP BX ;(IP)=? (2) JMP TABLE[BX] ;(IP)=? (3) JMP [BX][SI] ;(IP)=?

9.给定(IP)=2BC0H,(CS)=0200H,位移量D=5119H,(BX)=1200H,(DS)=212AH, (224A0)=0600H,(275B9)=098AH,试为以下的转移指令找出转移的偏移地址。

(1)段内直接寻址。

(2)使用BX及寄存器间接寻址方式的段内间接寻址。 (3)使用BX及寄存器相对寻址方式的段内间接寻址。

10.求出以下各十六进制数与十六进制数4AE0H之差,并根据结果设置标志位SF,ZF,CF和OF的值。

(1)1234H (2) 5D90H (3) 9090H (4) 0EA04H

11. 现有(DS)=2000H,(BX)=0100H,(SI)=0002H,20100H=12H,(20101)=34H,(20102)=56H, (20103)=78H,(21200)=2AH,(21201)=4CH,(21202)=0B7H,(21203)=65H,试说明下列各条指令执行完后AX寄存器的内容。

(1) MOV AX,1200H (2) MOV AX,BX

(3) MOV AX,[1200H] (4) MOV AX,[BX]

(5) MOV AX,1100[BX] (6) MOV AX,[BX][SI]

(7) MOV AX,1100[BX][SI]

12. 已知(DS)=091DH,(SS)=1E4AH,(AX)=1234H,(BX)=0024H,(CX)=5678H,(BP)=0024H, (SI)=0012H,(DI)=0032H,(09226H)=00F6H,(09228)=1E40H,(1EAF6H)=091DH,试求单独执行下列指令后的结果。

(1) MOV CL,20H[BX][SI] ;(CL)=? (2) MOV [BP][DI],CX ;(1E4F6H)=? (3) LEA BX,20H[BX][SI] ;(BX)=?

MOV AX,2[BX] ;(AX)=?

(4) LDS SI,[BX][DI] ;(SI)=?

MOV [SI],BX ;((SI))=?

(5) XCHG CX,32H[BX] ;(CX)=?

XCHG 20[BX][SI],AX ;(AX)=? (09226H)=?

五、应用

1.试根据以下要求写出相应的汇编语言指令。

(1)把BX寄存器和DX寄存器的内容相加,结果存入DX寄存器中。 (2)用寄存器BX和SI的基址变址寻址方式把存储器中的一个字节与AL寄存器的内容相加,并把结果送到AL寄存器中。

(3)用BX寄存器和位移量0B2H的寄存器相对寻址方式把存储器中的一个字和(CX)相加,并把结果送回存储器中。

(4)用位移量0524H的直接寻址方式把存储器中的一个字与数2A59H相加,并把结果送回该存储单元中。

(5)把数0B5H的与(AL)相加,并把结果送回AL中。

2. 不用乘法指令实现(AX)与10的乘法运算。

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