汇编语言 (王爽) 第二章笔记

寄存器

寄存器的分类

8086CPU有14个寄存器,分别是:AX,BX,CX,DX,SI,DI,SP,BP,IP,CS,SS,DS,ES,PSW

通常我们常用的寄存器是AX,BX,CX,DX,这四类寄存器称为通用寄存器,用来存放一般数据

几条常用的汇编指令

汇编指令控制CPU完成的操作
mov ax,01将01送入寄存器AX
mov ah,78将78送入寄存器AH
add ax,8将寄存器AX的数值加上8
mov ax,bx将寄存器BX的内容送到寄存器AX

物理地址

8086CPU的物理地址计算方法:物理地址=段地址*16+偏移地址,由地址加法器完成

当8086CPU要读写内存时:

  1. 相关部件提供两个16位的地址,即段地址和偏移地址
  2. 段地址和偏移地址通过内部总线送入一个称之为地址加法器的部件
  3. 地址加法器将两个16位的地址合成一个20位的物理地址
  4. 地址加法器通过内部总线将20位的物理地址送入输入输出控制电路
  5. 输入输出控制电路将20位物理地址送上地址总线
  6. 20位的物理地址被地址总线送入存储器

段寄存器

段寄存器用于存放CPU的段地址

段地址有:CS,DS,SS,ES

CS和IP

  • CS为代码段寄存器
  • IP为指令指针寄存器

在任意时刻,CPU将CS:IP指向的内容当做指令执行

修改CS,IP指令

我们如何修改CS,IP指令呢?

显然,CPU必须提供相应的指令,而修改CS,IP的指令,8086CPU给我们提供了jmp指令,弱项修改CS,IP指令,可以有如下操作:jmp 段地址:偏移地址

例如:jmp 2AE3:3执行后 CS=2AE3H,IP=0003H,CPU将从2AE33H处读取指令

指令中段地址修改CS,偏移地址修改IP,而若想只修改IP,还可以通过jmp ax来修改,jmp ax 好似 mov IP,ax,但是切记,mov IP,ax是不合法的指令,在这里只是为了能更好的理解jmp ax

debug常用命令:

命令作用
R查看,改变CPU寄存器的内容
D查看内存中的内容
E改写内存器中的内容
U将内存中的机器指令翻译成汇编指令
T执行一条机器指令
A以汇编指令的格式在内存中写入一条机器指令

内存中字的存储

CPU中,用16位的寄存器来存储一个字,高8位存放在高位字节,低8位存放在低位字节。在内存中存储时,由于内存单元是字节单元,所以一个字要用两个连续地址的内存单元来存放

因此,我们提出字单元的概念:存放一个字型数据(16位)的内存单元,由两个地址连续的内存单元组成

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值