微机原理 复习

第一章导论

1.3

冯诺依曼体系结构

(1)以二进制形式表示指令和数据

(2)程序和数据事先放在存储器中(预存储)

(3)由运算器、控制器、输入设备和输出设备五大部件组成

字长、主频、架构

地址总线AB

数据总线DB

控制总线CB

运算器ALU

控制器CU

指令寄存器IR

指令译码器ID

可编程逻辑阵列PLA

程序计数器PC  存放下一条要执行指令所在的存储单元的地址

地址寄存器AR

数据缓冲寄存器DR

累加器A

标志寄存器FLAGS(程序状态字PSW)

寄存器阵列RA

存储器

位Bit、字节Byte、字Word

内存容量

K----2^10     M----2^20       G---2^30           T------2^40

第二章 数制和编码

2.2

原码

反码

正数的反码与原码相同

负数的反码是在原码的基础上,符号位不变(仍为1),数值位按位取反

[-0]反=(2^8-1)-0 =1111 1111B

[-127]反=(2^8-1)-127=1000 0000B

补码

正数的补码与其原码、反码相同

负数的补码是在原码基础上,符号位不变,数值位按位取反,末位加1(反码+1)

[+48]补=0011 0000B=30H       字长扩展            =0000 0000 0011 0000B=0030H

[-48]补=1101 0000B=0D0H                                =1111 1111 1101 0000B=0FFD0H

[-128]补=2^8-128(用定义算)=1000 0000B=80H      =0FF80H

溢出

符号位进位CF、数值部分最高位(次高位)进位DF

OF=CF⊕DF

同时有进位或者同时没有进位,结果没有溢出

负+负     正+正     可能溢出

正-正      正+负      不溢出

第三章 8086微处理器

3.1

3.2

主频是指芯片所使用的主时钟频率,直接影响计算机的运行速度

8086有20根地址线,直接对2^20=1M个存储单元进行访问   00000H~FFFFFH

总线接口单元BIU-----------访问内存

执行单元EU----------访问I/O

存储器分段结构  段地址:段内偏移地址(有效地址)

AX累加器

BX基址寄存器  BX用来存放操作数在内存中数据段内的偏移地址,BP用来存放操作室在堆栈段内的偏移地址

CX计数器  在设计循环程序时放循环此时

DX数据寄存器  在寄存器间接寻址的I/O指令中存放I/O端口地址,在双字长乘法运算时,DX与AX一起存放一个双字长操作数,其中DX存放高16位

SP堆栈指针寄存器

BP基指寄存器   堆栈段内的偏移地址

SI源变址寄存器

DI目的变址寄存器

IP程序指针寄存器,用户不能直接访问IP

FLAGS标志寄存器

状态标志位

CF进位标志位

PF奇偶标志位,低8位含有偶数个1时,PF为1

AF辅助进位标志位,低字节的低4位向高4位有进位或借位时,AF=1

ZF零标志位,结果为0,ZF为1

SF符号标志位,最高位为1,SF=1

OF溢出标志位,溢出,OF=1

控制标志位

TF跟踪(陷阱)标志位,TF置1,处于单步工作方式

IF中断允许标志位,用来控制可屏蔽中断的控制标志位,用STI指令将IF置1,表示允许CPU接受外部从INTR引脚上发来的可屏蔽中断请求信号;用CLI指令将IF清0,禁止CPU接受可屏蔽中断请求信号。IF的状态对非屏蔽中断及内部中断没有影响

DF方向标志位,用STD将DF置1,串操作按减地址方式进行(每操作一次地址自动递减);若用CLD将DF清0,串操作按递增地址方式进行

8086引脚

地址/数据分时复用引脚AD15~AD0,传送地址时单向输出,传送数据时双向输入或输出

地址/状态时分复用引脚A19/S6~A16/S3,当访问存储器时,A19~A16,与AD15~AD0一起构成访问存储器的20位物理地址;

控制引脚

NMI非屏蔽中断请求信号

INTR可屏蔽中断请求信号,CPU在每个指令周期的最后一个时钟周期检测该信号是否有效,若此信号有效,表明有外设提出了中断请求,这时若IF=1,则当前指令执行完立即响应中断

M/IO*

物理地址20位A19~A16、D15~D0

逻辑地址  段地址:偏移地址

端口地址

8086系统可访问的8位I/O端口有65536(64K)个

基本的读周期由4个时钟周期组成

第四章  8086指令系统

4.2

4.3

寻址方式

数据寻址方式

  • 立即数寻址方式

        MOV BL,80H        MOV AX,1090H

  • 寄存器寻址方式

        (AX,BX,CX,DX,SI,DI,SP,BP

        MOV CL,DL

        MOV AX,BX

  • 存储器寻址方式

         直接寻址

        MOV AL,[1064H]

        MOV AL,value              (用符号地址来表示偏移量)

        寄存器间接寻址     BX、SI、DI

        MOV ES:[DI],AX

        寄存器相对寻址      BX、SI、DI、BP

        MOV [SI+10H],AX

        MOV CX,[BX+COUNT]

        MOV AL,TABLE[BP]

        基址变址寻址          BX、BP                  SI、DI

        MOV [BX+DI],AX

        MOV AH,[BP][SI]

        基址变址相对寻址   

        MOV AH,[BX+DI+1234H]

        MOV AX,COUNT[BX][SI]

  • I/O端口寻址

        端口直接寻址方式

        IN AL,21H

        端口间接寻址方式

        MOV DX,120H           OUT DX,AX

        >FFH,必须先通过DX        

地址寻址方式

(CS):(IP)

  • 段内转移

        NEAR:更新(IP)

  1. 段内直接

        JMP LABEL             无条件转移(近转移)

        JZ getzero                 条件转移(短转移)

        JMP NEAR PTR PROGIA              -32768~+32767

        JMP SHORT QUEST                     -128~+127

       2.段内间接

        程序转移地址存放在寄存器或存储单元中

        JMP BX

        JMP WORD PTR [BP+TABLE]

  • 段外转移

        FAR:     (CS):(IP)

  1. 段间直接

        JMP LABLE_NAME

        JMP FAR PTR NEXTROUTINT

      2.段间间接

        JMP VAR_DOUBLEWORD           (已定义的32位的存储器变量)

        JMP DWORE PTR[BP][DI]

8086指令系统

  • 数据传送类

        MOV dst,src

        reg/mem<------data

        reg/mem<------>reg

        reg/mem<------>seg

        CS不能做目的操作数

        不能meg<----->meg、seg<----->seg、seg<-----data

  • 堆栈操作指令

        push src   (SP)<-----(SP)-2            ((SP)+1:(SP))<-----(src)

        pop dst     (SP)<-----(SP)+2            (dst)<-----((SP)+1:(SP))

        src:   reg、seg、mem

        dst不能为CS

        dst、src不能是立即数

  • 数据交换指令

        XCHG  dst,src             (dst)<---->(src)

        reg<------>reg/mem        段寄存器的内容不能交换

  • 输入/输出指令

        IN acc,port                  acc<---port

        IN acc,DX

        OUT port,acc

        OUT DX,acc

  • 字节装换指令

        XLAT

        XLAT src_table                AL<-----(BX)+(AL)

        MOV BX,OFFSET Hex_tabel             (BX)<---表首址        offset取出偏移地址

        MOV AL,0AH                                      (AL)<----序号

        XLAT Hex_table

  • 地址传送指令

        LEA reg16,mem

        LEA BX,value           等同于MOV BX,OFFSET value

        mov bx,value这是错误的

地址指针装入DS指令LDS

LDS SI,[0010H]

  • 标志传送指令

        LAHF         load AH from flags

        SAHF        store AH into flags

        PUSHF、POPF

5

6.3

7.3

8

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

如若内容造成侵权/违法违规/事实不符,请联系长河编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

Java8新特性stream的原理和使用

这是一种流式惰性计算&#xff0c;整体过程是&#xff1a; stream的使用也异常方便&#xff0c;可以对比如List、Set之类的对象进行流式计算&#xff0c;挑出最终想要的结果&#xff1a; List<Timestamp> laterTimes allRecords.stream().map(Record::getTime).filter…

【摄像头标定】双目摄像头标定及矫正-opencv(python)

双目摄像头标定及矫正 棋盘格标定板标定矫正 棋盘格标定板 本文使用棋盘格标定板&#xff0c;可以到这篇博客中下载&#xff1a;https://blog.csdn.net/qq_39330520/article/details/107864568 标定 要进行标定首先需要双目拍的棋盘格图片&#xff0c;20张左右&#xff0c;…

30 哈希的应用

位图 概念 题目 给40亿个不重复的无符号整数&#xff0c;没排过序。给一个无符号整数&#xff0c;如何判断一个数是否在这40亿个整数中 1.遍历&#xff0c;时间复杂度O(N) 2.二分查找&#xff0c;需要先排序&#xff0c;排序(N*logN)&#xff0c;二分查找&#xff0c;logN。…

装载问题(回溯法)

#include<iostream> using namespace std; int n;//货物的数量 int c;//轮船的总的载重量 int cw;//轮船当前的载重量 int r;//货物的总重量 int w[1000];//n个货物各自的重量 int x[1000];//当前最优解 int bestx[1000];//最优解 int bestw;//货物的最优载重量 void Bac…

[JS]对象

介绍 对象是一种无序的数据集合, 可以详细的描述某个事物 事物的特征在对象中用属性来表示, 事物的行为在对象中用方法来表示 使用 创建对象 let 对象名 {属性名&#xff1a;值&#xff0c;方法名&#xff1a;函数&#xff0c; } let 对象名 new Object(); 对象名.属性…

Typora failed to export as pdf. undefined

变换版本并没有用&#xff0c;调整图片大小没有用 我看到一个博客后尝试出方案 我的方法 解决&#xff1a;从上图中的A4&#xff0c;变为其他&#xff0c;然后变回A4 然后到处成功&#xff0c;Amazing&#xff01; 参考&#xff1a; Typora 导出PDF 报错 failed to export…

Rpc服务的提供方(Rpcprovider)的调用流程

首先&#xff0c;服务的提供方&#xff0c;会通过rpcprovider向rpc服务方注册rpc服务对象和服务方法&#xff0c; 那么&#xff0c;我们通过protobuf提供的抽象层的service和method&#xff0c;将服务对象和它所对应的服务方法记录在map表中&#xff0c; 当它启动以后&#xff…

WordPress Quiz Maker插件 SQL注入漏洞复现(CVE-2024-6028)

0x01 产品简介 WordPress Quiz Maker插件是一款功能强大的测验生成工具,旨在帮助用户轻松、快速地构建复杂的测验和考试。插件支持多种问题类型,包括单选框(MCQ)、复选框(MCQ)、下拉列表(MCQ)、文本、短文本、数字、日期等。还支持横幅(HTML)显示信息性消息、填空题…

LONGAGENT:优化大模型处理长文本

现有的大模型&#xff08;LLMs&#xff09;&#xff0c;尽管在语言理解和复杂推理任务上取得了显著进展&#xff0c;但在处理这些超长文本时却常常力不从心。它们在面对超过10万令牌的文本输入时&#xff0c;常常会出现性能严重下降的问题&#xff0c;这被称为“中间丢失”现象…

Docker基本使用和认识

目录 基本使用 镜像仓库 镜像操作 Docker 如何实现镜像 1) namespace 2) cgroup 3) LXC Docker常见的网络类型 bridge网络如何实现 基本使用 镜像仓库 镜像仓库登录 1)docker login 后面不指定IP地址&#xff0c;则默认登录到 docker hub 上 退出 2)docker logo…

互联网直播/点播技术与平台创新应用:视频推拉流EasyDSS案例分析

随着互联网技术的快速发展&#xff0c;直播/点播平台已成为信息传播和娱乐的重要载体。特别是在电视购物领域&#xff0c;互联网直播/点播平台与技术的应用&#xff0c;不仅为用户带来了全新的购物体验&#xff0c;也为商家提供了更广阔的营销渠道。传统媒体再一次切实感受到了…

嵌入式Linux系统编程 — 4.7 regcomp、regexec、regfree正则表达式函数

目录 1 为什么需要正则表达式 2 正则表达式简介 3 正则表达式规则 4 regcomp、regexec、regfree函数 4.1 函数介绍 4.2 URL格式案例 1 为什么需要正则表达式 在许多的应用程序当中&#xff0c; 有这样的应用场景&#xff1a; 给定一个字符串&#xff0c;检查该字符串是否…

【小学期】常用基于Swing的七个静态界面

示例1&#xff1a;基本的带按钮和标签的界面 import javax.swing.*; import java.awt.*;public class SimpleSwingApp1 {public static void main(String[] args) {JFrame frame new JFrame("Simple Swing App 1");frame.setDefaultCloseOperation(JFrame.EXIT_ON_C…

5个大气的wordpress付费主题

Sesko赛斯科wordpress外贸主题 适合用于重型机械设备公司建外贸官方网站的橙红色wordpress外贸主题。 https://www.jianzhanpress.com/?p5886 Polar钋啦wordpress外贸主题 制造业wordpress网站模板&#xff0c;适合生产制造企业官方网站使用的wordpress外贸主题。 https:/…

识图生成代码:通义千问vsGPt4o,有点小崩

今日对比一下通义千问和GPt4o&#xff0c;在通过识别图片然后去生成前端代码 在当今ai的时代&#xff0c;通过ai去生成页面的代码可以很大的提高我们的开发效率下面是我们要求的生成的图片截图&#xff0c;这是掘金的榜单 效果对比 首先我们使用通义千问&#xff0c;让他去帮我…

学校消防设施设备管理系统

建立和落实校园消防安全管理责任制,做到消防安全工作有人专管,部门和岗位有人落实的日常管理&#xff0c;及时发现消防安全隐患,及时反映,及时处理,杜绝校园内消防安全隐患。 凡尔码平台搭建学校消防设施设备管理系统可以通过设备管理系统对消防器材设施基本信息、设施有效期、…

[leetcode]avoid-flood-in-the-city 避免洪水泛滥

. - 力扣&#xff08;LeetCode&#xff09; class Solution { public:vector<int> avoidFlood(vector<int>& rains) {vector<int> ans(rains.size(), 1);set<int> st;unordered_map<int, int> mp;for (int i 0; i < rains.size(); i) {i…

运维锅总详解HAProxy

本文尝试从HAProxy简介、HAProxy工作流程及其与Nginx的对比对其进行详细分析&#xff1b;在本文最后&#xff0c;给出了为什么Nginx比HAProxy更受欢迎的原因。希望对您有所帮助&#xff01; HAProxy简介 HAProxy&#xff08;High Availability Proxy&#xff09;是一款广泛使…

Springboot 整合 DolphinScheduler(二):UI页面上的主要功能介绍

&#x1f4cd;当前部署情况&#xff1a;DolphinScheduler V2.0.6 已经在三台服务器上安装完毕&#xff0c;具体如下&#xff1a; 角色 服务器IP master 192.168.1.247 master 192.168.1.248 worker 192.168.1.249 &#x1f4c2; 具体搭建过程&#xff1a;Springboot 整…

绕过命令过滤器:探索UnixLinux中的Bypass技术

前言 在Unix或Linux系统的安全测试和网络防御中&#xff0c;了解如何绕过命令过滤器是非常重要的。今天&#xff0c;我们将探讨几种利用shell命令绕过安全限制的技巧&#xff0c;这些技巧常用于渗透测试中&#xff0c;以检测系统的安全漏洞。 0x00 命令介绍 一般而言&#x…