- 博客(4)
- 收藏
- 关注
原创 8086 汇编中断知识点总结
CPU 在执行主程序时,被外部 / 内部事件打断,转去执行专门的中断服务子程序,执行完毕返回原程序继续运行。IRET:中断专用返回,依次弹出 IP、CS、FLAGS(RET 只弹 IP)单步中断(TF=1):每执行一条指令触发,调试用,类型号01H。清除标志:IF=0(屏蔽后续可屏蔽中断)、TF=0(关闭单步)。INT n:主动调用中断,n 为 0~255 中断类型号。IRET:弹出 IP、CS、FLAGS,仅用于中断返回。INTO:溢出中断,OF=1时触发,类型号04H。
2026-07-12 10:09:02
249
原创 8086 汇编 ADD / MOV 等指令常见非法写法汇总
8 位寄存器 (ah/al/bl) 和 16 位寄存器 / 内存不能直接混用,不加 ptr 报错。移位次数大于 1 时,不能直接写数字,必须用 CL 存次数。段寄存器只能做 MOV 源 / 目标,不能加减比较。全系列算术指令都禁止两个操作数同时为内存单元。IP 只能 CPU 自动修改,程序无权访问。❌ 全部非法,无任何修改 IP 的直接指令。✅ 正确:先给通用寄存器再运算。✅ 正确做法:用寄存器中转。✅ 正确:通用寄存器中转。
2026-06-26 18:34:48
248
原创 8086 汇编:直接偏移量与段超越前缀的那些事
8086汇编中直接偏移量和寄存器间接寻址的段前缀规则不同:直接偏移量(如[6])必须显式指定段前缀(如ds:[6]),因为汇编器无法自动判断段归属;而寄存器间接寻址(如[bx])默认使用DS段,可省略段前缀。常见错误是将立即数(如mov al,6)与内存地址访问混淆,后者必须加段前缀。段超越前缀(如ss:[bx])还可用于强制跨段访问内存。这些规则是8086汇编的语法要求,正确使用才能确保程序编译通过。
2026-03-29 21:35:01
67
空空如也
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人
RSS订阅