汇编语⾔教程--寄存器
汇编语⾔教程 – 寄存器
寄存器是汇编语⾔中常常⽤到的 – 汇编语⾔需要操作CPU,⽽寄存器是CPU很重要的⼀部分,那么今天就来讲⼀讲常见的寄存器,如AX, AH, AL, FS, IP等
为了好记,我把它们分成⼏类
AX, BX, CX, DX
16位通⽤寄存器,存放16位数据或地址
AH, BH, CH, DH, AL, BL, CL, DL
都是ABCD,8位寄存器,分别指AX, BX, CX, DX和上8位和下8位,H代表high(⾼位),L代表low(低位),⽤于存放8位数据
注意AX, BX, CX, DX都分别由各⾃的⽤途
AX:累加器
汇编语言跳转指令BX:基址寄存器
CX:计数寄存器
DX:数据寄存器
----------------------------------------------------------
总之就记住AX, BX, CX, DX都是通⽤寄存器
BP, SP
BP:基址指针寄存器
SP:堆栈指针寄存器,存放栈的偏移地址(和PUSH,POP指令息息相关)
CS, DS, ES, FS, GS, SS
这⼏个都是段寄存器,S代表segment
CS:代码段寄存器,C代表code
DS:数据段寄存器,D代表data
ES:扩展段寄存器,E代表extra, extension, extend
FS:标志段寄存器,F代表feature
GS:全局段寄存器,G代表global
SS:堆栈寄存器,存放栈的起始地址,S代表stack
SI, DS
变址寄存器,为访问先⾏数据段提供段内数据偏移量
SI:源变址寄存器,S代表source,和DS⼀起使⽤
DI:⽬标变址寄存器,D代表determination,和ES⼀起使⽤
IP
16位指令指针寄存器,始终指着下⼀条要执⾏的指令的地址,不能直接通过数值修改,系统⾃动调整,在跳转指令时讲新的跳转⽬标地址送⼊IP
FR程序状态字寄存器
本⼈对此不太理解,抄⼀段百度的吧,⼤家⾃⼰品味
FR是16位寄存器,其中有9位有效位⽤来存放状态标志和控制标志。状态标志共6位,CF、PF、AF、ZF、SF和OF,⽤于寄存程序运⾏的状态信息,这些标志往往⽤作后续指令判断的依据。控制标志有3位,IF、DF和TF,⽤于控制CPU的操作,是⼈为设置的。
以上的寄存器都很重要,在写汇编程序的时候可以慢慢体会,更多关于寄存器的知识可以⾃⼰百度⼀下

版权声明:本站内容均来自互联网,仅供演示用,请勿用于商业和其他非法用途。如果侵犯了您的权益请与我们联系QQ:729038198,我们将在24小时内删除。