微机原理 复习
第一章导论
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)
- 段内直接
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)
- 段间直接
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 冯诺依曼体系结构 (1)以二进制形式表示指令和数据 (2)程序和数据事先放在存储器中(预存储) (3)由运算器、控制器、输入设备和输出设备五大部件组成 字长、主频…...
5年工作经验面试经验以及面试题分享
第一家面试题 评价 全是八股文 面试题 MySQL索引类型 索引结构 联合索引可以设置索引类型 不同索引性能差异巨大 基础索引有哪些 B Tree索引和Hash索引 Redis基本数据结构 List是原子的吗 原子性和可见性区别是什么 MySQL的存储过程和视图 MySQL性能优化有哪些 MySQL的存储…...
C# enum Enumeration Type 枚举
定义枚举使用枚举访问枚举值枚举与switch语句枚举特性枚举与位字段总结 在 C#中, enum 是一种特殊的值类型,它允许你为一组相关的常量定义一个名称。枚举提供了一种将一组整数值与更易读的名称关联起来的方法。 定义枚举 你可以使用 enum 关键字来定义…...
【ajax07基础】回调函数地狱
一:什么是回调函数地狱 在一个回调函数中嵌套另一个回调函数(甚至一直嵌套下去),形成回调函数地狱 回调函数地狱存在问题: 可读性差异常捕获严重耦合性严重 // 1. 获取默认第一个省份的名字axios({url: http://hmaj…...
华为升腾显卡选型备忘
目录 1. 开发套件 2. 加速模块 3. 加速卡 4. 训练卡 官方地址:https://www.hiascend.com/ 备注: (1)V后缀的都是Video视频解析卡,本质是推理卡; (2)I后缀的都是推理卡&#…...
Interview preparation--elasticSearch正排索引原理
正排索引 ElastciSearch 适合做或者说擅长做全文检索,在做全文检索的时候,他会通过生成倒排索引的方式来辅助查询,生成一个词项到 文档id的一个倒排表,这样直接通过 词项可以快速找到所有的 稳定信息。 但是并不是所有的搜索都是…...
C++精解【10】
文章目录 constexpr函数GMP大整数codeblock环境配置数据类型函数类 EigenminCoeff 和maxCoeffArray类 constexpr函数 函数可能在编译时求值,则声明它为constexpr,以提高效率。需要使用constexpr告诉编译器允许编译时计算。 constexpr int min(int x, i…...
Linux高级编程——进程
1.进程的含义? 进程是一个程序执行的过程,会去分配内存资源,cpu的调度 PID, 进程标识符 当前工作路径 chdir umask 0002 进程打开的文件列表 文件IO中有提到 (类似于标准输入 标准输出的编号,系统给0,1…...
手机数据恢复篇:如何在OPPO中恢复永久删除的视频?
说到丢失重要的记忆,如何在OPPO设备中恢复永久删除的视频是一个经常困扰许多用户的话题。意外删除重要视频的情况并不少见,对许多人来说,意识到它们已经消失可能很困难。但是,在正确的指导、方法和工具的帮助下,可以找…...
Obsidan插件开发
1 Obidian 开发 Obsidian 基于 Electron 框架开发,其前端主要使用了 HTML、CSS 和 JavaScript,而后端使用了 Node.js。Node.js 是基于 Chrome V8 引擎的 JavaScript 运行环境,使 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 开源性与…...
微信小程序服务器从腾讯云迁移到阿里云出现的坑
微信小程序服务器从腾讯云迁移到阿里云出现的坑 背景 原先小程序后台服务器到期,因为之前买的是腾讯云新用户,便宜,到期后续费金额懂的都懂。就在阿里云用新用户买了个新的,遂把服务全转到了阿里云服务器上。 此时,域…...
SQL Server触发器深度解析:数据完整性的守护者
标题:SQL Server触发器深度解析:数据完整性的守护者 摘要 在SQL Server中,触发器是一种特殊的存储过程,它在特定数据库事件发生时自动执行。触发器主要用于维护数据的完整性和实施复杂的业务规则。本文将详细介绍SQL Server中触…...
Qt信号槽的坑
1、重载的信号(以QSpinBox为例) 像是点击按钮之类的信号槽很好连接,这是因为它的信号没有重载,如果像SpinBox那样有重载信号的话(Qt5.12的见下图,不过Qt5.15LTS开始就不再重载而是换信号名了)&…...
昇思MindSpore学习笔记1--基本介绍
昇思MindSpore是一个全场景深度学习框架。 一、框架组成 1. 模型库ModelZoo 提供深度学习算法网络。 2. 扩展库MindSpore Extend 拓展领域场景,如GNN/深度概率编程/强化学习等。 3. 科学计算MindSpore Science 科学计算套件。 包含数据集、基础模型、预置高精度模…...
Github Page 使用手册(保姆级教程!)
搭建个人网站?没有服务器?那不如尝试一下 Github Page ! 最近我正好在搭建个人网站,于是就写一篇博客来详细介绍 Github Page 的使用、部署方式吧! 一、进入 Github 访问: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信息 问题:实际安卓平台是哪里触发swapon和mkswap调用的ÿ…...
SpringBoot2+Vue3开发博客管理系统
项目介绍 博客管理系统,可以帮助使用者管理自己的经验文章、学习心得、知识文章、技术文章,以及对文章进行分类,打标签等功能。便于日后的复习和回忆。 架构介绍 博客管理系统采用前后端分离模式进行开发。前端主要使用技术:Vu…...
JS【详解】Symbol (含Symbol 作为属性名,静态方法for 和 keyFor,11 个内置的 Symbol 值)
ES6 语法,表示唯一且不可变的值,常用作属性键值或者唯一标识符。 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 项目运行时,报错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…...
基于Uniapp开发HarmonyOS 5.0旅游应用技术实践
一、技术选型背景 1.跨平台优势 Uniapp采用Vue.js框架,支持"一次开发,多端部署",可同步生成HarmonyOS、iOS、Android等多平台应用。 2.鸿蒙特性融合 HarmonyOS 5.0的分布式能力与原子化服务,为旅游应用带来…...
[10-3]软件I2C读写MPU6050 江协科技学习笔记(16个知识点)
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16...
工业自动化时代的精准装配革新:迁移科技3D视觉系统如何重塑机器人定位装配
AI3D视觉的工业赋能者 迁移科技成立于2017年,作为行业领先的3D工业相机及视觉系统供应商,累计完成数亿元融资。其核心技术覆盖硬件设计、算法优化及软件集成,通过稳定、易用、高回报的AI3D视觉系统,为汽车、新能源、金属制造等行…...
QT3D学习笔记——圆台、圆锥
类名作用Qt3DWindow3D渲染窗口容器QEntity场景中的实体(对象或容器)QCamera控制观察视角QPointLight点光源QConeMesh圆锥几何网格QTransform控制实体的位置/旋转/缩放QPhongMaterialPhong光照材质(定义颜色、反光等)QFirstPersonC…...
Python Einops库:深度学习中的张量操作革命
Einops(爱因斯坦操作库)就像给张量操作戴上了一副"语义眼镜"——让你用人类能理解的方式告诉计算机如何操作多维数组。这个基于爱因斯坦求和约定的库,用类似自然语言的表达式替代了晦涩的API调用,彻底改变了深度学习工程…...
LabVIEW双光子成像系统技术
双光子成像技术的核心特性 双光子成像通过双低能量光子协同激发机制,展现出显著的技术优势: 深层组织穿透能力:适用于活体组织深度成像 高分辨率观测性能:满足微观结构的精细研究需求 低光毒性特点:减少对样本的损伤…...
【LeetCode】3309. 连接二进制表示可形成的最大数值(递归|回溯|位运算)
LeetCode 3309. 连接二进制表示可形成的最大数值(中等) 题目描述解题思路Java代码 题目描述 题目链接:LeetCode 3309. 连接二进制表示可形成的最大数值(中等) 给你一个长度为 3 的整数数组 nums。 现以某种顺序 连接…...
libfmt: 现代C++的格式化工具库介绍与酷炫功能
libfmt: 现代C的格式化工具库介绍与酷炫功能 libfmt 是一个开源的C格式化库,提供了高效、安全的文本格式化功能,是C20中引入的std::format的基础实现。它比传统的printf和iostream更安全、更灵活、性能更好。 基本介绍 主要特点 类型安全:…...
智能职业发展系统:AI驱动的职业规划平台技术解析
智能职业发展系统:AI驱动的职业规划平台技术解析 引言:数字时代的职业革命 在当今瞬息万变的就业市场中,传统的职业规划方法已无法满足个人和企业的需求。据统计,全球每年有超过2亿人面临职业转型困境,而企业也因此遭…...
【靶场】XXE-Lab xxe漏洞
前言 学习xxe漏洞,搭了个XXE-Lab的靶场 一、搭建靶场 现在需要登录,不知道用户名密码,先随便试试抓包 二、判断是否存在xxe漏洞 1.首先登录抓包 看到xml数据解析,由此判断和xxe漏洞有关,但还不确定xxe漏洞是否存在。 2.尝试xxe 漏洞 判断是否存在xxe漏洞 A.send to …...
