微机原理与接口技术PPT_第4章 汇编语言程序设计
微机原理与接口技术PPT_第4章 汇编语言程序设计
第4章 汇编语言程序设计4.1 4.2 4.3 4.4 汇编语言程序格式 MASM中的表达式 MASM中的表达式 伪指令语句 DOS系统功能调用和BIOS中断调用 系统功能调用和BIOS DOS系统功能调用和BIOS中断调用
微机原理与接口技术PPT_第4章 汇编语言程序设计
4.1 汇编语言程序格式4.1.1 程序结构程序由数条语句构成,每条语句占一行。语句分两类: 程序由数条语句构成,每条语句占一行。语句分两类: 指令性语句(指令语句) 能译成机器代码, 指令性语句(指令语句):能译成机器代码,完成一定的 操作功能的语句。 操作功能的语句。 指示性语句(伪指令语句) 指示性语句(伪指令语句):为汇编程序在翻译汇编语言 源程序时提供有关控制信息,没有相应的机器代码。 源程序时提供有关控制信息,没有相应的机器代码。 指令性(指令)语句与指示性(伪指令)语句区别: 指令性(指令)语句与指示性(伪指令)语句区别: 程序经汇编、连接和装入内存后, 程序经汇编、连接和装入内存后,在执行程序之前 ◢指示性语句的功能已经完成,故又称伪操作。 指示性语句的功能已经完成,故又称伪操作。 ◢而指令性语句的功能尚未完成,需控制CPU去执行才能完成。 而指令性语句的功能尚未完成,需控制CPU去执行才能完成。 CPU去执行才能完成
微机原理与接口技术PPT_第4章 汇编语言程序设计
例 4-1 给出一个完整的汇编语言源程序 完成两个字节数据相加。 完成两个字节数据相加。SEGMENT ; 伪指令语句 DB 34H DB 2AH DB ? ENDS SEGMENT ASSUME CS:CODE,DS:DATA START:MOV AX, DATA ; 指令语句 MOV DS, AX MOV AL, BUF1 ADD AL, BUF2 MOV SUM, AL MOV AH, 4CH INT 21H 返回DOS ;返回 CODE ENDS END START DATA BUF1 BUF2 SUM DATA CODE
微机原理与接口技术PPT_第4章 汇编语言程序设计
分段结构 程序按段编写, 内存分段编址相对应。 程序按段编写 与8086内存分段编址相对应。 内存分段编址相对应 每段由伪操作SEGMENT开始、由ENDS结束。 开始、 结束。 每段由伪操作 开始 结束 程序可由多个段构成,至少有一个代码段。 程序可由多个段构成,至少有一个代码段。 程序最后为END结束语句,后跟一启动地址。 程序最后为 结束语句,后跟一启动地址。 结束语句 启动地址指示程序开始执行的第一条语句。 启动地址指示程序开始执行的第一条语句。 程序中设有返回DOS的功能。 的功能。 程序中设有返回 的功能 使程序执行完后返回DOS系统的命令接受状态。 系统的命令接受状态。 使程序执行完后返回 系统的命令接受状态 程序中用到内存操作数时, 程序中用到内存操作数时, 应按操作数的寻址方式,给相应的段寄存器赋值 应按操作数的寻址方式 给相应的段寄存器赋值
微机原理与接口技术PPT_第4章 汇编语言程序设计
4.1.2
语句格式
指令性语句 格式: 格式: 标号: 标号: 指令助记符 操作数, 操作数,操作数 ;注释
* 指令助记符(操
作码)不可以省略 指令助记符(操作码) 伪指令语句 格式: 格式: 名字 伪指令指示符 操作数, 操作数,操作数 ;注释
微机原理与接口技术PPT_第4章 汇编语言程序设计
1、 名字项(提供符号地址) 、 名字项(提供符号地址)根据语句功能的不同, 名字项可用来表示段名、 根据语句功能的不同, 名字项可用来表示段名、变量名 标号、过程名等。 、 标号、过程名等。 名字项用一个符号表示。 名字项用一个符号表示。 对符号的规定: 对符号的规定 ① 由字符 由字符A~Z ,a~z ,0~9及符号 、$、下划线 等组成 及符号@、 、下划线_ 及符号 最长31个字符 超出部分忽略。 个字符, ,最长 个字符,超出部分忽略。 不能用数字打头,以免与十六进制数相混。 ② 不能用数字打头,以免与十六进制数相混。 不使用汇编程序中的保留字。 如指令的助记符等 如指令的助记符等) ③ 不使用汇编程序中的保留字。 (如指令的助记符等 对定义的符号不区分大小写。但为便于记忆, ④ 对定义的符号不区分大小写。但为便于记忆,名字的定 义应该做到见名知意。 义应该做到见名知意。
微机原理与接口技术PPT_第4章 汇编语言程序设计
名字的两种主要形式: 名字的两种主要形式:标号和变量标号: 标号: 在代码段中定义,后面跟着冒号“:”,标号作为目 在代码段中定义,后面跟着冒号“ 标操作数经常在转移指令或调用指令中出现, 标操作数经常在转移指令或调用指令中出现,用以表示转 向地址。 向地址。 标号的三种属性: 标号的三种属性: 段属性(SEGMENT):标号所在段的段基值。 段属性(SEGMENT):标号所在段的段基值。 偏移地址属性(OFFSET):标号所在地址与其所在 偏移地址属性(OFFSET):标号所在地址与其所在 段首址之间的偏移地址字节数。 段首址之间的偏移地址字节数。 类型属性(TYPE):反应转移过程中标号可转移的 类型属性(TYPE):反应转移过程中标号可转移的 距离,类型NEAR为近标号,只能实现段内转移;类型FAR NEAR为近标号 距离,类型NEAR为近标号,只能实现段内转移;类型FAR 为远标号,可实现段间转移。 为远标号,可实现段间转移。
微机原理与接口技术PPT_第4章 汇编语言程序设计
变量: 变量: 变量在数据段、附加段或堆栈段中定义,后面不跟冒号。 变量在数据段、附加段或堆栈段中定义,后面不跟冒号。 变量通常指存放在存储单元中的值, 变量通常指存放在存储单元中的值,在程序运行中是可以修改 的。 变量的三种属性: 变量的三种属性: 段属性(SEGMENT):变量所在段的段基值。 段属性(SEGMENT):变量所在段的段基值。 偏移地址属性(OFFSET):变量所在地址与其所在段首 偏移地址属性(OFFSET):变量所在地址与其所在段首 址之间的偏移地址字节数。 址之间的偏移地址字节
数。 类型属性(TYPE):指变量中每个元素所包含的字节数, 类型属性(TYPE):指变量中每个元素所包含的字节数, 指变量中每个元素所包含的字节数 类型有:字节变量(BYTE)、字变量(WORD) )、字变量 类型有:字节变量(BYTE)、字变量(WORD)及双字变量 DWORD) (DWORD)等。 在同一个程序中, * 在同一个程序中,同样的标号或变量的定义只允许出现一 次,否则汇编程序会指示出错。 否则汇编程序会指示出错。
微机原理与接口技术PPT_第4章 汇编语言程序设计
2、 操作码项(不可省略) 、 操作码项(不可省略)[标号 [: ] 标号] 标号 操作码 [ 操作数 操作数, ] [;注释 ;注释]
名字项
操作码助记符项
操作数项
注释项
操作码可以是指令、伪指令中的助记符, 操作码可以是指令、伪指令中的助记符,用以指明操 作的性质或功能。 作的性质或功能。 对于指令,汇编程序将其翻译成机器语言指令。 对于指令,汇编程序将其翻译成机器语言指令。 MOV AX, 100 → B8 00 01 对于伪指令,汇编程序据其要求的功能进行处理。 对于伪指令,汇编程序据其要求的功能进行处理。 data SEGMENT → data与一段基值对应 与一段基值对应 string DB ‘Tsinghua’ → string与一内存地址对应 与一内存地址对应
微机原理与接口技术PPT_第4章 汇编语言程序设计
3、操作数项 、[名字 [: ] 名字] 名字 操作码 [ 操作数 操作数, [;注释] ;注释
]
名字项
操作码助记符项 作码助记符项 助记符
操作数项
注释项
操作数给出参与操作的数或数所在的 …… 此处隐藏:4403字,全部文档内容请下载后查看。喜欢就下载吧 ……
- 基于PLC控制的航空电镀生产线自动输送
- 中考预测课内外文言文对比阅读2
- 2018-2023年中国商业智能(BI)产业市场
- 中国金融体制改革研究2011new
- 外窗淋水试验方案
- 精益生产(Lean Production)
- 学校安全事故处置和信息报送制度
- Chapter 5 Human Resources Management
- 【小学数学】人教版小学六年级上册数学
- 初中数学解题方法与技巧
- 山东省创伤中心建设与管理指导原则(试
- 函数与数列的极限的强化练习题答案
- 10分钟淋巴按摩消脂
- 网络应急演练预案
- 服装设计入门基础知识
- 初二数学分式计算题练习
- (人教新课标)高二数学必修5第二章 数列
- 最新自主创业项目
- 北京大学 无机化学课件 4第4章 配合物
- 贸易公司业务管理制度




