第六章--汇编语言及其程序设计主要内容.ppt

第六章--汇编语言及其程序设计主要内容.ppt

  1. 1、本文档共133页,可阅读全部内容。
  2. 2、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
  3. 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载
  4. 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
查看更多
第六章 汇编语言及其程序设计 主要内容 汇编程序及其开发过程 指令格式及寻址方式 8086汇编语言的基本语法 顺序、分支、循环结构程序设计 子程序设计 汇编语言程序及开发过程 基本概念 汇编语言:是一种面向机器的程序设计语言,它是机器语言的符号化描述。 特点:代码短、空间省、效率高 汇编语言源程序:用汇编语言编写的程序 目标程序:汇编语言经翻译程序翻译成的代码程序(即机器语言的程序)。 汇编程序:把源程序转变为相应目标程序的翻译程序 宏汇编:不仅包含一般汇编语言的功能,而且采用了高级语言使用的数据结构,是一种接近高级语言的汇编语言。 汇编语言程序的开发过程 编写源程序:EDIT(DOS),TextPad(Windows) 将源程序保存为 XXXX.asm 文件 使用MASM生成目标程序 XXXX.OBJ 使用LINK生成可执行程序 XXXX.EXE 基本汇编语言程序实例 汇编语言程序 的开发过程 结构化程序设计 程序设计的基本步骤 分析问题 确定处理方案 确定具体操作步骤,绘制流程图 编写程序 调试并运行程序,得到预期结果 整理输出结果,写出有关文档资料 流程图的画法 指令格式及寻址方式 指令格式 8086/8088常用指令集 数据传送指令(14条) 算术运算指令(20条) 逻辑运算指令(13条) 字符串指令(10条) 控制转移指令(28条) 处理机控制指令(12条) 寻址方式(重点) 概述 目的 大多数情况下,指令不直接给出操作数本身,而是给出存放操作数的寄存器或者是内存单元的地址。 大多数情况下,操作数地址也不是直接给出,而是给出计算操作数地址的方法,称之为寻址方式 寻址方式的种类 与数据有关的寻址方式(7种) 与转移地址有关的寻址方式(4种) MOV指令(简介) 指令格式 mov 目的,源 功能:该指令将源内容送至目的地址内 例: mov ax, bx 将寄存器bx中的内容送到寄存器ax中 与数据有关的寻址方式 立即寻址方式 操作数直接存放在指令中,紧跟在操作码之后,它作为指令的一部分存放在代码段里,这种操作数称为立即数。 立即数可以是8位的或者16位的。(386之后的机器也可以是32位的) 立即数方式用来表示常数,它经常用来给寄存器赋初值。只能用于源操作数字段,不能用于目的操作数字段,且源操作数长度应与目的操作数长度一致。 立即数寻址方式举例 MOV AL, 5 ----------? 指令执行后(AL)= 05H MOV AX, 3064H ------? 指令执行后(AX)= 3064H 寄存器寻址 操作数在寄存器中,指令中指定寄存器号。 16位的操作数,寄存器可以是 AX,BX,CX,DX,SI,DI,SP,BP。 8位的操作数,寄存器可以是 AH,AL,BH,BL,CH,CL,DH,DL。 直接寻址方式 操作数的有效地制只包含位移量一种成分,其值就存放在代码段中指令的操作码之后。位移量的值就是操作数的有效地址。 可以用符号来代替数值地址 MOV AX , VALUE MOV AX , [VALUE] 如果在附加段,则应指定段前缀 MOV AX , ES:VALUE MOV AX , ES:[VALUE] 寄存器间接寻址方式 操作数的有效地址只包含基址寄存器或变址寄存器的内容。因此有效地址就在某个寄存器中,而操作数在存储器中。 16位寻址,可用的寄存器是BX,BP,SI,DI。 使用BX、SI、DI,其默认段是数据段DS 使用BP,其默认段是堆栈段SS 寄存器相对寻址方式 操作数的有效地址为基址寄存器或变址寄存器的内容和指令中指定的位移量之和。 基址变址寻址方式 操作数的有效地址是一个基址寄存器和一个变址寄存器的内容之和 相对基址变址寻址方式 操作数的有效地址是一个基址寄存器与一个变址寄存器的内容和指令中指定的位移量之和。 与转移地址有关的寻址方式 目的 确定转移指令(条件转移指令、无条件转移指令)及转子指令(CALL)的转向地址 当转移发生在段内的时候,给出即将转移去执行的那条指令的偏移地址,并用该偏移地址取代IP寄存器中的内容 当转去执行的指令与原来执行的指令不在同一段时,则还需要用新的代码段基址取代CS寄存器中原有的内容 种类 段内直接寻址 段内间接寻址 段间直接寻址 段间间接寻址 段内直接寻址 转向的有效地址是当前IP寄存器的内容和指令中指定的8位或16位位移量之和 无条件转移指令在位移量为8位的时候称为短跳转 JMP SHORT QUEST IP ? IP+8位位移量 无条件转移指令在位移量为16位的时候称为近跳转 JMP

文档评论(0)

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

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

1亿VIP精品文档

相关文档