ASM16 3-4 汇编语言寄存器篇
什么是指令系统
- 计算机的指令系统就是指该计算机能够执行的全部指令的集合
- 每种计算机都有它支持的指令集合
- 16位8086指令系统是Intel 80x86系列微处理器指令系统的基础
调试程序DEBUG
- DEBUG是常用的汇编语言级调试工具,为汇编语言的程序员提供了分析指令、跟踪程序的有效手段
- 常用命令:
- -A汇编
- -U反汇编
- -T单步执行
- -G断点执行
- -D数据显示
- -R寄存器
8086的寄存器组
- 对程序员来说,8086内部结构的最重要的是其寄存器组
- 8个通用寄存器
- 1个指令指针寄存器
- 1个标志寄存器
- 4个段寄存器
8086的通用寄存器
- 8086的16位通用寄存器是:AX BX CX DX SI DI BP SP
- 其中前4个数据寄存器都还可以分成高8位和低8位两个独立的寄存器
- 8086的8位通用寄存器是:AH BH CH DH AL BL CL DL
- 对其中某8位的操作,并不影响另外对应8位的数据
数据寄存器
- 数据寄存器用来存放计算的结果和操作数,也可以存放地址
- 每个寄存器又有它们各自的专用目的
- AX——累加器,使用频率最高,用于算术。逻辑运算以及与外设传送信息等
- BX——基址寄存器,常用做存放存储器地址
- CX——计数器,作为循环和串操作等指令中的隐含计数器
- DX——数据寄存器,常用来存放双字长数据的高16位,或存放外设端口地址
变址寄存器
- 变址寄存器常用于存储器寻址时提供地址
- SI是源变址寄存器(Source)
- DI是目的变址寄存器(Destination)
- 串操作类指令中,SI和DI具有特别的功能
指针寄存器
- 指针寄存器用于寻址内存堆栈内的数据
- SP为堆栈指针寄存器,指示栈顶的偏移地址
- SP不能再用于其他目的,具有专用目的
- BP为基址指针寄存器,表示数据在堆栈段中的基地址
- SP和BP寄存器与SS段寄存器联合使用以确定堆栈段中的存储单元地址
堆栈(Stack)
- 堆栈是主存中一个特殊的区域
- 它采用先进后出FILO(First In Last Out)或后进先出LIFO(Last In First Out)的原则进行存取操作,而不是随机存取操作方式
- 堆栈通常由处理器自动维持。在8086中,由堆栈段寄存器SS和堆栈指针寄存器SP共同指示
本博客所有文章除特别声明外,均采用 CC BY-NC-SA 4.0 许可协议。转载请注明来自 Hexo!