8086通用寄存器

news2024/11/19 9:19:27

目录

概述

EU:负责执行指令完成两种操作:算数逻辑运算,计算存储器操作数的偏移地址

BIU:完成所有的总线操作

寄存器

AX

 BX  

CX

DX 

SP,BP,SI,DI

IP

CS,DS,SS,ES  


概述

8086和8088CPU内部基本相同,但它们的外部性能是有区别的。8086是16位数据总线,而8088是8位数据总线(对外操作),在处理一个16位数据字时,8088需要两步操作而8086只需要一步。

8086和8088CPU的内部采用16位字进行操作以及存储器寻址,两者的软件完全兼容,程序的执行也完全相同,然而由于8088要比8086有较多的外部存取操作,所以,对于相同的程序,它将执行的较慢。这两种微处理器都封装在相同的40脚双列直插组件(DIP)中。

考点:8086CPU从功能上可以分为两部分,即总线接口部件BIU(bus interface unit)和执行部件EU(execution unit) 

EU不与外部总线(或称外部世界)相联,他只负责执行指令。而BIU负责从存储器或外部设备中读取指令和读/写数据,即完成所有的总线操作。这两个单元处于并行工作(流水线技术)状态,可以同时进行读/写操作。这样就可以充分利用各部分电路和总线,提高微处理器执行执行的速度。

8086/8088CPU结构

EU:负责执行指令完成两种操作:算数逻辑运算,计算存储器操作数的偏移地址

BIU:完成所有的总线操作

寄存器

AX

经常会作为默认寄存器来使用

例如MUL乘法指令,8位默认操作数就在AL寄存器中,16位默认操作数就在AX中

MUL BX; BX*AX
MUL BL;  BL*AL

AH 主要用在DOS系统功能调用  (输入输出) 

INT 21  中断21    功能号就放在AH中 

 BX  

AX,BX,CX,DX中只有BX可以存地址, 也就是只有它可以加中括号   [BX]

CX

汇编没法像c语言那样定义循环遍历, 通常会把循环次数放在CX中

DX 

1:8086是16位,如果想组成32位,就需要DX寄存器

高16位数据放在DX中,低16位数据放在AX中

还是拿乘法举例

;结果为32位时候
MUL BX; BX*AX->DX(高16)AX(低16)

2:对端口进行操作

如果直接给出立即数只能为 00-FF 很小,大的就要放在DX中

OUT DX,AL

SP,BP,SI,DI

SP :进栈 减,出栈加  

BP:始终指向栈底(好让SP可以找到其实位置,防止内存浪费)

其中 BP,SI,DI 都可以加中括号,作为地址

BX和SI,DI是一伙的,他们在DS

BP自己玩,它对应的是SS

在串操作中,才会区分SI和DI

IP

指令从哪里开始执行   

联用的段寄存器是CS

CS,DS,SS,ES  

CS 存指令的段地址,和它联用的偏移地址的寄存器只有IP

DS   

DS 联用 BX,SI,DI

SS 联用 SP,BP

ES  串操作的时候使用

对应关系 段地址相当于楼号

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.coloradmin.cn/o/687.html

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈,一经查实,立即删除!

相关文章

神经网络每次结果不一样,神经网络预测问题

1、求助:神经网络两次训练的结果不一样 神经网络两次训练的结果不一样,这是因为每次训练的迭代初值不相同(是随机的),所以得到的结果是有差异的。一般的话,软件开启第一次时,运行得到结果是比较…

Java | 学习笔记02 快速之旅

运行已经开发好的Java程序,只需要JRE(Java运行时环境)就可以。但事实上,要想完成一个Java程序的开发,我们至少需要安装好JDK 目录 一、Java环境配置 1.下载JDK 2.配置环境变量 二、Hello World! 三、I…

关于C++、C++ CLI, Java、C# 的自定义类实现列表初始化。

1、C DList_类构造函数 /// <summary> /// 表表初始化 dList<int> idl {1,2,3,4}; /// </summary> /// <typeparam name"T"></typeparam> /// <param name"tList"></param> template<class T> inline …

一只脚踏进Java的大门

一杯热气腾腾的咖啡&#xff0c;没错&#xff0c;这就是Java的标志。学习Java&#xff0c;我们就从这杯咖啡开始。2022年10月24日&#x1f6a9; Hello Java!一、认识Java从Hello world开始二、运行Java程序1、编译运行原理2、JDK、JRE、JVM以及它们之间的关系3、运行步骤展示三…

C语言-简单的程序设计

&#x1f31e;欢迎来到C语言的世界 &#x1f308;博客主页&#xff1a;卿云阁 &#x1f48c;欢迎关注&#x1f389;点赞&#x1f44d;收藏⭐️留言&#x1f4dd; &#x1f31f;本文由卿云阁原创&#xff01; &#x1f320;本阶段属于练气阶段&#xff0c;希望各位仙友顺利完成…

docker 网络

前言 随着容器的普及&#xff0c;经常使用docker创建容器来跑应用&#xff0c;结合开源的kubernetes和istio等&#xff0c;对于无状态的服务有极好的支持能力&#xff0c;秒级调度&#xff0c;弹性伸缩等优势。实际上kube的容器仅仅是接口&#xff0c;实际的容器可以是docker&…

布隆过滤器

文章目录前导布隆过滤器特点映射方式hash 函数BloomFiltersettestreset相关问题应用示例哈希切分例子今天是1024程序员节,祝各位节日快乐啦!!!前导 我们之前使用位图bitset,只能将一个整数映射到比特位上&#xff0c;来判断某个数是否存在 但是假如我们也想把判断一个字符串是…

【Linux】yum 与 vim 的基本使用

文章目录一、yum 背景知识1、商业生态2、开源生态3、软件生态本土化二、yum 的基本使用1、查看软件包2、安装软件3、卸载软件三、vim 的基本使用1、vim 的基本概念2、vim 的基本操作2.1 模式间切换2.2 光标定位2.3 文本复制2.4 文本编辑2.5 底行模式的操作四、简单 vim 配置2、…

前端工程化<npm、cnpm、yarn、npx、pnpm等包管理工具>

平时工作中&#xff0c;像npm、cnpm、yarn等一些工具都是经常经常用的&#xff0c;但可能对里面的一些细节都没太在意&#xff0c;所以这篇就来总结一下加深印象和理解。另外还有pnpm的使用&#xff0c;以及它的优势 1. npm包管理工具 包管理工具npm Node Package Manager&a…

『Halcon与C#混合编程』011_工业相机的SDK介绍

这里以淘宝上的显微精工店铺的相机为例(支持SDK) 一、相机的SDK简单介绍 第一步:安装好驱动,并能正常打开相机 第二部:找到相机的安装目录,查看厂家提供的Demo和开发手册 在Demo中找到C#的Demo,运行Demo.sln 第三步

基于Matlab使用粒子滤波器和高斯滤波器跟踪单个对象(附源码)

此示例说明了如何使用粒子滤波器和高斯和滤波器来跟踪使用仅范围测量的单个对象。 一、介绍 只能观察范围信息的传感器无法通过单次检测提供对物体状态的完整了解。此外&#xff0c;当以笛卡尔坐标系表示时&#xff0c;仅范围测量的不确定性是非高斯的&#xff0c;并产生凹形…

python作业8

目录 1.输入一个整数判断奇数偶数 2.判断一个数是否能被7或11整除但不能同时整除 3.判断某一年是否为闰年&#xff1a;能被4整除但不能被100整除&#xff0c;或者能被400整除 4.《车辆驾驶人员血液、呼气酒精含量阈值与检验》标准中规定&#xff1a;驾驶员血液酒精小于20mg/…

基于Hi3861的听话的狗子

听话的狗子一、项目介绍二、硬件介绍&#xff08;1&#xff09;Hi3861最小系统电路&#xff08;2&#xff09;电源管理电路&#xff08;3&#xff09;USB转串口电路烧录电路&#xff08;4&#xff09;外设接口电路三、PCB设计四、软件部分简介&#xff08;1&#xff09;代码整体…

在 ESP 开发板上开发 UI 不再复杂

如果您尝试过在没有图形库的情况下开发 UI&#xff0c;那么您一定知道这有多困难。幸运的是&#xff0c;由乐鑫芯片驱动的屏幕&#xff0c;可支持用户使用多种图形库来开发 UI&#xff0c; LVGL 就是其中之一。通常情况下&#xff0c;在使用 LVGL 或类似的图形库前&#xff0c;…

SPI、RS232、485、IIC通信协议详细总结

通信协议大全 文章目录通信协议大全前言一、异步通信和同步通信二、RS232和RS4851.RS2322.RS4853.RS232和RS485的区别4.RS232、485与普通串口的区别&#xff1f;三、SPI协议四、IIC协议1.IIC的时序介绍2.IIC传输数据的格式总结前言 通信协议是每一个嵌入式工程师必备的技能。下…

几道简单的Linux驱动相关面试题,你看你会几题?

一、Linux基础 1、任意3种网络操作的Linux命令,并说明他们的含义 1. ifconfig 命令 ifconfig 用于查看和配置 Linux 系统的网络接口。 查看所有网络接口及其状态&#xff1a;ifconfig -a 。 使用 up 和 down 命令启动或停止某个接口&#xff1a;ifconfig eth0 up 和 ifconfi…

WEB渗透扫描与加固

WEB渗透扫描与加固 1.通过PC2中渗透测试平台BackTrack5中的httprint工具对服务器场景Server2003检测HTTP服务器(调用signatures.txt), 并将该操作显示结果“Banner Reported:”之后的字符串作为FLAG提交; 切换路径至/pentest/enumeration/web/httprint下 使用命令./httpr…

阿里巴巴面试题- - -多线程并发篇(二十九)

前言:七月末八月初的时候,秋招正式打响,公司会放出大量的全职和实习岗位。为了帮助秋招的小伙伴们,学长这里整理了一系列的秋招面试题给大家,所以小伙伴们不用太过焦虑,相信你们一定能超常发挥,收到心仪公司的Offer~~ 内容涵盖:Java、MyBatis、ZooKeeper、Dubbo、Elast…

网络安全:技术趋势

下面列出了GlobalData确定的影响网络安全的关键技术趋势。 维护IT系统的安全性是各种类型组织的一项长期任务。网络攻击频繁且越来越复杂&#xff0c;由那些推动地缘政治事业的人或意图赚钱的攻击者实施。2021年&#xff0c;由于员工在疫情期间远程工作&#xff0c;企业在网络…

直流信号隔离采样

前言 最近在做一个案子&#xff0c;这个案子中的一点是高压电压信号隔离采样&#xff1b; 常见的隔离有&#xff1a; 光隔离&#xff08;光耦&#xff09; 磁隔离&#xff08;霍尔&#xff0c;变压器&#xff09; 等等。 那么要测量直流电压线性隔离如何实现&#xff1f;…