汇编【2】寄存器

汇编【2】寄存器

一、数据寄存器 AX BX CX DX寄存器

1. why

在这里插入图片描述
在这里插入图片描述

2. 加深印象

2.1 数据与寄存器间 要保证位数一致性

在这里插入图片描述
在这里插入图片描述

发现:经过了编译
0005为16位数据(2---->16)
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述

0也会编译为16位的0000,因为AX是16位的寄存器
5编译为16位数的05,因为AL为8位寄存器

数据寄存器之间要保证一致性
8位寄存器 给 8位寄存器
8位数据 给8位寄存器
在这里插入图片描述
100为16进制---->1 0000 0000(B)

2.2 实验 加法超过寄存器

指令:debug -a
在这里插入图片描述
add ax,0008的意思:
ax=ax+0008
在这里插入图片描述
在这里插入图片描述
8位寄存器进行8位运算,保存8位数据
在这里插入图片描述
在这里插入图片描述

二、表示内存地址的寄存器

在这里插入图片描述

1.地址的计算方式

在这里插入图片描述
在这里插入图片描述

2. 加深印象

在这里插入图片描述
在这里插入图片描述

3.检测点

在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述

三、指令

1. CPU如何区分指令和数据—(CS IP组合决定)

在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
指令和数据在内存中没有区别
CPU中 CS 段地址寄存器 和 IP 偏移地址寄存器 组合的时候,从中读取内容,当作指令执行
CS IP决定了CPU从哪里开始读取

2. 寄存器和指令

指令 是有长度的,一条指令可以有多个字节构成
指令的执行过程:
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述

3.修改CS IP寄存器的指令—汇编指令jmp

在这里插入图片描述
在这里插入图片描述
jmp转移指令,可以修改CS IP这两个寄存器,决定了CPU从哪里开始读取指令
在这里插入图片描述

在这里插入图片描述
两条指令:
jmp 2000:0
jmp 寄存器

结合视频P47
在这里插入图片描述

4. 指令执行过程设计的原因—汇编指令call/ret

指令执行的步骤:
1.CPU从CS:IP所指向的内存单元读取指令,存放在指令缓存器中。
2.IP=IP+所读指令的长度,从而指向下一条指令
3.执行指令缓存其中的内容,回到步骤一

在这里插入图片描述
在这里插入图片描述
在这里插入图片描述

5.debug调试工具

5.1 r : 查看所有寄存器中的内容,修改

在这里插入图片描述

5.2 d :可以查看内存中的内容

在这里插入图片描述

5.3 u : 将机器指令 翻译为汇编指令

在这里插入图片描述

5.4 a : 内存中写入 汇编指令的格式

在这里插入图片描述

5.5 t : 执行 当前CS:IP所指向的 机器指令

5.6 e : 改写内存中的内容

四、实验

1.

在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述

2.

在这里插入图片描述
256----100H
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述

3.

在这里插入图片描述
B810H10H+0=B8100H
B800H
10H+100H=B8100H
在这里插入图片描述

4.承上启下

寄存器:
数据寄存器
地址寄存器:段地址寄存器 偏移地址寄存器

AX
BX : 也可被当作 偏移地址寄存器
CX : CX也有其他作用
DX : AX DX用来处理数据

通用寄存器
在这里插入图片描述

在这里插入图片描述

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值