第二章8086微处理器与汇编语言(上)..pptVIP

  1. 1、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。。
  2. 2、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载
  3. 3、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
  4. 4、该文档为VIP文档,如果想要下载,成为VIP会员后,下载免费。
  5. 5、成为VIP后,下载本文档将扣除1次下载权益。下载后,不支持退款、换文档。如有疑问请联系我们
  6. 6、成为VIP后,您将拥有八大权益,权益包括:VIP文档下载权益、阅读免打扰、文档格式转换、高级专利检索、专属身份标志、高级客服、多端互通、版权登记。
  7. 7、VIP文档为合作方或网友上传,每下载1次, 网站将根据用户上传文档的质量评分、类型等,对文档贡献者给予高额补贴、流量扶持。如果你也想贡献VIP文档。上传文档
查看更多
第二章微处理器与汇编语言(上) 一、8086系统结构 二、寻址方式 汇编语言指令分类 1. 执行指令 2. 伪指令 3. 宏指令 汇编指令的一般格式是: [标号:] 助记符 [操作数1, 操作数2, 操作数3] [;注释] 1.分别指出下列指令的寻址方式 (1) MOV SI , 100 (2) MOV AX , 080AH (3) MOV AX , [22A0H] (4) MOV AX , BX (5) MOV AX , [SI] (6) MOV AX , DTAB[SI] (7) MOV AX , MDAT[BX][SI] 2.假定DS=2000H,SS=1500H,SI=00A0H,BX=0100H,BP=0010H,数据变量VAL的偏移地址为0050H。 请指出下列指令是什么寻址方式? 它的物理地址是多少? (1) MOV AX , 100H (2) MOV AX , [100H] (3) MOV AX ,[BP] (4) MOV AX ,VAL[BX][SI] (1)立即寻址方式,操作数地址就在本条指令中。 (2)直接寻址方式, 物理地址=DS*10H+100H=20100H (3)寄存器间接寻址, 物理地址=SS*10H+BP=15010H (4)基址加变址寻址方式,物理地址=DS*10H+BX+SI+VAL=201F0H 2.寻址方式 (1)立即数寻址 指令所需的操作数直接包含在指令代码中,立即数可以是8位,也可以是16位。例如: MOV AX,1234H MOV AH,0ABH 立即数作为指令的一部分直接从BIU的指令序列中取出,不需要占用总线周期,故执行速度快。但这种寻址方式的使用受到一定的限制。 2.寻址方式 (2)寄存器寻址 指令所需的操作数在CPU内的某个寄存器中,存取操作不占总线周期,执行速度快。 指令中直接书写寄存器名,如AX、BX、AL、CH、DS、ES等,寄存器可以是8位或16位,同一条指令中,源操作数和目的操作数的位数要求必须相同。例如: MOV CL,AL MOV DH,BH MOV DX,CX MOV DS,AX 2.寻址方式 (2)寄存器寻址(续) 汇编语言源程序中,存储地址是以逻辑地址形式表示,即段基值和偏移量,其中,段基值在段寄存器,偏移量表示存储单元与段起始地址的偏移。有效地址由三个地址分量组合构成,三个地址分量是: ① 位移量 指令中以变量名或标号给出的8位或16位数。汇编后,这些操作数名的偏移量被转换为指令代码中的位移量。 2.寻址方式 (2)寄存器寻址(续) ② 基地址 由基址寄存器BX或基址指针BP所提供。 ③ 变址 由源变址SI或目的变址DI提供的内容。 三个地址分量组合时,若出现两个或两个以上分量时,则需进行以216为模的16位加法运算。正是因为三个地址分量的不同组合,才会出现对存储器操作数寻址的多种不同的寻址方式。 2.寻址方式 (3)直接寻址 这是存储器寻址方式中最简单的,有效地址EA直接由位移量给出,如图2-2-2所示。 这种方式不涉及其它寄存器(段寄存器除外),主要用于存、取简单变量。在指令中,直接寻址方式可以用符号或常数来表示。 操作码 位移量 EA 图2-2-2 直接寻址方式 2.寻址方式 (3)直接寻址(续) ① 用符号表示 MOV BX,VAR 该指令等价于:MOV BX,DS。它是将变量VAR(隐含使用段寄存器DS)所指的字单元内容传送给BX寄存器。 MOV CL,DA+3 该指令是把由DA地址偏移三个字节单元的那个单元的内容送给CL寄存器。 2.寻址方式 (3)直接寻址(续) ② 用常数表示 MOV AX,DS:[100H] 该指令是把由当前数据段偏移100H个字节的那个字单元的内容送给AX寄存器。 注意:用常数表示位移量时,段寄存器必须指明,不能缺省。 2.寻址方式 (4)寄存器间接寻址 操作数地

文档评论(0)

wyjy + 关注
实名认证
文档贡献者

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

1亿VIP精品文档

相关文档