核心高频考点清单
1. 寄存器与寻址方式
口诀:AX老大,BX基址,CX计数,DX数据。段寄存器CS、DS、SS、ES对应代码、数据、堆栈、附加。
必考:立即寻址、直接寻址、寄存器寻址、寄存器间接寻址([BX]/[BP]/[SI]/[DI])、基址变址寻址([BX+SI]等)的区别。
坑点:BP默认搭配SS段,其他默认搭配DS段。
2. 内存分段与物理地址
公式:物理地址 = 段地址 × 16(左移4位) + 偏移地址。计算题必出。
核心:知道为啥要分段(20位地址线,16位寄存器)。
3. 指令系统
数据传送:MOV(不能同时内存到内存)、PUSH/POP(栈操作,SP变化方向)。
算术运算:ADD/SUB,带进位的ADC/SBB。CMP比较结果看ZF、SF、CF。
逻辑运算:AND/OR/XOR/TEST(测试用,不保存结果)。
移位:SHL/SAL左移(一样),SHR逻辑右移,SAR算术右移(保持符号)。
4. 标志寄存器Flag
关键位:
ZF(零标志):结果为0置1。
SF(符号标志):结果为负置1。
CF(进位标志):加法最高位进位/减法借位置1。
OF(溢出标志):有符号数运算溢出置1。
口诀:CF管无符号数对错,OF管有符号数对错。JUMP/JCC条件跳转就看它们。
5. 中断系统
过程:中断请求 -> 响应 -> 断点保护(FLAGS、CS、IP入栈) -> 执行中断服务程序 -> 中断返回(IRET弹出)。
类型码:记住几个关键的,比如除法错是0,单步是1,NMI是2,INTR可屏蔽。
6. 芯片与接口
8255A:三种工作方式(基本输入输出0、选通1、双向2),记住控制字格式。
8253/8254:六种工作方式(0计数结束中断,1可编程单脉冲,3方波发生器最常用),控制字初始化顺序。
地址译码:部分译码(有重叠区)、全译码(唯一地址)。
7. 汇编伪指令
DB/DW 定义字节/字。
EQU 等于,不占存储空间。
ORG 设置起始偏移地址。
蒙题/应急技巧
计算题:先看是不是物理地址计算(段地址×16+偏移),套公式。
寻址题:看到两个内存操作数,MOV指令一定错(除非有寄存器中转)。
标志位题:判断是有符号还是无符号运算,CF/OF二选一。
芯片初始化:顺序一般是“控制字 -> 初始值”,选按这个流程的选项。
指令作用:XOR AX, AX 常用清零;TEST AX, 8000H 测试最高位(符号位)。
遇到陌生:选那个带“常用来...”或“通常...”描述的实际应用选项,避开纯理论抽象描述。
答题模板句式(填空式选择题)
“若AX=1234H,BX=5678H,执行ADD AX, BX后,CF=__,OF=__。” 先算结果(68AC),无符号看CF(最高位无进位=0),有符号看OF(正加正得负?溢出=1)。
“要将数据写入内存某单元,可采用__寻址方式。” 优先选寄存器间接寻址([BX]等)。
“8086响应可屏蔽中断的条件是__。” IF=1(中断允许标志为1)。
“8253方式3常用于产生__。” 方波(时钟/定时信号)。
考点就是这些,拿去过题吧。