- 1、本文档共152页,可阅读全部内容。
- 2、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
- 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
查看更多
第4章 汇编语言程序设计综述
《微型计算机原理与接口技术》
第4章汇编语言程序设计
;本章主要内容:§4.1 汇编语言程序格式和伪指令§4.2 DOS系统功能调用和BIOS
中断调用§4.3 汇编语言程序设计方法与实例;什么是汇编语言(Assembly Language)?
使用指令的助记符、符号地址和标号等编写的程序设计语言。
每条指令都有对应的机器码,不同的CPU使用不同的汇编语言。
用汇编语言编程的优点
汇编程序运行速度快,实时性好,占用内存空间小,能最大限度地发挥硬件的作用。
汇编语言的适用场合
绝大部分系统软件都用汇编语言编写,大多数涉及快速处理、位处理和访问硬件设备的高效程序都是汇编程序。如:实时数据处理程序、实时控制程序、高级绘图程序、游戏程序等。;;;§4.1 汇编语言程序格式和伪指令;4.1.1 汇编语言程序格式;指令语句;指令语句;2. 伪指令语句;伪指令语句;3. 表达式和运算符;常用表达式的运算符;常用表达式的运算符(续);常用表达式的运算符(续); 如果一个表达式中有多个运算符,则要根据优先级别从高到低的顺序进行运算,优先级别相同的运算符,则按从左到右的顺序进行运算。;运算符;运算符;运算符;运算符;运算符;运算符;运算符;4.1.1 汇编语言程序格式
4.1.2 伪指令语句
4.1.3 完整的汇编语言程序框架;4.1.2 伪指令语句;1.段定义语句;1.段定义语句;1.段定义语句;2.段分配语句;3.过程定义语句;3.过程定义语句;4.变量定义语句;4.变量定义语句;4.变量定义语句;4.变量定义语句;4.变量定义语句;5.程序结束语句;6.其它伪指令;6.其它伪指令;6.其它伪指令;6.其它伪指令;6.其它伪指令;6.其它伪指令;6.其它伪指令; ┇
CODE ENDS
;
PDATA SEGMENT
P1 DB 20H
P2 DW 3580H
PDATA ENDS
;
PCODE SEGMENT
EXTRA A1:BYTE,A2:WORD,SUBRT:FAR
;其它模块中用PUBLIC定义过的
;A1、A2、SUBRT可供本模块引用
;MAIN:MOV AX,PDATA
┇
MOV BX,OFFSET A1 ;引用变量A1
MOV DI,OFFSET A2 ;引用变量A2
┇
JMP SUBRT ;引用其它模块
;
SUBRT
┇
PCODE ENDS
END MAIN
;程序结束,从MAIN语句开始执行
?
;4.1.1 汇编语言程序格式
4.1.2 伪指令语句
4.1.3 完整的汇编语言程序框架;4.1.3 完整的汇编语言程序框架;1.完整的汇编语言程序框架;1.完整的汇编语言程序框架;1.完整的汇编语言程序框架;1.完整的汇编语言程序框架;1.完整的汇编语言程序框架;1.完整的汇编语言程序框架;2. 堆栈的设置;3.返回DOS操作系统;3.返回DOS操作系统;§4.2 DOS系统功能调用和BIOS中断调用;4.2.1 概述;4.2.1 概述;DOS核心 MSDOS.SYS
该模块以BIOS为基础,为用户提供一大批可以直接使用的服务程序,这组服务程序称为DOS系统功能调用。可用INT 21H指令来调用,并以功能号来区分不同的服务程序。它们主要用来实现文件管理、存储器管理及设备管理等,功能比BIOS更齐全、更完整。
命令处理程序 COMMAND.COM
该模块以可执行命令文件的形式存放在系统盘上,它执行后便给出DOS命令提示符“”,由它接收用户在此提示符下键入的命令,进行分析处理后,让机器执行各种应用程序,并在CRT上显示执行结果。
;4.2.1 概述
4.2.2 DOS系统功能调用
4.2.3 BIOS中断调用;4.2.2 DOS系统功能调用;1.中断处理程序分类;2. DOS系统功能调用方法;3. DOS系统功能调用举例;3. DOS系统功能调用举例;3. DOS系统功能调用举例;3. DOS系统功能调用举例;程序如下:
DATA SEGMENT
BUFF DB 50 ;定义缓冲区最大50(32H)字节
DB ? ;存实际键入字节数
DB 50 DUP(?) ;定义50个字节空间
;存放键入字符的ASCII码
DATA ENDS
CODE SEGMENT
┇
MOV AX,DATA ;定义DS:DX
MOV
文档评论(0)