通用寄存器的主要用途
寄存器的分类 |
寄存器 |
主 要 用 途
|
通
用
寄
存
器
|
数据
寄存器
|
AX |
乘、除运算,字的输入输出,中间结果的缓存
|
AL |
字节的乘、除运算,字节的输入输出,十进制算术运算
|
AH |
字节的乘、除运算,存放中断的功能号
|
BX |
存储器指针
|
CX |
串操作、循环控制的计数器
|
CL |
移位操作的计数器
|
DX |
字的乘、除运算,间接的输入输出
|
变址 寄存器 |
SI |
存储器指针、串指令中的源操作数指针
|
DI |
存储器指针、串指令中的目的操作数指针
|
变址 寄存器 |
BP |
存储器指针、存取堆栈的指针
|
SP |
堆栈的栈顶指针
|
指令指针
|
IP/EIP |
|
标志位寄存器 |
Flag/EFlag |
|
32位
CPU的
段寄存器
|
16位CPU的
段寄存器
|
ES |
附加段寄存器 |
CS |
代码段寄存器 |
SS |
堆栈段寄存器 |
DS |
数据段寄存器 |
新增加的 段寄存器 |
FS |
附加段寄存器 |
GS |
附加段寄存器 |
这张表用来参照。
(1)在8086CPU中只有这四个寄存器可以在[...]中进行内存单元的寻址。
比如,下面的指令都是正确的:
mov ax,[bx]
mov ax,[bx+si]
mov ax,[bx+di]
mov ax,[bp]
mov ax,[bp+si]
mov ax,[bp+di]
而下面都是错误的:
mov ax,[cx]
mov ax,[ax]
mov ax,[dx]
mov ax,[ds]
(2).在[...]中,这四个寄存器可以单独出现,或者只能以四种组合出现:bx和si、bx和di、bp和si、bp和di。
比如下面都是正确的
mov ax,[bx]
mov ax,[si]
mov ax,[di]
mov ax,[bp]
mov ax,[bx+si]
mov ax,[bx+di]
mov ax,[bp+si]
mpv ax,[bp+di]
mov ax,[bx+si+idata]
mov ax,[bx+si+idata]
mov ax,[bp+si+idata]
mov ax,[bp+di+idata]
下面就是错误的
mov ax,[bx+bp]
mov ax,[si+di]
(3)只要在[....]中使用寄存器bp,而指令汇总没有显示给出段地址,段地址就默认在ss中。 比如下面的指令。
mov ax,[bp] 含义:(ax)=((ss)*16+(bp))
mov ax,[bp+idata] 含义:(ax)=((ss)*16+(bp)+idata)
mov ax,[bp+si] 含义:(ax)=((ss)*16+(bp)+(si))
mov ax,[bp+si+idata] 含义:(ax)=((ss)*16+(bp)+(si)+idata)
分享到:
相关推荐
CF:进位借位标志 ZF:零标志 SF:符号标志 OF:溢出标志(4大判定原则) ...在串处理命令中,控制每次操作后源、目的寄存器ESI、EDI的调整方向:DF=0 每次操作后ESI/EDI递增;DF=1每次操作后ESI/EDI递减
个人对汇编语言一些指令的总结 [BX]、[BP]、[SI]、[DI]中一般存放着某个段寄存器的偏移地址,默认情况下,[BX]中存放着数据段(DS)的偏移地址,[BP]中存放着栈段(SS)的偏移地址(功能和SP类似),其中BX只能...
2、通过实例认识汇编语言程序,初步了解程序格式、段定义、标号、DOS系统功能、操作数、指令、说明语句等作用。 3、掌握汇编语言程序从设计到形成可执行程序文件的方法和步骤。 4、了解汇编语言的系统工作文件和工作...
第一部分是基础部分,以8086/8088为背景,以DOS和PC兼容机为软硬件平台,以MASM和TASM为汇编器,介绍汇编语言的有关概念,讲解汇编语言程序设计技术。第二部分是提高部分,以80386为背景,以新一代微处理器Pentium为...
汇编语言(各章知识点) 课程介绍 第1章 预备知识 1.1 汇编语言的由来及其特点 1 机器语言 2 汇编语言 3 汇编程序 4 汇编语言的主要特点 5 汇编语言的使用领域 1.2 数据的表示和类型 1 数值数据...
汇编语言是各种CPU所提供的机器指令的助记符的集合,人们可以用汇编语言直接控制硬件系统进行工作。汇编语言是很多相关课程(如:数据结构、操作系统、微机原理等)的重要基础。为了更好地引导、帮助读者学习汇编语言...
3、简明x86汇编语言教程(3)-使用寄存器 4、简明x86汇编语言教程(4)-操作内存 5、简明x86汇编语言教程(5)-串操作 6、简明x86汇编语言教程(6)-利用子程序与中断 7、简明x86汇编语言教程(7)-编译优化 8、Win32Asm...
最后,文章总结了汇编语言在编写复杂算法方面的应用价值,并强调了学习和掌握汇编语言对于深入理解计算机工作原理和提升编程能力的重要性。通过本文的学习,读者可以更加深入地了解汇编语言的特点和应用,为未来的...
即使是汇编语言也可以进行模块化设计,便于代码复用和调试。 逆向工程与反汇编: 学会阅读反汇编代码,理解其他程序的运行机制。 在编写汇编时考虑其可读性,方便后续维护。 工具链运用: 熟练掌握汇编器、链接器...
1-1 汇编语言介绍 1-1-1 程序设计语言分类 1-1-2 汇编语言程序设计的意义 1-2 位及字节 1-3 二进制数 1-3-1 数字系统 1-3-2 补码 1-3-3 BCD码 1-4 十六进制表示法 1-5 ASCII码 1-6 个人计算机组成 1-6-1 处理器 1-6-...
汇编语言知识点总结 《汇编语言》讲稿.ppt 是一份关于汇编语言的讲稿,主要讲解了在代码段中使用数据、栈和将数据、代码、栈放入不同的段等知识点。本文将从讲稿中提取的知识点进行总结和解释。 知识点 1:在代码...
本书是全国高等教育自学考试指定教材《 汇编语言程序设计》(计算机及应用专业——专科)的同步辅导用书,完全遵循自学考试大纲的要求,总结出汇编语言程序设计课程的知识体系和要点,针对重点与难点设计典型例题并...
对每章节的知识点都进行了总结,方便查看 第二章 :寄存器 第三章: 寄存器(访问存储器) 第四章:第一个程序 第五章:[bx]和loop指令 第六章 :包含多个段的程序 第7章: 更灵活的定位内存地址的方法 第八章 :...
1. 汇编语言简介 2. 安装汇编语言开发环境 3. 基本语法 - 寄存器 - 指令集 - 寻址方式 4. 示例代码 - Hello World - 加法程序 - 循环与条件判断 5. 总结
ARM汇编语言和C语言混合编程 ATPCS规则体现了一种模块化设计的思想,其基本内容是C模块(函数)和汇编模块(函数)相互调用的一套规则(C51中也有类似的一套规则)。我感觉比在线汇编功能强大(不用有很多忌讳),条理更...
4.6. 为何C语言(的函数调用)需要堆栈,而汇编语言却不需要堆栈 81 4.6.1. 保存现场/上下文 82 4.6.1.1. 什么叫做上下文context 82 4.6.2. 传递参数 82 4.6.3. 举例分析C语言函数调用是如何使用堆栈的 83 4.7. 关于...
本文对Uboot中的Start.S...AMR寄存器的别名 + APCS,为何C语言(的函数调用)需要堆栈,而汇编语言却不需要堆栈,关于为何不直接用mov指令,而非要用adr伪指令,mov指令的操作数的取值范围到底是多少,汇编学习总结记录
阶段总结 二、VMProtect静态跟踪 (一)虚拟执行特点 (二)执行引擎的虚拟执行 (三)分析条件跳转的两条出边 三、字节码反编译 (一)中间表示语言 (二)指令化简和优化 (三)转换汇编指令——树模式匹配 (四)...
---------------------------------- Keil C51语言使用技巧及实战_周立功书籍 ---------------------------------- PDF文件,带书签功能,阅读非常方便,不是精品我不发. ...总结 ----------------------------------
应采取的策略:可一定范围内统一汇编语言,结构相同机器间搞系列机。 7、由中间开始的设计思路及优点 既考虑应用也考虑现有器件,由软硬件分界面向两端设计。 优点:并行设计,缩短周期。 系统结构简答题...