微机原理ch4_2解析.ppt

  1. 1、本文档共79页,可阅读全部内容。
  2. 2、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
  3. 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载
  4. 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
查看更多
微机原理ch4_2解析

4.3 8086/8088指令系统 8086/8088CPU指令系统包含有133条基本指令。按其功能可以分为6类,它们是: ⑴ 数据传送类指令 ⑵ 算术运算类指令 ⑶ 逻辑运算与移位类指令 ⑷ 字符串指令 ⑸ 控制转移类指令 ⑹ 处理器控制类指令。 学习指令的注意事项 指令的功能——该指令能够实现何种操作。通常指令助记符就是指令功能的英文单词或其缩写形式 指令支持的寻址方式——该指令中的操作数可以采用何种寻址方式 指令对标志的影响——该指令执行后是否对各个标志位有影响,以及如何影响 汇编语言指令语句格式 由4部分组成: 标号:指令助记符 目的操作数,源操作数 ;注释 标号表示该指令在主存中的逻辑地址 每个指令助记符就代表一种指令 目的和源操作数表示参与操作的对象 注释是对该指令或程序段功能的说明 用到的符号意义如下: DST:目的操作数 SRC:源操作数 OPR:操作数 MEM:存储器操作数 REG:寄存器操作数 (16位的AX,BX,CX,DX,BP,SP,SI,DI或 8位的AH,AL,BH,BL,CH,CL,DH,DL) SEG:段寄存器(16位的CS,DS,ES,SS) Data:立即数 port:8位的端口地址 DST_ADDR:转移的目标地址 COUNT:计数器 一、 数据传送类指令 数据传送类指令将数据、地址或立即数传送到寄存器或存储器单元中。它又可分为通用数据传送指令、累加器专用传送指令、地址传送指令和标志传送指令等四组。 (一)通用数据传送指令 1. 最基本的传送指令MOV 指令格式及操作: MOV dst,src ;(dst)←(src) dst 是目的操作数 Src 是源操作数 需说明一点,对于代码段寄存器CS和指令指针寄存器IP,通常无需用户利用传送指令改变其中的内容。但是CS可以作为源操作数。 说明: *DST和SRC的组合关系是: ① REG/MEM = data ② REG/MEM = REG ③ REG/MEM = SEG *CS不能做目的操作数; *不能MEM=MEM,不能SEG=SEG, 不能SEG=data *MOV不改变源操作数,不影响标志位。 例: MOV AL,80H MOV word ptr [BX],1020H MOV AX,BX MOV DH,AL MOV [BX+10H],DX MOV DX,[BX+SI] MOV SS,AX MOV SS,[1000H] MOV AX,DS MOV [3020H],DS 2.堆栈操作指令 堆栈操作指令是用来完成压入和弹出堆栈操作的。 ⑴ 压入堆栈指令 指令格式及操作: PUSH src ;(SP) ←(SP)-2, ((SP)+1:(SP)) ←(src) ⑵ 弹出堆栈指令 指令格式及操作: POP dst ; (dst) ←((SP)+1:(SP)), (SP) ←(SP)+2 源操作数src和目的操作数dst可以是REG/MEM/SEG ,且必须是16位的操作数,但不能是立即数。 说明: *堆栈按后进先出原则组织。 *堆栈操作以字为单位进行。 *目的操作数dst不可以是CS。 *指令中的操作数不能是立即数。 (二) 累加器专用指令 这类指令中的一个操作数必须是累加器。累加器操作数可以是8位的,也可以是16位的。 1.输入/输出指令 输入输出指令可以分为两大类:一类是直接端口地址的输入/输出指令:一类是通过DX寄存器间接端口地址的输入/输出指令。 ⑴ 输入指令 ①直接寻址的输入指令 指令格式及操作: IN acc, port ;(acc) ←(port) ②间接寻址的输入指令 指令格式及操作: IN acc, DX ;(acc) ←((DX)) ⑵ 输出指令 ①直接寻址的输出指令 指令格式及操作: OUT port, acc ; (port) ← (acc) ②间接寻址的输出指令 指令格式及操作: OUT DX, acc ; ((DX)) ← (acc) 2.字节转换指令 指令格式及操作: XLAT src_table ;(AL) ←((BX)+(AL)) XLAT指令是用来将一种字节代码转换成另一种字节代码。

文档评论(0)

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

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

1亿VIP精品文档

相关文档