8086汇编语言复习重点与试题解析

需积分: 10 15 下载量 95 浏览量 更新于2024-09-12 1 收藏 90KB DOC 举报
"广东海洋大学2014年汇编期末复习资料,包含往届试题" 这份复习资料主要涵盖了汇编语言的基础知识和编程实践,适用于准备汇编语言考试的学生。以下是相关知识点的详细说明: 1. **汇编语言源程序结构**: - 源程序通常包括数据段(用于存储数据)、代码段(存放可执行代码)和堆栈段(处理程序调用和临时数据)。根据题目描述,汇编语言源程序不一定必须包含堆栈段,但至少需要数据段和代码段。 2. **程序开发流程**: - 汇编语言程序的开发一般包括编写源程序、编译、链接和调试四个步骤。按照题目中的顺序是:用文字编辑程序编写源程序 -> MASM宏汇编程序编译成目标程序 -> 使用DEBUG程序调试程序 -> 最后用连接程序LINK连接生成可执行文件。 3. **汇编程序和文件类型**: - MASM汇编程序(如MASM.EXE)编译的对象是汇编语言源代码(.ASM文件),编译后会产生目标程序(.OBJ文件)。 - 目标程序进一步通过链接程序(如LINK)链接成可执行程序(.EXE文件)。 4. **DEBUG工具**: - DEBUG程序是用于调试汇编程序的工具,其中`DB`命令用于设置内存单元的值,`RC`用于读取内存,`AD`用于查看内存单元内容,`UD`用于查看寄存器内容,而`A`则用于执行单条指令。 5. **CPU特性**: - 8086CPU具有16位的数据总线宽度和20位的地址总线宽度,分别决定了它可以一次性处理16位数据和最多寻址1MB(2^20字节)的内存。 6. **寻址能力与地址总线宽度**: - 如果CPU的寻址能力为32KB(即2^15字节),则其地址总线宽度为15位。 7. **汇编语言伪指令**: - 定义段的伪指令是`.SEGMENT`或`.DATA`(对应于结束语句 `.ENDS`);定义宏的伪指令是`.MACRO`(对应于`.ENDM`)。 - `REPT…ENDM` 用于重复代码块,`PROC…ENDP` 用于定义过程。 8. **循环指令**: - 在给出的程序段中,使用了`LOOP`指令来实现循环,等价的指令序列可能是使用`REP`前缀的字符串操作指令,如`REPMOVS`(复制内存字节)或`REPSTOS`(存储字节到内存)。 9. **堆栈操作**: - `PUSH`指令将数据压入堆栈,使SP减小;`POP`指令将堆栈顶部数据弹出,使SP增大。因此,执行`PUSH AX`后SP减2(因为AX是16位),SP的值变为1FFEH;执行`POP BX`后SP加2,SP的值变为2002H。 10. **算术运算指令**: - 给定的指令序列执行加法操作,`ADD AL, AL`后AL的值翻倍,`ADC AL, AL`执行进位加法,使得AL的值再次增加。最终AL的值取决于初始的81H(二进制10000001)加上它自身两次,并考虑进位,结果为204H。 以上就是复习资料中涉及的主要汇编语言知识点,包括程序结构、开发流程、文件类型、CPU特性、DEBUG工具的使用、伪指令、循环指令以及堆栈和算术运算指令的运用。这些内容对理解和掌握汇编语言编程至关重要。