网站大量收购闲置独家精品文档,联系QQ:2885784924

汇编语言程序设计 (2).ppt

  1. 1、本文档共124页,可阅读全部内容。
  2. 2、有哪些信誉好的足球投注网站(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
  3. 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载
  4. 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
查看更多
主讲人 刘雪洁 Assembly Language Programming 第2章 80x86的指令系统 2.1 指令格式 2.2 寻址方式 2.3 数据传送类指令 2.4 算术运算类指令 2.5 位操作类指令 2.6 串操作类指令 2.7 控制转移类指令 2.8 处理机控制类指令 2.1 指令格式 计算机是通过执行指令序列来解决问题的。计算机的指令系统就是指该计算机能够执行的全部指令的集合。 指令的一般格式: [标号:] 操作符 OPD, OPS [;注释] 算术运算和位操作类指令的部分单操作数指令的格式: [标号:] 操作符 OPD [;注释] 2.2 寻址方式 2.2.1 立即寻址 2.2.2 寄存器寻址 2.2.3 直接寻址 2.2.4 寄存器间接寻址 2.2.5 变址寻址 2.2.6 基址加变址寻址 2.2.7 跨段问题 2.2.8 与转移地址有关的寻址方式 2.2.1 立即寻址 立即寻址方式中,指令操作码和操作数都在存储器代码段中。 立即数可以是用8位或16位二进制补码表示的有符号数。 功能:常用于给寄存器赋初值,只能用于源操作数字段,且源操作数与目的操作数长度应一致。 【例】MOV AX, 10 执行后(AX)=? 该例中源操作数为立即寻址方式,立即数为10,存放在指令的下一单元。 图形表示: 执行:10→AX 执行后:(AX)=000AH 2.2.2 寄存器寻址 寄存器寻址方式的操作数在指令指明的寄存器中。 图形表示: 执行:1234H→AX 5678H→BX (AX)+(BX)→AX 执行后:(AX)=68ACH,(BX)=5678H 2.2.3 直接寻址 汇编格式:①含有变量的地址表达式。 ②段寄存器名:[EA] 。 功能:指令下一字单元的内容是操作数的有效(偏移)地址EA。 图形表示: 【例】寄存器和存储器内容为:(AX)=1212H,BUF为数据段定义的变量,其偏移地址是2000H,(DS)=3000H,(32000H)=4545H。 执行指令:MOV AX ,BUF(MOV AX , [2000H]) 执行后:(AX)=? 图形表示: 执行:(32000H)→AX 执行后:(AX)=4545H 2.2.4 寄存器间接寻址 寄存器间接寻址方式中,寄存器的内容为操作数的偏移地址EA,操作数在存储器中。 汇编格式:[R] 功能:操作数存放在存储器,寄存器R存放操作数的偏移地址EA。 执行指令:MOV AX ,[BP] 执行后:(AX)=? 图形表示如下: 执行:(20030H)→AX 执行后:(AX)=1234H 2.2.5 变址寻址 变址寻址方式操作数的偏移地址EA为寄存器的内容加位移量,操作数在存储器中,又称为寄存器相对寻址。 汇编格式:X[R](X表示位移量,是8位或16位二进制补码表示的有符号数) 功能:操作数存放在存储器,寄存器R的内容加位移量X为操作数的偏移地址EA。 图形表示如下: 偏移地址EA计算方法如下: 【例】设执行前: (AX)=0040H,(BX)=0030H,(DS)=2000H,(20036H)=0050H 执行指令:ADD 6[BX],AX 执行后:(AX)=?,(BX)=?,(DS)=?, (20036H)=? 图形表示如下: 执行:(20036H)+(AX) →20036H 执行后:(AX)=0040H,(BX)=0030H,(DS)=2000H,(20036H)=0090H。 2.2.6 基址加变址寻址 基址加变址寻址方式中,操作数的偏移地址EA是指令中基址寄存器内容、变址寄存器内容、位移量X三项之和,操作数在存储器中。 汇编格式:X [BR+IR] 功能:操作数存放在存储器,BR的内容加IR的内容加位移量X是操作数的偏移地址EA。 操作数偏移地址EA计算方法如下 2.2.7 跨段问题 按前述规定:若选用BP作间址基址寄存器、变址寄存器或基址寄存器,则操作数在堆栈段,操作数的物理地址PA由堆栈段寄存器SS的内容左移4位与偏移地址EA相加后形成;否则,操作数在数据段,操作数的物理地址PA由数据段寄存器DS的内容左移4位与偏移EA相加后形成。该规定为系统默认状态。当要否定默认状态,到非约定段寻找操作数时,必须用跨段前缀指明操作数的段寄存器名。 汇编格式:段寄存器名:操作数地址。 功能:段寄存器名指明操作数属哪个段。 【例】 MOV

文档评论(0)

seunk + 关注
实名认证
内容提供者

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

1亿VIP精品文档

相关文档