复习之七种寻址

liujy2233 liujy2233     2023-04-05     522

关键词:

段寄存器:CS、DS、ES、SS

1.指令

指令由操作数码和操作数两部分构成

操作码:说明计算机要执行的操作,如传送、运算、移位、跳转等操作,它是指令中不可缺少的组成部分。      

操作数:是指令执行的参与者,即各种操作的对象。也就是指令执行操作过程中需要的操作数。

2、寻址

 

1、立即寻址 MOV AX , 3069H

 

 操作数直接存放在指令中,紧跟在操作码之后     

例如:

 

 

     MOV AX,3064H

 

 

2、寄存器寻址 MOV AL , B 

操作数存储在寄存器中,指令中指定寄存器号,这种寻址方式称为寄存器寻址方式。

 

 

 例如 :

    AX=3064H BX=1024H

    MOV AX,BX

得到 AX=1024H BX=1024H 

注意事项:

1、 指令中源操作数和目的操作数都是寄存器时,必须采用同样字长的寄存器,否则汇编时会出错;(源操作数指的是不随指令变化的操作数)

2、两个操作数不能同为段寄存器;

3、目的操作数不能为代码段寄存器(CS)

 

以下各种寻址方式,操作数都在除代码段之外的存储区中,先介绍变址

位移量(displacement):存放在指令中的一个8位或16位或32位的数,但它不是立即数,而是一个地址

基址(base):存放在基址寄存器(如BX、BP)中的内容。它是有效地址中的基址部分,通常用于指向数据段中数组或字符串的首地址

变址(index):存放在变址寄存器(如SI、DI)中的内容。通常用来指向数组中某个元素或字符串的某个字符

EA=基址+(变址x比例因子)+位移量

 

 

3、直接寻址 MOV AX , [ 2000H ]

 

  

操作数的有效地址只包含位移量一种成分,其值就存放在代码段中指令的操作码之后。位移量的值即操作数的有效地址

 

 

执行指令:MOV AX ,[2000H]  设(DS)=3000H。 执行后:(AX)=?

执行:(32000H)→AX  执行后:(AX)=3050H

 

4、寄存器间接寻址 MOV AX , [ BX ]

 

 

操作数的有效地址只包含基址寄存器内容或者变址寄存器内容一种成分。因此有效地址就在某个寄存器中,而操作数则在存储器中。(16位寻址可用的寄存器:BX,BP,SI,DI

 

 

物理地址PA=16×DS + SI/DI/BX 

物理地址PA=16×SS+ BP

不允许使用AX、CX、DX 存放 EA

MOV AX, [CX] 错误

5、寄存器相对寻址 MOV AX , COUNT [ SI ]

操作数的有效地址为基址寄存器或变址寄存器的内容和指令中指定的位偏移量之和。 (寄存器的规定同寄存器间接寻址)

 

 

 

 例如:

MOV AX, COUNT[SI]

或 MOV AX, [COUNT+SI]

假设 (DS)=3000H, (SI)=2000H, COUNT=3000H(符号地址)

EA=SI+COUNT=5000H

PA=DS*16+EA=35000H

则: PA = 35000H

假设(35000H)=1234H, 那么 (AX)=1234H * 

 

 

 

6、基址变址寻址 MOV AX , [ BP ] [ DI ]

操作数有效地址是一个基址寄存器(如BX、BP)和一个变址寄存器(如SI、DI)的内容之和。 有效地址由两种成分组成。

 

 

 

 

MOV AX, [BX] [DI]

MOV AX, [BX+DI]

MOV AX, ES:[BX] [SI]

必须是一个基址寄存器和一个变址寄存器的组合

MOV AX, [BX] [BP] 错误

MOV AX, [SI] [DI] 错误

假设指令:MOV BX, [BX+SI],在执行时,(DS)=1000H,(BX)=2100H,(SI)=0011H,内存单元12111H的内容为1234H。问该指令执行后,BX的值是什么?

EA=BX+SI=2111H

PA=DS*16+EA=12111H

所以得出BX的值为1234H

 

 

7、相对基址变址寻址 MOV AX , MASK [ BX ] [ SI ]

操作数有效地址是一个基址寄存器(如BX、BP)的值与一个变址寄存器(如SI、DI)的值和指令中的偏移量之和。( 16位寻址位:移量为8位/16位) 有效地址由三种成分组成。

 

 

 

 

MOV AX, MASK [BX] [SI]

MOV AX, MASK [BX+SI]

MOV AX, [MASK+BX+SI]

假设指令:MOV AX, [BX+SI+200H],在执行时,(DS)=1000H,(BX)=2100H,(SI)=0010H,内存单元12310H的内容为1234H。问该指令执行后,AX的值是什么?

EA=BX+SI+200H=2310H

PA=DS*16+EA=12310H

所以得出AX值为1234H

 

 

 

8086中的七种寻址方式

寻址方式8086/8088有七种基本的寻址方式:立即寻址,寄存器寻址,直接寻址,寄存器间接寻址,寄存器相对寻址,基址变址寻址,相对基址变址寻址。其中,后五种寻址方式(即直接寻址、寄存器间接寻址、寄存器相对寻址、基... 查看详情

六千字快速复习七种常用排序(代码片段)

文章目录一、插入排序1.原理2.代码实现二、希尔排序1.原理2.代码实现三、选择排序1.原理2.代码实现四、堆排序1.原理2.代码实现五、冒泡排序1.原理2.代码实现六、快速排序1.原理2.代码实现递归版本非递归版本七、归并排序1.原... 查看详情

2021-10-21java:六千字快速复习七种常用排序(代码片段)

文章目录一、插入排序1.原理2.代码实现二、希尔排序1.原理2.代码实现三、选择排序1.原理2.代码实现四、堆排序1.原理2.代码实现五、冒泡排序1.原理2.代码实现六、快速排序1.原理2.代码实现递归版本非递归版本七、归并排序1.原... 查看详情

优秀it顾问的七大能力之七--持续战斗能力

“优秀IT顾问的七大能力之一--专业技术能力”;“优秀IT顾问的七大能力之二--团队协作能力”;“优秀IT顾问的七大能力之三--业务分析能力”;“优秀IT顾问的七大能力之四--沟通确认能力”;“优秀IT顾问的七... 查看详情

汇编学习笔记-80x86寻址方式

...谓寻址方式就是表示指令中数据所在地址的方式。一共有七种寻址方案    立即数寻址    寄存器寻址    直接寻址    寄存器间接寻址    寄存器相对选址    基址变质寻址    相对基址变质寻... 查看详情

六千字快速复习七种常用排序(代码片段)

文章目录一、插入排序1.原理2.代码实现二、希尔排序1.原理2.代码实现三、选择排序1.原理2.代码实现四、堆排序1.原理2.代码实现五、冒泡排序1.原理2.代码实现六、快速排序1.原理2.代码实现递归版本非递归版本七、归并排序1.原... 查看详情

java基础知识回顾之七-----总结篇(代码片段)

...IO。本篇文章则对之前学过的知识进行总结。除了简单的复习之外,还会增加一些相应的理解。基础数据类型基本数据类型主要有:byte、short、int、long、float、double、char、boolean它们可以分为三类:数值类型:byte、short、int、long、floa... 查看详情

汇编小笔记

...单元),寄存器直接寻址,寄存器间接寻址,详细:8086七种寻址方式待续。 查看详情

什么是ip寻址

...式表示指令中操作数所在的方法称为寻址方式。8086/8088有七种基本的寻址方式:立即寻找,寄存器寻址,直接寻址,寄存器间接寻址,寄存器相对寻址,基址加变址寻址,相对基址加变址寻址。直接寻址、寄存器间接寻址、寄存... 查看详情

软考之cpu的寻址方式

   在复习软考的时候。发现CPU的内部工作原理这一部分的内容挺重要的。现对CPU的寻址方式进行了一下总结,以下就来一一介绍一下。   我们都知道一个指令分为操作码和地址码两部分,操作码确定指令的... 查看详情

汇编复习

ax,cx,dx不能和段地址搭配作偏移地址用于寻址,如movmydat[bx][si],es:[ax]错误偏移地址不能再用offset,如movbx,offsetmydat[si]错误cmpdst,src目的操作数不能是立即数,dst和src不能同为内存单元注意标号和变量的区别movlable[si]错误jmp/jnz之类... 查看详情

实验九

...合应用寻址方式和汇编指令完成应用编程二、实验准备1.复习数值和数字字符之间的转换方法,div指令用法2.学习P187-189支撑材料及「实验9提示」(本文档最后一部分)3.复习灵活的寻址方式及本次实验中用到的指令,如mov,loop,div... 查看详情

实验九报告

...合应用寻址方式和汇编指令完成应用编程二、实验准备1.复习数值和数字字符之间的转换方法,div指令用法2.学习P187-189支撑材料及「实验9提示」(本文档最后一部分)3.复习灵活的寻址 查看详情

实验九

...合应用寻址方式和汇编指令完成应用编程二、实验准备1.复习数值和数字字符之间的转换方法,div指令用法2.学习P187-189支撑材料及「实验9提示」(本文档最后一部分)3.复习灵活的寻址方式及本次实验中用到的指令,如mov,loop,div... 查看详情

复习笔记软件工程概论复习

设计工程抽象过程抽象数据抽象架构(体系结构)为系统提供概念上完整性的方式程序构件的结构或组织+和构件的交互形式+构件所用的数据结构(设计)模式已证实的解决方案集逐步求精(refinement)自顶向下的设计策略通过连续精... 查看详情

汇编实验九

...合应用寻址方式和汇编指令完成应用编程二、实验准备1.复习数值和数字字符之间的转换方法,div指令用法2.学习P187-189支撑材料及「实验9提示」(本文档最后一部分)3.复习灵活的寻址方式及本次实验中用到的指令,如mov,loop,div... 查看详情

汇编实验9

...合应用寻址方式和汇编指令完成应用编程二、实验准备1.复习数值和数字字符之间的转换方法,div指令用法2.学习P187-189支撑材料及「实验9提示」(本文档最后一部分)3.复习灵活的寻址方式及本次实验中用到的指令,如mov,loop,div... 查看详情

指令系统

第四章指令系统【复习提示】指令系统是表征一台计算机性能的重要因素。读者应注意扩展操作码技术,各种寻址方式的特点及有效地址的计算,相对寻址有关的计算,CISC与RISC的特点与区别。本章知识点出选择题的概率较大,... 查看详情