1.1、汇编语言的主要特点有哪些?
(1)机器相关性。它是一种面向机器的低级语言,跟CPU、硬件联系紧密,通常是为特定的计算机或系列计算机专门设计的。
(2)高速度和高效率。它能直接和简捷的访问、控制计算机的各种硬件设备,如磁盘、存储器、CPU、I/O端口等,且占用内存少,执行速度快,是高效的程序设计语言。
(3)编写和调试的复杂性。由于它是直接控制硬件,且简单的任务也需要很多汇编语言语句,因此在程序调试时,一旦程序的运行出了问题,就很难发现。
1.2、汇编语言适用于哪些领域,在哪些领域使用不太方便?
适用的领域 |
要求执行效率高、反应快的领域,如:操作系统内核,工业控制,实时系统等; |
系统性能的瓶颈,或频繁被使用子程序或程序段,如操作系统的核心部分; |
与硬件资源密切相关的软件开发,如:设备驱动程序等; |
受存储容量限制的应用领域,如:家用电器的计算机控制功能等; |
没有适当的高级语言开发环境。 |
不宜使用的领域 |
大型软件的整体开发; |
没有特殊要求的一般应用系统的开发等。 |
1.3、在汇编语言中,如何表示二进制、八进制、十进制和十六进制的数值?
二进制,后面加B : 10011010010B
八进制,后面加Q : 2322Q
十进制,后面加D : 1234D
十六进制,后面加H : 4D2H
1.4、在计算机中,如何表示正、负数?在保持数值大小不变的情况下,如何把位数少的二进制数值扩展成位数较多的二进制数值?
正负数表示:最高位为符号位,0表示正,1表示负;正数为数值本身,负数为负数绝对值按位取反,末位加一。
正数位数扩展:高位用0补充,如:00001010->00000000 00001010
负数位数扩展:高位用1补充,如:10010101->11111111 10010101
1.5、在ASCII表,字符'0'~'9'与数值0~9之间编码规律是什么?大写字母和小写字母之间的编码规律是什么?
字符'0'~'9'是连续编码的,其编码的高三位为011,低4位就是该字符在十进制中的数值;
小写字母的编码比大写字母的编码大,对应字母的编码之间相差20H。
1.6、汇编语言中的基本数据类型有哪些?它与高级程序设计语言(如:C语言)中的数据类型的对应关系是什么?
基本数据类型有: 字节、字、双字、四字,字符串
一个字节八位二进制组成,一个字包含两个字节,字符串由若干个字节组成的。
2.1、在16位CPU中,有哪些8位寄存器、16位寄存器?哪些16位寄存器可分为二个8位寄存器来使用?
a、八位寄存器:AL,AH,BL,BH,CL,CH,DL,DH
b、十六位寄存器:AX,BX,CX,DX,CS,DS,ES,SS,SP,BP,SI,DI,IP,Flags
c、AX,BX,CX,DX
2.2、和16位CPU相比,在32位CPU中,扩展了哪些寄存器?哪些寄存器的位数没变?所增加的寄存器是什么?
扩展的寄存器:EAX,EBX,ECX,EDX,EIP,ESI,EDI,ESP,EBP,EFlags
寄存器的位数没变:CS,ES,DS,SS
增加的寄存器:FS,GS
2.3、简述各通用寄存器的主要功能?
寄存器的分类 | 寄存器 | 主 要 用 途 |
|
通 用 寄 存 器 |
数据
寄存器 |
AX | 乘、除运算,字的输入输出,中间结果的缓存 |
AL | 字节的乘、除运算,字节的输入输出,十进制算术运算 |
||
AH | 字节的乘、除运算,存放中断的功能号 |
||
BX | 存储器指针 |
||
CX | 串操作、循环控制的计数器 |
||
CL | 移位操作的计数器 |
||
DX | 字的乘、除运算,间接的输入输出 |
||
变址 寄存器 |
SI | 存储器指针、串指令中的源操作数指针 |
|