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 ...
随机推荐
- 小家大变局.PDF
书本详情 小家大变局种类:Self-Help, Relationships & Lifestyle - Families & Parents年:2022出版社:中信出版集团语言:chi ...
- JavaScript基本知识整理(基本包装类型)
基本包装类型 为了方便地操作基本类型变量,ECMAScript规定了3个特殊引用类型分别是Boolean,Number和String. 这三种特殊引用类型同时具有基本类型和引用类型的功能,当我们读取一 ...
- Hyperf微服务
https://hyperf.wiki 状态码含义 https://segmentfault.com/a/1190000002523655
- 事务与spring事务
事务 事务的特性(ACID) 原子性(Atomicity): 标识将事务中所有的操作进行捆绑层一个不可分割的单元格,计对事务所有进行的数据库修改等操作,要么全部执行,要么就是全部失败隔离性(Isola ...
- wake on lan sender 2.0.8
局域网 远程关机
- shell转义字符
\n 回车 \b 单词边界 \w [a-Z0-9]中任意一个字符 \W [^a-Z0-9] \d [0-9]中任意一个数字 \D [^0-9 ...
- Flutter 中的普通路由、普通路由传值、 命名路由、命名路由传值
一.Flutter 中的路由 Flutter 中的路由通俗的讲就是页面跳转.在 Flutter 中通过 Navigator 组件管理路由导航.并提供了管理堆栈的方法.如:Navigator.push ...
- cv::flip
int main(int argc, char** argv) { cv::namedWindow("Example 2-3", cv::WINDOW_AUTOSIZE); cv: ...
- dnspy查看async方法
- localStorage/sessionStorage/cookie
html5本地存储主要有两种localStorage和sessionStorage 都是使用相同api,存入后都是字符串类型 localStorage和sessionStorage使用方 ...