(1)、什么叫指令?什么叫指令系统?8088指令系统有哪几种类型指令?
- 指令是CPU执行某种操作的命令。
- CPU全部指令的集合称为指令系统。
- 8088的指令类型有传送类、算术运算类、逻辑运算类、转移和调用指令等。
(2)、什么叫寻址方式?8088指令系统有哪几种寻址方式?
- 寻址方式是指CPU获取操作数的方式。
- 寻址方式的种类:立即数寻址、寄存器寻址、内存操作数寻址
(3)、何为汇编语言程序?何为汇编程序?简述汇编程序的功能。
- 汇编语言程序是指由汇编语言指令编写的程序。
- 汇编程序是用来对汇编语言源程序进行汇编的程序。
- 汇编程序的功能:其功能是对汇编语言程序进行翻译,生成扩展名为OBJ的目标文件,如果源程序有语法错误汇编后不会产生目标文件,并且给出错误信息。
(4)、什么是变量?变量有哪几种属性?程序中如何访问变量?
- 变量代表内存操作数的存储地址,或者说变量名代表某个存储单元,通常定义在数据段、堆栈段或者附加段。
- 变量的属性:段属性、偏移属性、类型属性。
- 程序中通过变量名来访问变量。
(5)、什么是标号?标号有哪几种属性?
- 标号代表指令地址,它为转移指令提供了转移目标
- 标号的属性:段属性、偏移属性、类型属性。
(6)、80x86汇编语言中有哪几种运算符?
数值运算符,修改属性运算符,返回属性或数值运算符,方括号运算符和地址表达式。
(7)、80x86汇编语言程序中段的类型有哪几种?段定义中定位类型、组合类型和类别名各有什么作用?
- 常用的段有代码段,数据段,堆栈段和附加段。
- 定位类型:通知链接程序,逻辑段的目标代码在存储器中如何存放。
- 组合类型:通知链接程序如何将不同模块中的同名逻辑段组合成一个段。
- 类别名:表示逻辑段的类别。
(8)、说明80486两类标志各自的作用是什么?
- 状态标志位:表示前面的操作执行后,算数逻辑部件处在怎样一种状态,这种状态会像某种先决条件一样影响后面的操作。状态标志位有
AF ,CF ,OF ,SF ,PF ,ZF
。 - 控制标志位:每一个控制标志都对某一种特定的功能起控制作用。控制标志位有
DF ,IF, TF
。
(9)、试述MOV AX ,OFFSET VAR
和LEA AX ,VAR
两条语句的异同点。
- 相同点:这两条指令都是获取
VAR
的偏移地址。 - 不同点:传送指令
MOV AX ,OFFSET VAR
是在汇编阶段有汇编程序计算出偏移地址;而LEA AX ,VAR
是在处理器执行该指令时再计算偏移地址。
(10)、循环结构程序具有哪三个组成部分?各自的作用是什么?
- 循环初值:用于设置开始循环时,循环体所处的初始状态,如循环变量初值,循环体中用到的数据和地址指针等。
- 循环体:重复执行的部分,其中包括工作部分和循环控制部分。工作部分进行相应的操作,而循环控制部分则保证在不满足循环条件时退出循环。
- 循环结束条件:在循环体中包括了循环结束条件运算部分。每循环一次除了工作部分进行相应的操作外,循环条件部分还要通过运算,得出当前循环的状态,以便在适当的条件下结束循环。
(11)、比较宏指令和子程序,它们有何异同?它们的本质区别是什么?
- 相同点:宏指令和子程序都是用来处理在编程过程中多次使用的功能程序的方法,二者都能简化源程序。
- 不同点:
- 宏调用通过宏指令名进行,汇编时,汇编程序用宏体取代宏指令名,即随时调用随时展开,便不能简化目标程序和节省内存空间;子程序调用是在程序执行期间执行
CALL
指令,代码只在目标程序中出现一次,所以也简化了目标程序并节省了内存空间。 - 宏调用的参数由汇编程序通过形参转换成实参的方式传递,具有很大的灵活性。宏定义中允许设置若干形式参数代替数值、指令、寄存器、各种字符串等。宏调用时可用程序所需要的实际参数来替换,使编程成员感觉非常灵活;而子程序的参数传递要麻烦得多。
- 宏调用在汇编时完成,不需要额外的时间开销;子程序调用和子程序返回都需要执行若干指令实现,需要额外的时间,还涉及堆栈操作。