- 1、本文档共169页,可阅读全部内容。
- 2、有哪些信誉好的足球投注网站(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
- 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
查看更多
汇编语言 第三章 实方式指令寻址与指令系统
第3章 实方式指令寻址与指令系统 3.1 指令的基本寻址方式 3.2 实方式32位指令寻址 3.3 实方式指令系统 3.4 字符设备I/O功能调用 3.1指令的基本寻址方式 8086 CPU的指令系统的基本指令包括: 数据传送类指令 算术运算类指令 位操作类指令 串操作类指令 控制转移类指令 处理机控制类指令 3.1.1指令的基本格式 大多数数据传送类指令、算术运算类指令、位操作类指令及串操作类指令,其操作数指令有相同的语句格式和操作规定。 指令一般由操作码OP 、寻址方式MOD和一个或多个操作数OD等字段组成。 指令的表示形式 PC微机的多数指令有一个或两个操作数,当然也可以没有操作数,常见的表示形式如下: OP 操作数 OP 目的操作数 源操作数 OP 示例: 单操作数指令只需指定一个操作数。例如将寄存器AX的内容加1后,其和回送到AX,指令的符号表示形式为: INC AX ; AX+1-AX 双操作数指令需要指定两个操作数.当源操作数和目的操作数进行运算后,多数指令将其结果回送到目的操作数的位置。例如寄存器BX与CX的内容相减后,其差送入BX的指令为: SUB BX,CX ; BX-CX-BX 没有操作数指令,即隐含操作数指令,是指在OD位置虽然未明确给出操作数,但在指令OP中隐含有事先安排的操作数。例如: CLC ; 0-CF 3.1.2 寻址方式 立即寻址 寄存器寻址 直接寻址 寄存器间接寻址 寄存器相对寻址 基址变址寻址 相对基址变址寻址 立即寻址(Immediate Addressing) 立即寻址方式中,指令操作码和操作数都在存储器代码段中。 汇编格式:n(n为立即操作数,是用8位或16位二进制补码表示的有符号数) 功能:操作数存放在存储器,指令下一单元的内容为立即操作数n。 图形表示: 示例 MOV AX, 10 执行后(AX)=? 该例中源操作数为立即寻址方式,立即数为10,存放在指令的下一单元。 执行:10→AX 执行后:(AX)=000AH 图形表示: 一、立即寻址 指令中的源操作数是立即数,即源操作数是参加操作的数据本身 例:MOV AX,1200H 寄存器寻址(Register Addressing) 寄存器寻址方式的操作数在指令指明的寄存器中。 功能:操作数直接存放在寄存器中。 图形表示: 寄存器寻址示例: 下列程序执行后,(AX)=?,(BX)=? MOV AX,1234H MOV BX,5678H ADD AX,BX 该程序中MOV指令为数据传送指令操作符,ADD指令为加法指令操作符,三条指令皆为双操作数指令。第一、二条指令AX、BX皆为目的操作数地址,为寄存器寻址方式。第三条指令中,AX为目的操作数地址,BX为源操作数地址。源地址和目的地址皆为寄存器寻址方式。 寄存器寻址示例(续): 执行: 1234H→AX 5678H→BX (AX)+(BX)→AX 执行后:(AX)=68ACH,(BX)=5678H 图形表示: 直接寻址(Direct Addressing) 指令操作码OP后直接给出操作数的16位偏移地址EA。OP与直接地址在代码段,操作数据一般在数据段。 功能:指令下一字单元的内容是操作数的偏移地址EA。 图形表示: 直接寻址示例: 寄存器和存储器内容为:(AX)=1212H,BUF为数据段定义的变量,其偏移地址是2000H,(DS)=3000H,(32000H)=4545H。 执行指令:MOV AX ,BUF 执行后:(AX)=? 执行:(32000H)→AX 执行后:(AX)=4545H 图形表示: 二、直接寻址 指令中直接给出操作数的偏移地址 例:MOV AX,[1200H] 直接寻址 直接寻址方式下,操作数的段地址默认为数据段,但允许段重设,即由指令定义段。 例:MOV AX,ES:[1200H] 寄存器间接寻址(Register Indirect Addressing) 寄存器间接寻址方式中,寄存器R的内容为操作数的偏移地址EA,操作数在存储器中,即: EA=BX \/ BP \/ DI \/ SI 功能:操作数存放在存储器,寄存器R存放操作数的偏移地址EA。 寄存器间接寻址示例: 【例】寄存器和存储器内容分别为:(AX)=0,(BP)=0030H,(SS)=2000H,(20030H)=1234H
文档评论(0)