第二章(笔记总结)

8086CPU有14个寄存器:AX , BX , CX , DX  , SI , DI , SP , BP , IP , CS , SS , DS , ES , PSW 都是16位寄存器(不同的CPU所拥有的寄存器数量可能不同,位数也可能有所不同)

                  其中AX , BX , CX , DX  为通用寄存器,为了保持兼容性,这4个寄存器可以拆分为2个8位的寄存器    如:AX --> AL , AH

{8086CPU一次性可处理的两种尺寸数据:字节(byte)和 字(word)} 

寄存器逻辑结构:


寄存器的存储方式    如:数据4E20H 存储到AX中, 20H为低8位所以存在AL中,4EH为高8位所以存在AH中(对应在16位中的存储)                                            


(寄存器写法不区分大小写)

汇编指令中的传送指令 mov 如:mov ax , 0101H <==> 把数据0101H传送到寄存器AX中

汇编指令中的相加指令 add 如: add ax , bx <==> 寄存器AX和寄存器BX中的数据相加后的数据传送到寄存器AX中


(物理地址和8086CPU得到物理地址的方法)

{

      所有的内存单元构成的是一个一维线性存储空间,在这空间里面每个内存单元都有唯一的地址,(如首个内存单元地址是0),这地址就是物理地址。

      8086CPU是一个16位结构的CPU,这CPU能够一次性处理、传输、暂时存储信息的最大长度是16位,因此这样的CPU只能传送一个16位的地址,即寻址能力只有64KB。而作为CPU传送地址的总线有20位,那CPU如何试地址达到20位,即如何提高寻址能力。由于CPU存储处理最大长度只有16位,那CPU就提供2个16位的地址存储,通过地址加法器,组成一个20位的地址信息。即(物理地址 = 段地址*16 + 偏移地址)

物理地址的获得本质上是CPU在访问内存时,用一个基础地址和一个偏移地址进行相加,得到相应内存单元的物理地址

}

8086CPU有4个用来存储段地址的寄存器,分别是 CS,DS,SS,ES。先说CS,它为代码寄存器

与CS匹配一起的是IP,它为指令指针寄存器

(因此CPU会把CS:IP所指向的内容当指令来执行)

CS:IP能透过指令jmp(转移指令)来修改所存储的数据

jmp的使用:例如 (CS:IP 同时修改 jmp XXXX : XXXX )

(IP的修改jmp ax(合法的通用寄存器))


Debug的使用

R命令查看改变CPU寄存器的内容

D命令查看内存中的内容

E命令改写内存中的内容

V命令将内存仲的机器指令翻译成汇编指令

T命令执行一条机器指令

A命令以汇编指令的格式在内存仲写入机器指令

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值