《汇编语言》习题大全

《汇编语言》习题大全

《汇编语言程序设计》测试题

一、 填空:(15分)

1、计算机语言指令包括: , 。

2、数据寄存器组包括AX,BX,CX,DX ,其中AX称 ,BX称为 ,CX 称 ,DX 称 。四个段寄存器分别是 ,IP寄存器中存放的是 。

4、数据的传送的基本单位分为三种字节、字、双字,其中一个整数字节的表示范围是 ,一个整数字的表示范围是

。

5、堆栈是 的存储结构, 作为堆栈的栈顶指针寄存器使用。

6、DEBUG 中包括了若干条命令,其中U命令的功能是 ,D命令的功能是 ,查看寄存器内容的命令是 .

二、 计算题:(25)

1、 下列各数均为用16进制表示的8位二进制数,请说明当它们分别被看作是用补码表示的数或字符的ASCII码时,它们所表示的十进制数和字符是什么?

(1) 4F (2)2B

2、 完成下列二进制数的计算:

00010101+00001101=

00111110+00101001=

00011111—00000101=

3、 求下列二进制数的补码:

—00010011 —00111111

4、 求下列各数与62A0H的和,并根据结果设置标志位SF、ZF、CF、OF:

(1)4321H (2)9D60H

5、 写出下列存储单元地址的段地址、偏移地址和物理地址:

(1)3549:0075 (2)1FE0:00EA

三、 简答题:(20)

1、 如果一个堆栈从地址1250:0000开始,它的最后一个字的偏移地址为0100H,SP的内容为0052H:

问:(1)栈顶地址是多少?

(2)栈底地址是多少?

(3)在SS中的段地址是多少?

(4)存入数据83A0H后,SP的内容是多少?

2、 假定(DS)=2000H,(ES)=2100H,(SS)=1500H,(BX)=0100H,(SI)=00A0H,(BP)=0010H,数据变量VAL的偏移地址为0050H,请指出下列指令的源操作数字段是什么寻址方式?它的物理地址是多少?

(1)MOV AX,0ABH

(2)MOV AX,BX

(3)MOV AX,[100H]

(4)MOV AX,VAL

(5)MOV AX,[BX]

(6)MOV AX,ES:[BX]

(7)MOV AX,[BP]

(8)MOV AX,[BX+10]

(9)MOV AX,[BX][SI]

(10) MOV AX,[BX][SI]10

3、 指出下列指令中的错误:

(1)MOV AH,BX

(2)MOV [BX],[SI]

(3)MOV AX,[SI][DI]

(4)MOV MYDAT [BX][SI],ES:AX

(5)MOV BYTE PTR[BX],1000

(6)MOV BX,OFFSET MYDAT [SI]

(7)MOV CS,AX

(8)MOV DS,BP

4、 假定(DX)=10111001B,(CL)=03,(CF)=1,确定下列各条指令单独执行后,DX中的值。

(1)SHR DX,1

(2)SAR DX,CL

(3)SHL DL,1

(4)ROR DL,CL

(5)RCR DL,1

四、 阅读下列程序段,说明完成什么工作?(15)

1、 程序段如下:

MOV AX,1234H

MOV CL,4

ROL AX,CL

DEC AX

MOV CX,4

MUL CX

INT 20H

试问:

(1)每条指令执行完后,AX寄存器内容是什么?

(2)每条指令执行完后,CF,ZF,SF的值是什么?

(3)程序结束时,AX,DX的内容是什么?

2、 读下列程序,并指出此程序执行结束后,显示器所显示的内容:

A SEGMENT

NUM DB 00111001B

BUF DB 0AH,0DH,‘(NUM)=’

BUF1 DB 4 DUP (0