本文章是自己在学习王爽《汇编语言》过程中整理的笔记。看的比较匆忙,文中可能存在很多错误,还望大家多多指正!谢谢~
参考文章
文章目录
- 一、基础知识
- 二、寄存器
- 三、第一个程序
- 四、[BX]和loop指令
- 五、包含多个段的程序
- 六、更灵活的定位内存地址的方法
- 七、数据处理的两个基本问题
- 八、转移指令的原理
- 九、CALL和RET指令
- 十、标志寄存器
- 十一、内中断
- 十二、端口
- 十三、外中断
- 十四、指令系统总结
- 十五、直接定值表
一、基础知识
- 基础概念
- 存储器
- 三种外部总线
- CPU对外设的控制
- 内存地址空间
二、寄存器
- 寄存器
- 8086CPU 给出物理地址的方法
- 段寄存器
- 字
- DS 和 [address]
- 栈(SS和SP)
三、第一个程序
- 汇编程序从写出到执行的过程
- 程序执行过程
四、[BX]和loop指令
- [bx] 和 loop指令
- Debug和masm编译器对指令的不同处理
- loop 和 [bx] 的联合应用
- 安全的编程空间
五、包含多个段的程序
六、更灵活的定位内存地址的方法
- and 和 or 指令
2.关于ASCII码 - 大小写字符转换的问题
- [bx+idata]
- SI和DI寄存器
- 不同的寻址方式的灵活应用
七、数据处理的两个基本问题
- bx、si、di和bp
- 机器指令处理的数据在什么地方
- 汇编语言中数据位置的表达
- 寻址方式
- 指令要处理的数据有多长
- div指令(除法指令)
- 伪指令dd,dup
八、转移指令的原理
- 操作符offset
- jmp指令
2.1 依据位移进行转移的jmp指令
2.2 转移的目的地址在指令中的jmp指令
2.3 转移地址在寄存器中的jmp指令
2.4 转移地址在内存中的jmp指令 - jcxz指令
- loop指令
- 编译器对转移位移超界的检测
九、CALL和RET指令
- ret 和 retf
- call 指令
2.1 依据位移进行转移的call指令
2.2 转移的目的地址在指令中的call指令
2.3 转移地址在寄存器中的call指令
2.4 转移地址在内存中的call指令 - call 和 ret 的配合使用
- mul 指令(乘法指令)
十、标志寄存器
- ZF标志(零标志位)
- PF标志(奇偶标志位)
- SF标志(符号标志位)
- CF标志(进位标志位)和 OF寄存器(溢出标志位)
- adc指令 和 sbb指令
- cmp指令
- 检测比较结果的条件转移指令
- DF标志(方向标志位)和串传送指令
- pushf 和 popf
十一、内中断
- 内中断的产生
- 中断处理程序 和 中断向量表
- 中断过程
- iret指令
- 除法错误中断的处理
- 单步中断
- int指令
- 编写中断例程
- BIOS和DOS所提供的中断例程
十二、端口
- 端口基本概念
- 端口的读写
- CMOS RAM芯片
- shl和shr指令
十三、外中断
- 接口芯片和端口
- 外中断信息
2.1 可屏蔽中断
2.2 不可屏蔽中断 - PC机键盘的处理过程
- 编写int 9中断例程
十四、指令系统总结
十五、直接定值表
- 描述单元长度的标号
- 在其他段中使用数据标号