- 1、本文档共20页,可阅读全部内容。
- 2、有哪些信誉好的足球投注网站(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
- 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
查看更多
第五章第1讲指令格式及寻址方式
本章内容及学习目标 指令格式(掌握) 寻址方式(掌握、学会区分) 常用指令(熟悉) 第1讲 指令格式与寻址方式 常用英文缩写 指令书写格式 寻址方式(区分4种方式) 如:已知 AX = 0032H BX = 1100H 执行指令 ADD AX , BX 指令功能:将AX中的内容与BX中的内容相加,结果放入AX中。 分析:BX是源操作数,AX是目的操作数。 执行结果: AX = 1132H BX = 1100H 输入输出指令 输入指令 IN IN AL或AX ,端口号 输出指令 OUT OUT 端口号,AL或AX 如:IN AL ,50H 如:IN AX ,60H 如:MOV DX , 10FEH IN AL , DX 例:输出一个字节数据到383H端口 分析: 383H ≥ 100H,用间接端口寻址,端口号放入DX。 MOV DX ,383H 输出字节,OUT指令源操作数为AL寄存器。 OUT DX ,AL 例: 将386H端口的字数据输入 分析: 386H ≥ 100H,应采用寄存器间接寻址,端口号放入DX。 MOV DX ,386H 输入字,OUT指令源操作数为AX寄存器。 IN AX , DX * * Welcome to... Instructions of Assembly Language 常用英文缩写 R — register 寄存器 M — memory 存储器 Dst — destination 目的操作数 Src — source 源操作数 EA—effective address 有效地址(偏移地址) 指令书写格式 [标号:] 操作码 操作数 [;注释] 标号 可省略,后面必须有冒号,标号与冒号同在或同不在。 操作码(指令助记符) 用于说明指令的功能,表示CPU执行什么操作。汇编语言操作码不区分大小写。操作码在存储器中只占一个字节。 操作数 用于说明CPU操作的对象。操作数可有0-2个,当有2个时,用逗号分开。 操作数分为源操作数和目的操作数,都可以被操作,但操作结果只能放在目的操作数中。 注释 可省略,对程序添加适当的说明,必须以分号开始。 寻址方式 寻找操作数的方式 CPU 内存 接口 总线 寄存器操作数 存储器操作数 端口 操作数 立即数寻址 寄存器寻址 存储器寻址 I/O端口寻址 →到哪寻找? 立即数寻址 特征:操作数以常数形式直接包含在指令中。 (IN和OUT指令除外) 用途:给寄存器或存储器单元赋值。 注意:立即数寻址只能用于src而不能用于dst。 如. MOV AX ,3128H 执行结果:AX = 3128H 如. MOV DX, 1000 执行结果:DX = 03E8H 如. Mov AL, 5 执行结果:AL = 05H 寄存器寻址 特征:操作数在寄存器中,指令中给出寄存器名 用途:临时保存信息。 注意:SRC必须和DST长度一致。 寄存器之间的数据传输相当于复制。 Eg. 已知AX=1234H, CX=5678H 执行 Mov CX , AX 执行结果 CX = 1234H AX = 1234H Eg. AX = 1234H Mov DS , AX 执行结果 DS = AX =1234H Eg. AH = EFH AL = 12H ADD AH , AL 执行结果 : AH = 01H (产生进位,超出部分丢弃) AL = 12H 存储器寻址 操作数在内存中,指令中给出操作数的EA。 存储器操作数特征: [ ] EA外有方括号 出现段超越前缀SS :或方括号内出现BP, 则为堆栈段。 出现段超越前缀ES :则为附加段。 出现段超越前缀CS :则为代码段。 除以上情况外,都为数据段。 例:已知DS=3000H (2000H)=1234H (1)画存储器示意图 (2)执行指令Mov AX,[2000H] (3)执行指令Mov AL,[2000H] (2) 指令功能:将数据段中偏移地址为2000H的字数据装入 AX寄存器。 执行结果:AX = 1234H 34H 12H 32000H 34H 12H 320
文档评论(0)