汇编常见寄存器以及标志位
汇编常见寄存器以及标志位
通用寄存器
简写 | 英文全称 | 中文 | 作用 |
---|---|---|---|
AX | accumulator | 累加器 | 存放操作数,与外部设备 |
BX | base | 通用寄存器 | 基址寄存器(计算存储器地址时用) |
CX | count | 通用寄存器 | 保存计数值(移位指令,循环指令,串处理指令中用作隐含的计数器) |
DX | data | 通用寄存器 | 双字长运算时存放高位字或存放I/O端口地址 |
SP | stack pointer | 堆栈指针寄存器 | 指示段顶的偏移地址 |
BP | base pointer | 基址指针寄存器 | 与堆栈段寄存器SS联用来确定堆栈段中的某一存储单元的地址 |
SI | source index | 源变址寄存器 | 与DS联用,用于数据段寻址 |
DI | destination index | 目的变址寄存器 | 与ES联用,用于附和段寻址 |
专用寄存器
条件码标志
简写 | 英文全称 | 中文 | 作用 |
---|---|---|---|
IP | instruction pointer | 指令指针寄存器 | 存放代码段中的偏移地址 |
OF | overflow flag | 溢出标志 | 操作数超过机器能表示的范围时为1,否则为0 |
SF | sign flag | 符号标志 | 运算结果为负时为1,否则为0 |
ZF | zero flag | 零标志 | 运算结果为0时为1,否则为0 |
CF | carry flag | 进位标志 | 运算时最高有效位有进位时为1,否则为0 |
AF | auxiliary carry flag | 辅助进位标志 | 第三位有进位时为1,否则为0 |
控制标志位
简写 | 英文全称 | 中文 | 作用 |
---|---|---|---|
DF | direction flag | 方向标志 | 控制串处理信息的方式 |
DF为1时, 每次操作后SI和DI减小
DF为0时, 每次操作后SI和DI增加
系统标志位
简写 | 英文全称 | 中文 | 作用 |
---|---|---|---|
TF | trap flag | 陷阱标志 | TF为1时,每条指令执行完后产生陷阱,由系统控制计算机;TF为0时,CPU正常工作,不产生陷阱 |
IF | interrupt flag | 中断标志 | IF为1时允许CPU响应可屏蔽中断请求,否则关闭中断 |
IOPL | I/O privilege level | I/O特权级 | 在保护模式下用于控制对I/O地址空间的访问 |
段寄存器
简写 | 英文全称 | 中文 | 作用 |
---|---|---|---|
CS | code segment | 代码段 | 存放当前正在运行的程序 |
DS | data segment | 数据段 | 存放当前运行程序所用的数据和串处理指令的源操作数 |
SS | stack segment | 堆栈段 | 定义了堆栈的所在区域,以后进先出的方式访问此区域 |
ES | extra segment | 附加段 | 辅助数据区,串处理指令的目的操作数存放区3 |
8086段寄存器和相应存放偏移地址的寄存器之间的默认组合
段 | 偏移 |
---|---|
CS | IP |
SS | SP或BP |
DS | BX,DI,SI或一个16位数 |
ES | DI(用于串指令) |
保护模式存储器寻址
系统按选择器的内容,根据指定的途径可以找到所选段对应的描述符,从而可以根据其给出的基地址和界限值,确定所要找的存储单元所在的段,再加上逻辑地址中指定的偏移地址,就可以找到相应的存储单元
逻辑地址
形式 | 偏移地址:段地址 |
组成 | 选择器和偏移地址 |
与实模式的区别 | 偏移地址为32位,最大段长为4GB |
描述符
基地址(base) | 用于指定段的起始地址 |
界限(limit) | 存放该段的段长度 |
访问权(access rights) | 说明该段在系统中的功能,并给出访问该段的一些控制信息 |
附加字段 | 表示该段的一些属性 |
外部设备与主机(CPU和存储器)的通信对应的外部接口
数据寄存器 | 存放要在外设和主机间传送的数据,起到缓冲器的作用 |
状态寄存器 | 保存外设或接口的状态信息,以便CPU在必要时测试外设状态 |
命令寄存器 | 将CPU控制命令送给外设或接口 |
使用外设对应的例行程序
简写 | 英文全称 | 名称 | 功能 |
---|---|---|---|
BIOS | basic input/output System | 基本输入输出系统 | 存放在ROM中,层次比DOS低,偏硬件,完成对设备的直接命令或信息传送 |
DOS | disk operation system | 磁盘操作系统 | 开机时由磁盘装入存储器,在其例行程序中可以多次调用BIOS以完成更高级的功能 |
汇编常见寄存器以及标志位相关推荐
- Win32汇编:数组与标志位测试总结
整理复习汇编语言的知识点,以前在学习<Intel汇编语言程序设计 - 第五版>时没有很认真的整理笔记,主要因为当时是以学习理解为目的没有整理的很详细,这次是我第三次阅读此书,每一次阅读都会 ...
- 计算机寄存器及标志位详解
以下是计算机内部寄存器阵列图: 以下FR控制标志位及其含义: 1. CF 进位标识位 进行加减运算时, 如果最高二进制位产生进位或错位, CF则为1, 否则为0. 程序设计中, 常用条件转移指 ...
- 标志寄存器及其标志位
标志寄存器: CPU内部的寄存器,(对于不同的处理机,个数和结构都可能不同)具有三种作用: 用来存储相关指令的某些执行结果: 用来为CPU执行相关指令提供行为依据: 用来控制CPU的相关工作方式. 8 ...
- 【汇编/接口技术】标志位、指令的基础题目讲解
目录 标志位的判断 1. 进位标志位 (CF) 2. 溢出标志位 (OF) 3. 辅助进位 (AF) 4. 奇偶标志位 (PF) 5. 符号标志位 (SF) 6. 零标志位 (ZF) 判断指令对错 M ...
- 8086cpu中,FR寄存器的标志位
6个状态标志位 1. CF(Carry Flag)--进位标志位.当执行一个加法(或减法)运算,使最高位产生进位(或借位)时,CF为1:否则为0. 2. PF(Parity Flag)--奇偶标志位. ...
- x86架构所有寄存器和标志位详细信息(全名+作用)
AX(accumulator):累加寄存器 BX(base):基址寄存器 CX(count):计数寄存器 DX(data):数据寄存器 SP(Stack Pointer):堆栈指针寄存器 BP(Bas ...
- 汇编:ZF(zero flag)标志位
ZF: ZR(ZERO) NZ(NOT ZERO)
- 汇编:CF(carry flag)标志位
F:flag CY: carry yes NC:not carry CF只跟 add等运算指令有关. mov,push等移动指令不会改变CF.
- USART库函数中用于清除标志位的一些函数,如读DR寄存器的值清除标志位
USART库函数中用于清除标志位的一些函数,如读DR寄存器的值清除标志位 刚学M4没多久,对于库函数的使用还有些陌生,因为之前学的是寄存器配置,今天在用库函数配置usart的时候,遇到了不知道该调用哪 ...
最新文章
- Silverlight Analytics Framework(开源分析框架)
- 科研文献|圈养和类人猿微生物组的共同多样化
- http://www.fx114.net/qa-24-116329.aspx
- [POI2007]堆积木Klo
- Spring MVC+Spring +Hibernate配置事务,但是事务不起作用
- 28个MongoDB经典面试题
- 你知道i=i++;的含义吗?原理其实没有你想的那么简单
- python open encoding_Python文件操作
- 高斯拟合原理_数据分析中的插值与拟合(2) —— 拟合
- 深度学习 --- BP算法详解(BP算法的优化)
- 遗传算法的手工模拟计算示例(通俗易懂)(包含遗传算法原理、遗传算法代码)
- Hastelloy C22合金板材 圆钢 无缝管
- CSS系列之连续的字母或数字在Html盒子中不会自动换行,直接溢出
- uwp版的音乐播放器练手
- Java中this关键字和super关键字用法
- 纯白的月光石(《月光石》中文版)
- 用C#开发带农历的日历
- OpenLayers加载WMS
- 已解决 java.sql.SQLException: 列名无效
- 支付宝和微信开发文档
热门文章
- FileProvider的使用
- 计算机视觉与模式识别代码合集第二版three
- 资源字典——程序集之间的资源共享
- Spring 配置文件加载原理
- server sql 多表事物 自增id_最实用的 SQL 语句收藏,程序员看完这篇就够了!
- druid 多数据源_SpringBoot+Mybatis+Druid+PageHelper 实现多数据源并分页
- eclipse打war包_jar包和war包的区别
- 硬盘坏道隔离工具fbdisk_如何屏蔽硬盘坏道 屏蔽硬盘坏道方法介绍【详解】
- python zip用法_python zip用法
- Spring-beans-BeanWrapper