UNIT TWO
声明
基于8086的寄存器共14个16位的,分别是
ax bx cx dx (通用寄存器)
si di bp sp (基址与变址寄存器)
cs ss ds es (段寄存器)
ip flags (指令指针和标志寄存器)
常用的是第一排、第三排
附:
AX Accumulator Register
BX Base Register
CX Count Register
DX Data Register
CS Code Segment Register
IP Instruction Pointer Register
通用寄存器
如ax,bx,cx,dx寄存器,通常用于存放一般数据,称为通用寄存器。
为了与早期CPU操作兼容,这4个寄存器均可拆分成两个8位寄存器单独使用。
AX分为AH和AL
BX分为BH和BL
CX分为CH和CL
DX分为DH和DL
而AH和AL可以作为两个八位寄存器单独使用。
字在寄存器中的存放
字节 内存划分的基本单位
字 两个字节
双字 四个字节
四字 八个字节
汇编指令mov add

注意事项:
1.在mov和add指令中,两个操作对象的位数应一致
2.运算时超出寄存器表示的位数时,进位大的1不显示
2的示例:

8086表示物理地址的方法
段地址 × 16 + 偏移地址 = 物理地址
*根据需要,段的起始物理地址必须是16的倍数
CS与IP
CS: 代码段段寄存器,用于存放代码段的「段地址」
IP: 指令指针寄存器,用于存放CPU将要读取的指令在代码段中的偏移地址
CS:IP对应的物理地址存放的是CPU将要读取的指令。
(CS) × 16 + (IP) → 指令的物理地址
JMP指令:修改CS与IP
1.同时修改cs ip
jmp 段地址: 偏移地址
例:
jmp 2AE3:3 ; CS ← 2AE3H
IP ← 3H
2.只修改ip
jmp 某一合法寄存器
例:
jmp AX ; IP ← AX
UNIT TWO的更多相关文章
- ABP(现代ASP.NET样板开发框架)系列之12、ABP领域层——工作单元(Unit Of work)
点这里进入ABP系列文章总目录 基于DDD的现代ASP.NET开发框架--ABP系列之12.ABP领域层——工作单元(Unit Of work) ABP是“ASP.NET Boilerplate Pr ...
- ABP源码分析十:Unit Of Work
ABP以AOP的方式实现UnitOfWork功能.通过UnitOfWorkRegistrar将UnitOfWorkInterceptor在某个类被注册到IOCContainner的时候,一并添加到该类 ...
- Failed to stop iptables.service: Unit iptables.service not loaded.
redhat 7 [root@lk0 ~]# service iptables stop Redirecting to /bin/systemctl stop iptables.service Fai ...
- VS2012 Unit Test 个人学习汇总(含目录)
首先,给出MSDN相关地址:http://msdn.microsoft.com/en-us/library/Microsoft.VisualStudio.TestTools.UnitTesting.a ...
- VS2012 Unit Test —— 我对IdleTest库动的大手术以及对Xml相关操作进行测试的方式
[1]我的IdleTest源码地址:http://idletest.codeplex.com/ [2]IdleTest改动说明:2013年10月份在保持原有功能的情况下对其动了较大的手术,首先将基本的 ...
- VS2012 Unit Test——Microsoft Fakes入门
如题,本文主要作为在VS2012使用Fakes的入门示例,开发工具必须是VS2012或更高版本. 关于Fakes的MSDN地址:http://msdn.microsoft.com/en-us/libr ...
- MTU(Maximum transmission unit) 最大传输单元
最大传输单元(Maximum transmission unit),以太网MTU为1500. 不同网络MTU如下: 如果最大报文数据大小(MSS)超过MTU,则会引起分片操作. 路径MTU: 网路 ...
- Simulink Memory vs Unit Delay
Memoryブロック.Unit Delayブロック共に前回の入力値を出力しますが.動作するタイミングが異なります. ●Memoryブロック シミュレーションの各時刻(ステップ)で動作し.「1ステップ」 ...
- GRU(Gated Recurrent Unit) 更新过程推导及简单代码实现
GRU(Gated Recurrent Unit) 更新过程推导及简单代码实现 RNN GRU matlab codes RNN网络考虑到了具有时间数列的样本数据,但是RNN仍存在着一些问题,比如随着 ...
- Unit Testing with NSubstitute
These are the contents of my training session about unit testing, and also have some introductions a ...
随机推荐
- springboot docker打包镜像
首先在idea中创建springboot项目,pom文件packaging 为jar ,然后编写接口. 编写Dockerfile 注意Dockerfile只能这样命名. 使用maven打包命令或者使用 ...
- JS-变量存储
1.存储(变量)JS中变量是存在栈内存中JS中的内存分两种:栈内存.堆内存 栈内存:存放变量 堆内存:存代码块(object和function) var fn=function()和function ...
- Vue 中的 key 有什么作用?
key 是为 Vue 中 vnode 的唯一标记,通过这个 key,我们的 diff 操作可以更准确.更快速. Vue 的 diff 过程可以概括为:oldCh 和 newCh 各有两个头尾的变量 o ...
- appium遇到的问题
问题1:权限问题:java.lang.SecurityException: Injecting to another application requires INJECT_EV ENTS permi ...
- 软件工程日报一——Andriod的安装与配置
建民老师给我们布置了一个编写记事本app的任务,因此需要我们下载andriod studio,下面是我的下载过程 在下载andriod studio之前,需要我们配置Java环境 进入控制面板,输入 ...
- Access 时间查询 与 SQL SERVER 不一样的几个地方
最近用到了ACCESS 数据库 ,与之前用SQL SERVER 还是有点区别的. 1. 时间 之间 用 # 连接 如下: public static string GetUserInfo(stri ...
- uniapp组件监听onShow
在uniapp开发中,组件中需要监听页面onShow的方法 index.vue onShow() { uni.$emit('onShow', 1); //用于子组件监听onShow }, 子组件 be ...
- const char* str和const char str[]的区别
首先,字符串常量是存储在flash中的.假设字符串常量在flash中的地址是0x8003fb8. 第一种方式,str等价于str的内存单元的地址,str的内存单元存储着字符串常量的地址 第二种方式,s ...
- js之new的原理和源码
new的原理即作用: function Student(name,age){ this.name=name; this.age=age; } var stu=new Student("小明& ...
- Excel error - the macros in this project are disabled, please refer to the online help or documentation of the host application to determine how to enable macros.
alt+F11 进入vba界面,F5运行macro后报错. Sub 合并当前工作簿下的所有工作表() Application.ScreenUpdating = False For j = 1 To S ...