汇编语言例题分析
《汇编语言程序设计》练习题
作者名:不详 来源:网友提供 06年6月8日
一、基本概念
1、8088/8086CPU内部寄存器有______个 ,其中的______是通用寄存器,______是基址和变址寄存器,______是段寄存器,此外还有指令指针寄存器______和标志位寄存器______两个控制寄存器,所有寄存器都是______位寄存器,每个寄存器可以存放______位二进制数。
2、8088/8086CPU的标志位寄存器中有______个标志位,其中的______是控制标志,____________是状态标志。
3、8088/8086CPU有三组总线,它们是______总线 、______总线和______总线;地址总线是______条,因此它可以寻址的范围是______字节。通常将______字节称为1K,将______字节称为1M。
4、8088/8086CPU的存储器采用分段方式管理,每个段最多可以有______字节,全部存储空间可以分成______个大小为64K且互相不重叠的段。
5、采用分段方式管理的存储单元的地址分成______和逻辑地址两种,逻辑地址由______和______两部分构成,段地址是每个存储器段的______;偏移地址则是相对于每个段第一个存储单元的______。段地址存放在段寄存器中,由于8088/8086CPU的段寄存器是16位寄存器,因此在段寄存器中存放的是段地址的______位;而CPU对数据的存取是按物理地址进行的,物理地址和逻辑地址间的关系是____________。
6、存储器中,数据是以______为单位存放的,它是一个______二进制数,16位二进制数是______,又称为______;每个存储单元可以存放一个______;一个字则占用两个存储单元,存放时要将______放在地址较小的存储单元中。
7、计算机的指令由______和______构成,它们分别给出计算机____________和____________。
8、指令操作数通常可以存放在指令中,也可以存放在CPU的寄存器中,大多数存放在存储
器中,它们分别称为______、______和______。表示操作数存放的方式称为______。8088/8086CPU的寻址方式有______、______和______三类,第三类寻址方式又分成______、______、______、______、______和______几种。
9、8088/8086CPU的指令系统分成六大类,它们是______指令、______指令、______指令、______指令、______指令和______指令。
10、汇编语言程序语句构成,汇编语言的语句分成______、______和______三类。语句通常由______、______、______、______四部分构成。
11、指令语句在汇编时被翻译成______指令,指示语句则在汇编时由______执行,而不被翻译成机器语言指令。
12、名字项在指令语句中称为______,它是指令的符号地址;而在指示语句中名字项称为______,它是存储单元的符号地址,它们都有______、______、______三种属性。
13、数据定义伪指令的功能是__________________,通常使
用的数据定义伪指令是____________。
14、符号定义伪指令EQU的功能是______,通常用它定义常数。
15、用汇编语言编写的程序称为____________,它必须用______程序将它转换成二进制的机器语言程序,这种机器语言程序称为______,而转换的过程称为______。它还必须用______程序连接,才能生成可执行的程序。汇编语言程序上机操作的步骤是______、______、______、______。
16、汇编语言源程序的扩展名是______,目标程序的扩展名是______,可执行程序的扩展名是______。
17、下列指令中,执行后对标志未发生影响的是______。
A、MOV AX,[BX] B、PUSH AX C、ADD AX,00FFH
D、CMP AX,BX E、JB NEXT F、CALL SUBB
G、XOR AX,AX H、MOVSB I、LEA DX,BUF
J、TEST AX,8000H K、MUL BX L、DIV BX
M、NOT CX N、LOOP LOP O、XCHG AX,BX
18、按照下列指令中操作数的寻址方式在括号中填入适当的字母:
源操作数 目的操作数
A、MOV AX,1200H ( )( )
B、CMP WORD PRT[SI],120H ( )( )
C、ADD AX,14[BX] ( )( )
D、SUB [BX+DI],CX ( )( )
E、AND BX,BUF ( )( )
F、LEA DI,[SI] ( )( )
G、XOR [BX+SI+3],DX ( )( )
a.立即寻址; b.寄存器寻址; c.直接寻址;
d.寄存器间接寻址; e.寄存器相对寻址; f.基址变址寻址; g.相对基址变址寻址.
19、某存储单元的地址为3A80:13EBH,其中的3A80是______地址,13EB是______地址;该存储单元的物理地址是______。若段地址改变为20D4,则该存储单元的逻辑地址为______。
20、十进制数-100的8位二进制数的补码为( )。
A、11100100 B、01100100 C、10011100 D、11001110
21、下列是8位二进制数的补码,其中真值最大的是( )。
A、10001000 B、11111111 C、00000000 D、00000001
22、16位有符号数的补码所表示的十进制数的范围是( )。
A、-32767~+32768 B、-32768~+32767 C、-65535~+65536 D、0~65535
23、以下指令中,执行后AL中的数据不变的是( )。
A、AND AL,CL B、OR AL,AL C、XOR AL,AL D、CMP AL,AL
E、ADD AL,0 F、AND AL,0FFH 
G、XOR AL,0FFH H、OR AL,0FFH
24、下列指令中,执行后,不改变标志位CF的是( )。
A、NOT AL B、AND AL,AL C、SAL AL,1 D、MUL AL
E、MOVSB F、INC AL G、POP AX H、POPF
25、下列指令中,执行后,不改变标志位ZF的是( )。
A、CMP AL,BL B、AND AL,AL C、TEST AL,0FFH D、ROR AL,CL
26、执行指令CALL SUBB时,所要保护的断点在______寄存器中,而执行指令CALL FAR PTR SUBB时,所要保护的断点在____________寄存器中。
二、根据给定的条件写出指令或指令序列:
1、将一个字节的立即数送到地址为NUM的存储单元中。
2、将一个8位立即数与地址为BUF的存储单元内容相加。
3、将地址为ARRAY的存储单元中的字数据循环右移一位。
4、将16位立即数与地址为MEM的存储单元中的数比较。
5、测试地址为BUFFER的字数据的符号位。
6、将AX寄存器及CF标志位同时清零。
7、用直接寻址方式将首地址为ARRAY的字数组中第5个数送往寄存器BX中。
指示汇编程序如何汇编的指令8、用寄存器寻址方式将首地址为ARRAY的字数组中第5个数送往寄存器BX中。
9、用相对寻址方式将首地址为ARRAY的字数组中第8个数送往寄存器BX中。
10、用基址变址寻址方式将首地址为ARRAY的字数组中第N个数送往寄存器BX中。
11、将首地址为BCD_BUF存储单元中的两个压缩BCD码相加,和送到第三个存储单元中。
三、按照给定的条件为程序定义一个数据段,并画出存储单元的示意图:

版权声明:本站内容均来自互联网,仅供演示用,请勿用于商业和其他非法用途。如果侵犯了您的权益请与我们联系QQ:729038198,我们将在24小时内删除。