鱼C论坛

 找回密码
 立即注册
查看: 2031|回复: 3

[技术交流] 汇编语言笔记之2.寄存器

[复制链接]
发表于 2012-11-23 11:55:58 | 显示全部楼层 |阅读模式

马上注册,结交更多好友,享用更多功能^_^

您需要 登录 才可以下载或查看,没有账号?立即注册

x
  • 一个典型的CPU使用运算器、控制器、寄存器等组成的。
  • 8086CPU有14个寄存器,AX、BX、CX、DX、SI、DI、SP、BP、IP、CS、SS、DS、ES、PSW,其中有8个是通用寄存器。
  • 8086CPU所有寄存器都是16位的,可以存放两个字节。
  • AX、BX、CX、DX通常用来存放一般性数据被成为通用寄存器。
  • 8086CPU为了兼容上一代的8位CPU,AX、BX、CX、DX这四个可以分为两个独立的8位寄存器。比如AH(高位)和AL(低位)。
  • 1字=2字节=16位(1Word=2Byte=16bit)。
  • CPU访问内存时要给出内存单元的地址。所有的内存单元构成的存储空间是一个一维的线性空间,每一个内存单元在一个空间中都有唯一的地址,我们称为物理地址
  • 8086是16为结构的CPU,就是说,在8086内部,能过一次性处理、传输、暂时存储的信息的最大长度是16位。
  • 8086CPU有20位的数据总线,有1MB寻址能力(2的20次方),8086CPU是16位结构,只能送出16位的地址,也就是64K的寻址能力,那怎么内部和外部怎么协同工作呢?
  • 8086CPU采用一种在内部用两个16位地址合成的方法形成一个20位的物理地址
  • 地址加法器采用物理地址=段地址x16+偏移地址的方法用段地址和偏移地址合成物理地址。比如段地址1230H,偏移地址00C8,经过地址加法器时,将1230HX16(如同1230X10)变成的12300H(向左偏移了一位,相对二进制,向左偏移了4位),然后12300H+00C8=1230C8。
  • “物理地址=段地址x16+偏移地址”的本质含义:CPU访问内存时,用一个基础地址(段地址X16)和一个相对于基础地址的偏移地址相加,给出内存单元的物理地址。
  • 段寄存器就是提供段地址的。8086CPU有4个段寄存器:CS(代码),DS(数据),SS(堆栈),ES(不够的时候放这里)。
  • CS和IP是8086CPU中两个最关键的寄存器,它们只是了CPU当前要读取指令的物理地址。CS为代码段寄存器,IP为指令指针寄存器(偏移地址)。
  • 在8086CPU中,任意时刻,设CS中的内容为M,IP中的内容为N,8086CPU将从内存MX16+N单元开始读取一条指令并执行。也可以这样表达:8086机中,任意时刻,CPU将CS:IP指向的内容当作指令来执行。
  • 8086CPU加电启动或复位后CS和IP被设置为CS=FFFFH,IP=0000H,即8086CPU刚开始工作时,CPU从内存FFFF0H单元中读取指令并执行。
  • CPU将CS:IP指向的内存单元中的内容看作指令,如果说,内存中的一段形象曾被CPU执行过,那么他一定被CS:IP指向过。
  • 程序员可以通过改变寄存器中的内容实现对CPU的控制。
  • 8086CPU大部分寄存器的值,都可以用mov指令来改变,mov指令被称作传送指令
  • mov指令不能用于设置CS、IP的值,我们可以用最简单的jmp指令,若想同时修改CS、IP的内容,可用“jmp 段地址:偏移地址”指令完成,如jmp 2AE3:3,执行后:CS=2AE3H,IP=0003H,CPU将从2AE33H读取指令。
  • “jmp 段地址:偏移地址”指令功能为:用指令中给出的段地址修改CS,偏移地址修改IP
  • 若只想修改IP内容,可用“jmp 某一合法寄存器”的指令完成, 如:
    jmp ax,指令执行前:ax=1000H,CS=2000H,IP=0003H,
    指令执行后:ax=1000H,CS=2000H,IP=1000H,
    “jmp 某一合法寄存器”指令功能为:用寄存器中的值修改IP
  • CS存放指令的段地址,IP存放指令的偏移地址



想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
发表于 2012-11-23 13:33:06 | 显示全部楼层
做的不错。。支持!
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
发表于 2015-6-8 10:48:15 | 显示全部楼层
做的不错。。支持!
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复 支持 反对

使用道具 举报

发表于 2015-6-10 00:51:55 | 显示全部楼层
非常感谢
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复 支持 反对

使用道具 举报

您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

小黑屋|手机版|Archiver|鱼C工作室 ( 粤ICP备18085999号-1 | 粤公网安备 44051102000585号)

GMT+8, 2024-10-6 22:28

Powered by Discuz! X3.4

© 2001-2023 Discuz! Team.

快速回复 返回顶部 返回列表