《汇编语言》习题大全

《汇编语言》习题大全

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

一、 填空:(15分)

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

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

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

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

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

二、 计算题:(25

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

1 4F 22B

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

00010101+00001101=

00111110+00101001=

0001111100000101=

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

00010011 00111111

4、 求下列各数与62A0H的和,并根据结果设置标志位SFZFCFOF

(1)4321H (2)9D60H

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

135490075 21FE000EA

三、 简答题:(20

1、 如果一个堆栈从地址12500000开始,它的最后一个字的偏移地址为0100HSP的内容为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 AX0ABH

(2)MOV AXBX

(3)MOV AX[100H]

(4)MOV AXVAL

(5)MOV AX[BX]

(6)MOV AXES[BX]

(7)MOV AX[BP]

(8)MOV AX[BX+10]

(9)MOV AX[BX][SI]

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

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

(1)MOV AHBX

(2)MOV [BX][SI]

(3)MOV AX[SI][DI]

(4)MOV MYDAT [BX][SI]ESAX

(5)MOV BYTE PTR[BX]1000

(6)MOV BXOFFSET MYDAT [SI]

(7)MOV CSAX

(8)MOV DSBP

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

(1)SHR DX1

(2)SAR DXCL

(3)SHL DL1

(4)ROR DLCL

(5)RCR DL1

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

1、 程序段如下:

MOV AX1234H

MOV CL4

ROL AXCL

DEC AX

MOV CX4

MUL CX

INT 20H

试问:

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

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

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

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

A SEGMENT

NUM DB 00111001B

BUF DB 0AH0DH,‘(NUM=

BUF1 DB 4 DUP 0