X86汇编语言程序设计(2018年)复习提纲
1. 复习参考材料:《IBM-PC汇编语言程序设计》熊桂喜 编著
2. 复习范围:参考上述教材中的以下章节:
(1) 第1章,第2章全部:
数值及数制概念;输入输出及数值代码转换过程;
8086/8088 CPU组成:
通用寄存器 AX, BX, CX, DX, SP, BP, SI, DI
段寄存器 CS, DS, ES, SS 指令指针IP
ALU(算数逻辑运算器)
标志寄存器PSW
控制逻辑及指令队列
字长:16位
寻址范围:00000H~FFFFFH(1MB = 2^20B 20根地址线)
主要ASCII码:
0-9(30H-39H)
A-Z(41H-5AH)
a-z(61H-7AH)
空格(20H)
回车(0DH)
寄存器:(8 个通用 +4 段寄存器), PSW ( OF, DF, IF, TF, SF, ZF, AF, PF, CF ), IP物理地址和逻辑地址运算:
段地址 * 16D(或10H) + 偏移地址 = 物理地址
内存中各种类型(字节、字、双字)数据的存放方式:
地址:小 -> 大
低字在前,高字在后
低字节在前,高字节在后
堆栈知识点:
堆栈只能压入弹出字
进栈时,SP-2,然后将要压入的字放入SP处
出栈时,先将SP处的字送入目的操作数处,SP+2
内存图(含堆栈图)、计算。(多个例题、练习)
(2) 第3章的全部内容:
数据的6种寻址方式:立即寻址、寄存器寻址、直接寻址、寄存器间接寻址、寄存器相对寻址、基址变址寻址方式
转移地址的4种寻址方式(判断、应用、改错):
段内直接寻址、段内间接寻址、段间直接寻址、段间间接寻址
指令格式、数据通路、类型匹配(字节、字、立即数)、类型转换(XX ptr),段超越;
BP,SP,BX的默认寻址段SS,SS,DS,取地址还是取内容;(例题及练习,判对错)
第三章里出现的指令(注意指的是1中的教材,不是清华版教材),但以下指令不作要求:IMUL,NEG,IDIV,CWD,JG/JL序列;(仅整理个人不熟悉的指令)
1、数据传送指令
MOV, PUSH, PUSHF, POP, POPF, XCHG, IN, OUT, XLAT, LEA, LES, LDS, LAHF, SAHF
XCHG:作用是两个操作数的内容互换(操作数不为立即数)
PUSHF, POPF:对PSW的堆栈存取操作
LEA, LDS, LES:把地址送到制定寄存器(自带OFFSET)