声明

基于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的更多相关文章

  1. ABP(现代ASP.NET样板开发框架)系列之12、ABP领域层——工作单元(Unit Of work)

    点这里进入ABP系列文章总目录 基于DDD的现代ASP.NET开发框架--ABP系列之12.ABP领域层——工作单元(Unit Of work) ABP是“ASP.NET Boilerplate Pr ...

  2. ABP源码分析十:Unit Of Work

    ABP以AOP的方式实现UnitOfWork功能.通过UnitOfWorkRegistrar将UnitOfWorkInterceptor在某个类被注册到IOCContainner的时候,一并添加到该类 ...

  3. 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 ...

  4. VS2012 Unit Test 个人学习汇总(含目录)

    首先,给出MSDN相关地址:http://msdn.microsoft.com/en-us/library/Microsoft.VisualStudio.TestTools.UnitTesting.a ...

  5. VS2012 Unit Test —— 我对IdleTest库动的大手术以及对Xml相关操作进行测试的方式

    [1]我的IdleTest源码地址:http://idletest.codeplex.com/ [2]IdleTest改动说明:2013年10月份在保持原有功能的情况下对其动了较大的手术,首先将基本的 ...

  6. VS2012 Unit Test——Microsoft Fakes入门

    如题,本文主要作为在VS2012使用Fakes的入门示例,开发工具必须是VS2012或更高版本. 关于Fakes的MSDN地址:http://msdn.microsoft.com/en-us/libr ...

  7. MTU(Maximum transmission unit) 最大传输单元

    最大传输单元(Maximum transmission unit),以太网MTU为1500. 不同网络MTU如下: 如果最大报文数据大小(MSS)超过MTU,则会引起分片操作.   路径MTU: 网路 ...

  8. Simulink Memory vs Unit Delay

    Memoryブロック.Unit Delayブロック共に前回の入力値を出力しますが.動作するタイミングが異なります. ●Memoryブロック シミュレーションの各時刻(ステップ)で動作し.「1ステップ」 ...

  9. GRU(Gated Recurrent Unit) 更新过程推导及简单代码实现

    GRU(Gated Recurrent Unit) 更新过程推导及简单代码实现 RNN GRU matlab codes RNN网络考虑到了具有时间数列的样本数据,但是RNN仍存在着一些问题,比如随着 ...

  10. Unit Testing with NSubstitute

    These are the contents of my training session about unit testing, and also have some introductions a ...

随机推荐

  1. 存储单位bit、byte、KB、MB、GB、TB、PB、EB、ZB、YB、BB、NB、DB、CB、XB

    bit(binary digit)比特,这是表示信息的最小单位,它只能表示 0 或 1. byte(字节),其表示的值范围是0~255(无符号) 或 -127~127(有符号),1 byte = 8 ...

  2. kafka删除topic清空数据

    一般情况下,是不会删除数据的.到达一定时间后,kafka会自动删除.如果一定要删除可以删除topic在重建topic了 No. 1: 如果需要被删除topic 此时正在被程序 produce和cons ...

  3. supervisord and pm2 进程守护工具

    目录 安装 pm2 config pm2是一个带有负载均衡功能的应用进程管理器,类似有Supervisor,forever supervisor 特点: 代码修改,实时重启 安装 npm instal ...

  4. centos7.6安装rz命令上传文件

    centos7.6安装rz命令 1.执行安装命令:yum -y install lrzsz 2.进行上传操作:rz   跳转到本地文件选择后即可上传

  5. 图像高斯滤波的Verilog实现

    高斯滤波的原理: 高斯滤波是一种线性平滑滤波,适用于消除高斯噪声,广泛应用于图像处理的减噪过程.通俗的讲,高斯滤波就是对整幅图像进行加权平均的过程,每一个像素点的值,都由其本身和邻域内的其他像素值经过 ...

  6. idea插件Tranlation配置有道搜索引擎

    idea配置有道翻译引擎 一.更换翻译引擎原因 由于Google在2022年9月末宣布关闭GoogleTranslate在中国的服务,原本在chrome浏览器和idea上使用的google翻译引擎也不 ...

  7. startActivity 新开一个Activity

    private void startActivity(Intent intent) { Context ctx = ApplicationController.getTopActivity(); if ...

  8. ubuntu - 程序运行的一些基础知识

    1.指定编码格式 -finput-charset=GB2312 指定 C 程序的编码方式为 GB2312,不指定时默认编码方式为 UTF-8 -fexec-charset=GB2312 指定 可执行程 ...

  9. Tushare金融大数据开放社区 - 数据抽取案例学习

    进入平台介绍 扫码立即注册,更多大数据等你来探索 ! 案例: 导入tushare import tushare as ts 这里注意, tushare版本需大于1.2.10 设置token ts.se ...

  10. sql使用!=查询时会忽略null数据

    table_a有3条数据 column1值分别为1,0,null 那么 select * from table_a where column1!='1' 只会查到clumn1为0的数据,null的数据 ...