当前位置: 首页 > news >正文

微机原理 复习

第一章导论

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

相关文章:

微机原理 复习

第一章导论 1.3 冯诺依曼体系结构 &#xff08;1&#xff09;以二进制形式表示指令和数据 &#xff08;2&#xff09;程序和数据事先放在存储器中&#xff08;预存储&#xff09; &#xff08;3&#xff09;由运算器、控制器、输入设备和输出设备五大部件组成 字长、主频…...

5年工作经验面试经验以及面试题分享

第一家面试题 评价 全是八股文 面试题 MySQL索引类型 索引结构 联合索引可以设置索引类型 不同索引性能差异巨大 基础索引有哪些 B Tree索引和Hash索引 Redis基本数据结构 List是原子的吗 原子性和可见性区别是什么 MySQL的存储过程和视图 MySQL性能优化有哪些 MySQL的存储…...

C# enum Enumeration Type 枚举

定义枚举使用枚举访问枚举值枚举与switch语句枚举特性枚举与位字段总结 在 C#中&#xff0c; enum 是一种特殊的值类型&#xff0c;它允许你为一组相关的常量定义一个名称。枚举提供了一种将一组整数值与更易读的名称关联起来的方法。 定义枚举 你可以使用 enum 关键字来定义…...

【ajax07基础】回调函数地狱

一&#xff1a;什么是回调函数地狱 在一个回调函数中嵌套另一个回调函数&#xff08;甚至一直嵌套下去&#xff09;&#xff0c;形成回调函数地狱 回调函数地狱存在问题&#xff1a; 可读性差异常捕获严重耦合性严重 // 1. 获取默认第一个省份的名字axios({url: http://hmaj…...

华为升腾显卡选型备忘

目录 1. 开发套件 2. 加速模块 3. 加速卡 4. 训练卡 官方地址&#xff1a;https://www.hiascend.com/ 备注&#xff1a; &#xff08;1&#xff09;V后缀的都是Video视频解析卡&#xff0c;本质是推理卡&#xff1b; &#xff08;2&#xff09;I后缀的都是推理卡&#…...

Interview preparation--elasticSearch正排索引原理

正排索引 ElastciSearch 适合做或者说擅长做全文检索&#xff0c;在做全文检索的时候&#xff0c;他会通过生成倒排索引的方式来辅助查询&#xff0c;生成一个词项到 文档id的一个倒排表&#xff0c;这样直接通过 词项可以快速找到所有的 稳定信息。 但是并不是所有的搜索都是…...

C++精解【10】

文章目录 constexpr函数GMP大整数codeblock环境配置数据类型函数类 EigenminCoeff 和maxCoeffArray类 constexpr函数 函数可能在编译时求值&#xff0c;则声明它为constexpr&#xff0c;以提高效率。需要使用constexpr告诉编译器允许编译时计算。 constexpr int min(int x, i…...

Linux高级编程——进程

1.进程的含义? 进程是一个程序执行的过程&#xff0c;会去分配内存资源&#xff0c;cpu的调度 PID, 进程标识符 当前工作路径 chdir umask 0002 进程打开的文件列表 文件IO中有提到 &#xff08;类似于标准输入 标准输出的编号&#xff0c;系统给0&#xff0c;1&#xf…...

手机数据恢复篇:如何在OPPO中恢复永久删除的视频?

说到丢失重要的记忆&#xff0c;如何在OPPO设备中恢复永久删除的视频是一个经常困扰许多用户的话题。意外删除重要视频的情况并不少见&#xff0c;对许多人来说&#xff0c;意识到它们已经消失可能很困难。但是&#xff0c;在正确的指导、方法和工具的帮助下&#xff0c;可以找…...

Obsidan插件开发

1 Obidian 开发 Obsidian 基于 Electron 框架开发&#xff0c;其前端主要使用了 HTML、CSS 和 JavaScript&#xff0c;而后端使用了 Node.js。Node.js 是基于 Chrome V8 引擎的 JavaScript 运行环境&#xff0c;使 JavaScript 能在服务器端运行。 在开发 Obsidian 插件时&…...

【全球首个开源AI数字人】DUIX数字人-打造你的AI伴侣!

目录 1. 引言1.1 数字人技术的发展背景1.2 DUIX数字人项目的开源意义1.3 DUIX数字人技术的独特价值1.4 本文目的与结构 2. DUIX数字人概述2.1 定义与核心概念2.2 硅基智能与DUIX的关系2.3 技术架构2.4 开源优势2.5 应用场景2.6 安全与合规性 3. DUIX数字人技术特点3.1 开源性与…...

微信小程序服务器从腾讯云迁移到阿里云出现的坑

微信小程序服务器从腾讯云迁移到阿里云出现的坑 背景 原先小程序后台服务器到期&#xff0c;因为之前买的是腾讯云新用户&#xff0c;便宜&#xff0c;到期后续费金额懂的都懂。就在阿里云用新用户买了个新的&#xff0c;遂把服务全转到了阿里云服务器上。 此时&#xff0c;域…...

SQL Server触发器深度解析:数据完整性的守护者

标题&#xff1a;SQL Server触发器深度解析&#xff1a;数据完整性的守护者 摘要 在SQL Server中&#xff0c;触发器是一种特殊的存储过程&#xff0c;它在特定数据库事件发生时自动执行。触发器主要用于维护数据的完整性和实施复杂的业务规则。本文将详细介绍SQL Server中触…...

Qt信号槽的坑

1、重载的信号&#xff08;以QSpinBox为例&#xff09; 像是点击按钮之类的信号槽很好连接&#xff0c;这是因为它的信号没有重载&#xff0c;如果像SpinBox那样有重载信号的话&#xff08;Qt5.12的见下图&#xff0c;不过Qt5.15LTS开始就不再重载而是换信号名了&#xff09;&…...

昇思MindSpore学习笔记1--基本介绍

昇思MindSpore是一个全场景深度学习框架。 一、框架组成 1. 模型库ModelZoo 提供深度学习算法网络。 2. 扩展库MindSpore Extend 拓展领域场景&#xff0c;如GNN/深度概率编程/强化学习等。 3. 科学计算MindSpore Science 科学计算套件。 包含数据集、基础模型、预置高精度模…...

Github Page 使用手册(保姆级教程!)

搭建个人网站&#xff1f;没有服务器&#xff1f;那不如尝试一下 Github Page &#xff01; 最近我正好在搭建个人网站&#xff0c;于是就写一篇博客来详细介绍 Github Page 的使用、部署方式吧&#xff01; 一、进入 Github 访问&#xff1a;github.com 如果你没有 github…...

zram压缩机制看swapon系统调用

1.swapon开启zram交换分区 swapon /dev/block/zram0 mkswap /dev/block/zram0 上面命令调用了linux的swapon系统调用启动zram0交换分区;mkswap命令向块设备文件/dev/block/zram0写入了swap_header信息 问题&#xff1a;实际安卓平台是哪里触发swapon和mkswap调用的&#xff…...

SpringBoot2+Vue3开发博客管理系统

项目介绍 博客管理系统&#xff0c;可以帮助使用者管理自己的经验文章、学习心得、知识文章、技术文章&#xff0c;以及对文章进行分类&#xff0c;打标签等功能。便于日后的复习和回忆。 架构介绍 博客管理系统采用前后端分离模式进行开发。前端主要使用技术&#xff1a;Vu…...

JS【详解】Symbol (含Symbol 作为属性名,静态方法for 和 keyFor,11 个内置的 Symbol 值)

ES6 语法&#xff0c;表示唯一且不可变的值&#xff0c;常用作属性键值或者唯一标识符。 let a Symbol() let a Symbol(atomic symbol)console.log(Symbol() Symbol()) // false console.log(Symbol(atom) Symbol(atom)) // falseSymbol 作为属性名 let key Symbol(); le…...

Vue 项目运行时,报错Error: Cannot find module ‘node:path‘

Vue 项目运行时&#xff0c;报错Error: Cannot find module ‘node:path’ internal/modules/cjs/loader.js:883throw err;^Error: Cannot find module node:path Require stack: - D:\nodejs\node_modules\npm\node_modules\node_modules\npm\lib\cli.js - D:\nodejs\node_mo…...

MPNet:旋转机械轻量化故障诊断模型详解python代码复现

目录 一、问题背景与挑战 二、MPNet核心架构 2.1 多分支特征融合模块(MBFM) 2.2 残差注意力金字塔模块(RAPM) 2.2.1 空间金字塔注意力(SPA) 2.2.2 金字塔残差块(PRBlock) 2.3 分类器设计 三、关键技术突破 3.1 多尺度特征融合 3.2 轻量化设计策略 3.3 抗噪声…...

java_网络服务相关_gateway_nacos_feign区别联系

1. spring-cloud-starter-gateway 作用&#xff1a;作为微服务架构的网关&#xff0c;统一入口&#xff0c;处理所有外部请求。 核心能力&#xff1a; 路由转发&#xff08;基于路径、服务名等&#xff09;过滤器&#xff08;鉴权、限流、日志、Header 处理&#xff09;支持负…...

微软PowerBI考试 PL300-选择 Power BI 模型框架【附练习数据】

微软PowerBI考试 PL300-选择 Power BI 模型框架 20 多年来&#xff0c;Microsoft 持续对企业商业智能 (BI) 进行大量投资。 Azure Analysis Services (AAS) 和 SQL Server Analysis Services (SSAS) 基于无数企业使用的成熟的 BI 数据建模技术。 同样的技术也是 Power BI 数据…...

解决Ubuntu22.04 VMware失败的问题 ubuntu入门之二十八

现象1 打开VMware失败 Ubuntu升级之后打开VMware上报需要安装vmmon和vmnet&#xff0c;点击确认后如下提示 最终上报fail 解决方法 内核升级导致&#xff0c;需要在新内核下重新下载编译安装 查看版本 $ vmware -v VMware Workstation 17.5.1 build-23298084$ lsb_release…...

服务器硬防的应用场景都有哪些?

服务器硬防是指一种通过硬件设备层面的安全措施来防御服务器系统受到网络攻击的方式&#xff0c;避免服务器受到各种恶意攻击和网络威胁&#xff0c;那么&#xff0c;服务器硬防通常都会应用在哪些场景当中呢&#xff1f; 硬防服务器中一般会配备入侵检测系统和预防系统&#x…...

Psychopy音频的使用

Psychopy音频的使用 本文主要解决以下问题&#xff1a; 指定音频引擎与设备&#xff1b;播放音频文件 本文所使用的环境&#xff1a; Python3.10 numpy2.2.6 psychopy2025.1.1 psychtoolbox3.0.19.14 一、音频配置 Psychopy文档链接为Sound - for audio playback — Psy…...

2025盘古石杯决赛【手机取证】

前言 第三届盘古石杯国际电子数据取证大赛决赛 最后一题没有解出来&#xff0c;实在找不到&#xff0c;希望有大佬教一下我。 还有就会议时间&#xff0c;我感觉不是图片时间&#xff0c;因为在电脑看到是其他时间用老会议系统开的会。 手机取证 1、分析鸿蒙手机检材&#x…...

听写流程自动化实践,轻量级教育辅助

随着智能教育工具的发展&#xff0c;越来越多的传统学习方式正在被数字化、自动化所优化。听写作为语文、英语等学科中重要的基础训练形式&#xff0c;也迎来了更高效的解决方案。 这是一款轻量但功能强大的听写辅助工具。它是基于本地词库与可选在线语音引擎构建&#xff0c;…...

Hive 存储格式深度解析:从 TextFile 到 ORC,如何选对数据存储方案?

在大数据处理领域&#xff0c;Hive 作为 Hadoop 生态中重要的数据仓库工具&#xff0c;其存储格式的选择直接影响数据存储成本、查询效率和计算资源消耗。面对 TextFile、SequenceFile、Parquet、RCFile、ORC 等多种存储格式&#xff0c;很多开发者常常陷入选择困境。本文将从底…...

08. C#入门系列【类的基本概念】:开启编程世界的奇妙冒险

C#入门系列【类的基本概念】&#xff1a;开启编程世界的奇妙冒险 嘿&#xff0c;各位编程小白探险家&#xff01;欢迎来到 C# 的奇幻大陆&#xff01;今天咱们要深入探索这片大陆上至关重要的 “建筑”—— 类&#xff01;别害怕&#xff0c;跟着我&#xff0c;保准让你轻松搞…...