1. CPU状态及控制寄存器
- TR,GDTR,LDTR
- cr0-cr3
- EFLAGS
等等
2. 业务计算寄存器(我起的名字)
业务寄存器用于访问内存、参数传递、数据传递、计算。
段寄存器6个:
cs,ds,es,ss,fs,gs
cs是执行跳转指令jmpi自动设置的,不能手动更新,默认为0x0000。其他的都可以设置。
通用寄存器8个:
ax,bx,cx,dx:通用数据寄存器
以下四个,除了可以存数,还可以用来作为段内偏移寻址内存:
- bp,sp:堆栈指针寄存器
- si,di:源,目的偏移寄存器(常用组合ds:si,es:di),si中的s,是source的缩写;di中的d,是destination的缩写。movw指令默认就用这两个寄存器进行内存移动,可以去看一下使用方法。
心中有数,写汇编程序时,才知道有什么可用。汇编代码看多了,就知道做什么事该用什么寄存器了,也就是后面要通过看代码,学套路。