第2章微型计算机的指令系统.pptx

  1. 1、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。。
  2. 2、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载
  3. 3、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
查看更多
第2章 微型计算机的指令系统;;8086的指令格式;2.1 寻址方式;8086支持的寻址方式;①立即寻址;①立即寻址;②寄存器寻址;③直接寻址;③直接寻址;③直接寻址;④寄存器间接寻址;④寄存器间接寻址;作用 利用寄存器作为内存中某个数据单元的地址指针 注意事项 寄存器名称外必须加方括号,以区别寄存器寻址方式; 段超越前缀用来从默认段以外的段中取得数据; 例: MOV BX,ES:[SI];⑤寄存器相对寻址;⑤寄存器相对寻址;用途:通常用这种寻址方式来访问一段连续的内存空间。 注意事项 寄存器名称外必须加方括号,位移量可以在括号前,也可以在括号内,在括号内必须以“+”连接; 如 MOV CX,[BX+36H] 段超越前缀用来从默认段以外的段中取得数据; 例: MOV BX,ES:disp[SI];⑥基址变址寻址;;用途:常用于访问内存中某一二维数组 注意事项 寄存器SI和DI、BP和BX不能同时出现在[ ]中。 只存在四种情况 [BX][SI];[BX][DI];[BP][SI];[BP][DI];隐含寻址;;三种操作数类型;2.2 8086指令系统;2.2.1 数据传送指令;上述指令的共同特点;通用数据传送指令;MOV传送指令(move) 格式 MOV 目的,源 功能 实现CPU内部寄存器之间或寄存器与存储器间的数据传送。 举例 MOV AX, 0FF00H MOV [DI], AX MOV CX, [1000H] MOV BL, 40H[SI];分类 mov r,oprd Oprd: r, mem,segr, imm mov mem, oprd Oprd: r, segr, imm mov segr, oprd (CS除外) Oped: r, mem;注意 指令可以传送一个字节或一个字; IP寄存器不能用作源操作数或目的操作数; 立即数和CS寄存器不能用作目的操作数; 除了源操作数为立即数的情况外,两个操作数中必有一个是寄存器,但不能都是段寄存器;;【数据段】 数据通常存放在数据段中 设某程序数据段定义如下: DATA SEGMENT ;数据段开始 AREA1 DB 14H,3BH,05H ;定义字节变量 AREA2 DB 3 DUP(0) ;复制操作 ARRAY DW 3100H,01A6H ;定义字变量 STRING DB ‘GOOD’ DATA ENDS ;数据段结束 汇编后,DATA将被赋予一个具体的段地址。 各变量将从偏移地址0000H开始依次存放,各变量名地址等于它们在数据段中的偏移量。;从左图来看,各变量偏移地址 AREA1的偏移地址为0000H AREA2的偏??地址为0003H ARRAY的偏移地址为0006H STRING的偏移地址为000AH;例:MOV DX,OFFSET ARRAY 解:ARRAY的偏移地址?DX。(OFFSET:取后面的符号偏移地址的值) 设:ARRAY的定义如左图所示 则:DX = 0006H 例: MOV AL,AREA1 ; AL?AREA1的内容14H MOV AREA2,AL ; 0003H单元? 14H;将AREA1的数据内容传送到AREA2;PUSH进栈指令(Push Word onto Stack) 格式 PUSH OPRD; OPRD: r, mem, seg 功能 将OPRD中的数据压入堆栈。 工作过程 SP←SP-2;(SP+1,SP)←OPRD 操作数要求 可以是16位通用寄存器、段寄存器、存储器中的数据字,但不能是立即数。;POP出栈指令(Pop Word off Stack) 格式 POP dest;dest: r, mem, seg 功能 将栈顶数据弹出至dest。 工作过程 des← (SP+1,SP) ;SP←SP+2 目的操作数要求 可以是16位通用寄存器、段寄存器、存储器中的数据字,但CS不能做目的操作数。;?PUSH和POP演示;堆栈的用途;XCHG交换指令(Exchange) 格式 XCHG 目的,源 功能 实现源操作数和目的操作数的交换。 注意 交换限在通用寄存器之间、寄存器和存储单元之间。段寄存器不能作为操作数,存储单元之间不能进行交换;操作数不能为立即数。;举例

文档评论(0)

158****9376 + 关注
实名认证
内容提供者

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

1亿VIP精品文档

相关文档