汇编语言程序设计教程 教学课件 作者 王庆生 3.pptVIP

汇编语言程序设计教程 教学课件 作者 王庆生 3.ppt

  1. 1、本文档共25页,可阅读全部内容。
  2. 2、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
  3. 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载
  4. 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
  5. 5、该文档为VIP文档,如果想要下载,成为VIP会员后,下载免费。
  6. 6、成为VIP后,下载本文档将扣除1次下载权益。下载后,不支持退款、换文档。如有疑问请联系我们
  7. 7、成为VIP后,您将拥有八大权益,权益包括:VIP文档下载权益、阅读免打扰、文档格式转换、高级专利检索、专属身份标志、高级客服、多端互通、版权登记。
  8. 8、VIP文档为合作方或网友上传,每下载1次, 网站将根据用户上传文档的质量评分、类型等,对文档贡献者给予高额补贴、流量扶持。如果你也想贡献VIP文档。上传文档
查看更多
第3章 操作数的寻址方式 计算机中的指令由操作码和操作数组成。 操作数字段可以有一个、两个或三个,通常称为一地址、二地址或三地址指令。 二地址指令中两个操作数分别称为源操作数和目的操作数。 所谓寻址方式就是指令中寻找操作数的方式。 标号:符号地址,表示指令在内存中的位置。标号后应加冒号:。 指令助记符:指令名称,是指令功能的英文缩写。 操作数:指令要操作的数据或数据所在的地址。寄存器,常量,变量,表达式。 注释:每行以分号“;”开头,汇编程序不处理。 注意: 以上两种寻址方式都与存储器无关。 以下各种寻址方式的操作数都在存储器中。 偏移地址也称为有效地址(EA)。 例3.4 MOV AX,[4050H] 该指令中只写出有效地址EA,机器默认DS寄存器作段地址。 例3.5 实际上,源程序中的变量总是用符号定义的,通常使用符号来表示操作数地址,而不是用具体的数值表示。 MOV AX,[VALUE] MOV AX,VALUE MOV AX,DS:VALUE MOV AX,DS:[VALUE] 如果VALUE的偏移地址=4000H,则上面4条指令的有效地址EA=4000H,物理地址也相同。 这4条指令是等效的,就是说,使用符号地址表示操作数地址时,方括号[ ]可以省略。 例3.6 MOV AX,[BX] ;默认DS寄存器作段地址 MOV DX,[BP] ;默认SS寄存器作段地址 MOV ES:[DI],AX ;指定ES寄存器作段地址 例3.8 MOV AX,[BX][SI] ;默认DS寄存器作段地址 MOV AX,[BP][DI] ;默认SS寄存器作段地址 MOV AX,ES:[BX][DI] ;指定ES寄存器作段地址 例3.9 MOV AX,ARRY[BX][SI] ;默认DS寄存器作段地址 注意 双操作数指令的两个操作数中,只能有一个使用存储器寻址方式。 双操作数指令的两个操作数,长度须匹配。 操作数的有效地址前可以加段跨越前缀,但在以下三种情况下不允许: 串处理指令的目的串必须用ES段 PUSH指令的目的和POP指令的源必须用SS段 指令必须存放在CS段 80x86汇编语言指令的一般格式位: [标号:] 指令助记符 [操作数] [;注释] [ ]中的内容位可选项。 3.1.1立即寻址方式 立即寻址方式 操作数就在指令中,紧跟在操作码之后,操作数作为指令的一部分存放在代码段。 例3.1 MOV AL, 6H 执行完此条指令后(AL)=06H 例3.2 MOV AX, 12AFH AX=12AFH,即AH=12H,AL=AFH 注意: 执行时无需去内存取数,因此称为立即数。 主要用于寄存器赋初值。 立即数只能作为源操作数,并且长度与目的操作数一致。 3.1.2 寄存器寻址方式 操作数就是寄存器中的值。指令中给出寄存器名。 例3.3 MOV AX,BX 指令执行后,AX=BX,BX保持不变。 例 MOV AL, BL MOV AX, BX MOV AL, BX 错 MOV AX, BL 错 3.1.3 直接寻址方式 操作数的有效地址EA就在指令中。机器默认段地址在DS中。 3.1.4 寄存器间接寻址方式 操作数的有效地址在寄存器中,只允许使用BX、BP、SI和DI寄存器。 物理地址=16d x (DS) + (BX) 物理地址=16d x (DS) + (SI ) 物理地址=16d x (DS) + (DI ) 物理地址=16d x (SS) + (BP) 3.1.5 寄存器相对寻址方式 操作数的有效地址是寄存器和位移量之和。 位移量可以是8位/16位的常量,也可以是16 位的符号地址。 只允许使用BX、BP、SI和DI寄存器。 默认搭配和寄存器间接寻址方式一样。 例3.7 MOV AX,ARRY[BX] MOV AX,[ARRY][BX] MOV AX,[ARRY+BX] MOV AL,BUF[BX] MOV AL,[BX+8] MOV AX, COUNT[SI] MOV AX, [COUNT+SI] 当COUNT 为16位位移量的符号地址时: 如 DS=3000H, SI=2000H, COUNT=4000H ; (

您可能关注的文档

文档评论(0)

带头大哥 + 关注
实名认证
文档贡献者

该用户很懒,什么也没介绍

1亿VIP精品文档

相关文档