教学文库网 - 权威文档分享云平台
您的当前位置:首页 > 文库大全 > 求职职场 >

汇编语言寻址方式

来源:网络收集 时间:2026-10-05
导读: 汇编语言寻址方式 第6期(总第93期)机械管理开发 No.6(SUMNo.93)MECHANICALMANAGEMENTANDDEVELOPMENT 2006年12月 Dec.2006 汇编语言寻址方式 郭旭平 (长治市太行技校 山西 长治 046

汇编语言寻址方式

第6期(总第93期)机械管理开发

No.6(SUMNo.93)MECHANICALMANAGEMENTANDDEVELOPMENT

2006年12月

Dec.2006

汇编语言寻址方式

郭旭平

(长治市太行技校

山西

长治

046012)

【摘要】详细阐述了在汇编语言指令系统教学中寻址方式的知识。

指令系统

寻址方式

【文章编号】1003-773X(2006)06-0153-02

【文献标识码】B

【关键词】汇编语言【中图分类号】TP312

引言

汇编语言教学中,指令系统是最基本也是最抽象

不同寻址方式的意义,并能记住每一种寻址方式的典型实例。以下例子中,目的操作数默认为是累加器,寻址方式针对于源操作数。

(1)立即寻址:指令中直接给出源操作数,源操作数是8位/16位立即数MOVAL,10H。(2)寄存器寻址:源操作数由CPU内部的寄存器提供ADDAL,BH。这两种寻址方式,源操作数没有寻址问题,不需要访问内存。因此指令执行的速度最快。(3)直接寻址:指令中直接给出了存储器的有效地址为1000H,物理地址=段地址(DS)×16d+MOVAX,[1000H]有效地址1000H,段地址默认为DS。(4)寄存器间接寻址:指令中指出一个基址寄存器BX、BP或变址寄存器SI、DI,并以其内容做为操作数的有效地址,ADDAX,[PB]物理地址=

的一部分,如果学生不能够快速地掌握指令系统,将会直接影响后续课程的学习效果。本文详细介绍了8086/

8088指令系统中寻址方式的教学总结。

由于汇编语言与内部寄存器和存储器有不可分割的密切联系,因此在学习具体指令之前应该使同学们透彻地理解寄存器和存储器两个不同的概念,并能够区分出对它们的不同表示方法。

寄存器存在于CPU内部,每一个寄存器相当于运算器中的一个存储单元,但它的存取速度比存储器要快得多。在计算机的工作过程中寄存器起着重要的作用,用来存放计算过程中所需要的或所得到的各种信息,包括操作数的地址,操作数及运算的中间结果等。

存储器是由许多存储单元组成的,每个单元有唯一确定的编号地址。常用的地址有物理地址(实际地址)、有效地址(偏移地址)、段地址。指令中给出的地址全部是有效地址。在指令中,辨别操作数是否是存储器如操作数,最简单的方法就是看这个操作包含[]与否。果操作数中包含[],这个操作数一定是存储器操作数。

指令是由两个部分组成的,操作码项和操作数项。操作码表明指令完成的操作类型,操作数提供了参加操作的数据和数据所在的内存的地址(有效地址),操作数可以有一个、两个或没有操作数,最常用的是双操作数指令。例如:OPOPRD1,OPRD2。一般情况下,

16dD×(SS)+(BP)。(5)寄存器相对寻址:指令中指出一

个基址或变址寄存器,同时给出一个位移量,寄存器内容与位移之和做为操作数的有效地址。MOVAX,

200H,有效地址EA=(DI)+200H,为物理地址=16D×(DS)+(DI)+200H。(6)基址变址寻址:指令同时指出一个基

址寄存器和一个变址寄存器,两寄存器内容的和为操

[BX][SI],有效地址EA=

物理地址=16D×(BX)+(SI)。(DS)+(BX)+(SI)。在这种寻址

方式中,当基址寄存器为BX时,段寄存器使用DS。当基址寄存器为BP时,段寄存器使用SS。当使用段跨越前缀时,可以改变上述段寄存器使用的约定。例:MOV

(7)DX,ES:[BX][DI],物理地址为16D×(ES)+(BX)+(DI)。

相对基址变址寻址:指令同时给出一个基址寄存器,一个变址寄存器和一个位移量。两个寄存器的内容及位移量三者之和做为操作数的有效地址。例:MOV

作数的有效地址。ADDAX,

OPRD1作为目的操作数,OPRD2作为源操作数。单操作

指令格式为OPOPRD,如DECAx。指令完成的操作是将Ax寄存器中的内容减一送回到Ax中。最后一种是无操作数指令。如CLC指令完成的是清进位标志位指令。1寻址方式

指令中不直接给出操作数的物理地址,而只指出物理地址的获得方式及获得物理地址所需要的参数。寻址方式是寻找操作数所在地址的方法。熟练掌握寻址方式对于今后理解指令的具体操作以及写出正确的指令有重要的意义。在教学过程中,应该使同学们理解

作者简介:郭旭平,女,1970年生,2000年中北大学本科毕业,讲师。

DX,10H[BX][SI,物理地址=16D×(DS)+(BX)+(SI)+10H。

2寻址方式小结

(1)除立即寻址外,其它6种寻址方式既可用于源操作数,也可用于目的操作数。例:MOVAX,-20H[Bx]。指令的操作数是将内存物理地址是160*(DS)+

Mov-20H[BX],AX。指(Bx)-20H单元的内容送到AX。

令的操作数将AX的内容送入内存物理地址为16D*

153

汇编语言寻址方式

第6期(总第93期)机械管理开发2006年12月

(DS)+(Bx)-20H单元中。(2)在所有操作数寻址方式中,基址寄存器BX变址寄址器SI,DI与数据段寄存器DS相对应,基址寄存器BP与堆栈寄存器SS相对应,这种约定只有使用跨越前缀才能改变。(3)参加寻址操

作的段寄存器,基址寄存器和变址寄存器等在指令操作之后其内容一般不变。寻址操作中虽然有地址运算过程,但在计算出的物理地址之后并不送回那个寄存器去,指令操作之后只改变目的操作数,其它寄存器的内容不受影响。(4)寄存器寻址可使用全部通用寄存器(包括8位寄存器和16位寄存器),而寄存器间接寻址、寄存器相对寻址、基址变址寻址和相对基址变址寻址只能使用BX,BP,SI和DI这四个16位寄存器。

由上述寻址方式规定,我们很容易判别出下列指令的对错。

1.MOX,AX,[DX]

3.ADDAX,[SI+DI+100H]2.MOVAX,[BX+AX]4.MOVAL,1000H

这四条指令都是错误的。第一条命令指令的错误在于DX寄存器不可以用作寄存器间接寻址;第二条指令的错误在于AX不是变址寄存器,第三条指令的错误在于两个寄存器都是变址寄存器。第四条指令的错误在于目的操作数或寄存器的长度应与立即数匹配。通过以上寻址方式小结,使学生能很容易地计算出每条指令操作数的物理地址。为今后编制程序和调试汇编语言程序打下坚实的基础。

参考文献

12

沈美明.IBM-PC汇编语言程序设计[M].北京:清华大学出版社,1997.武马群.微型计算机原理[M].中国劳动出版社,1995.

(收稿日期:2006-07-02)

TheAddressingModeofAssemblyLanguage

GuoXuping

〔Abstract〕Thispaperclarifiesthatteachershouldpayattentiontotheinstructionset …… 此处隐藏:2341字,全部文档内容请下载后查看。喜欢就下载吧 ……

汇编语言寻址方式.doc 将本文的Word文档下载到电脑,方便复制、编辑、收藏和打印
本文链接:https://www.jiaowen.net/wenku/1699569.html(转载请注明文章来源)
Copyright © 2020-2025 教文网 版权所有
声明 :本网站尊重并保护知识产权,根据《信息网络传播权保护条例》,如果我们转载的作品侵犯了您的权利,请在一个月内通知我们,我们会及时删除。
客服QQ:78024566 邮箱:78024566@qq.com
苏ICP备19068818号-2
Top
× 游客快捷下载通道(下载后可以自由复制和排版)
VIP包月下载
特价:29 元/月 原价:99元
低至 0.3 元/份 每月下载150份
全站内容免费自由复制
VIP包月下载
特价:29 元/月 原价:99元
低至 0.3 元/份 每月下载150份
全站内容免费自由复制
注:下载文档有可能出现无法下载或内容有问题,请联系客服协助您处理。
× 常见问题(客服时间:周一到周五 9:30-18:00)