文档详情

微机接口原理 汇编语言程序设计.ppt

发布:2018-01-18约1.13万字共73页下载文档
文本预览下载声明
本章教学重点和难点: ◆汇编语言语句的书写格式及运行环境与步骤 ◆汇编语言的数据定义伪指令、符号定义伪指令、段定义伪指令等伪指令 ◆顺序、分支、循环基本程序的设计。 ◆汇编语言程序与C语言程序的调用方法 ◆中断服务程序、模块化程序设计 本章教学内容: 5.1 汇编语言简述 5.2 汇编语言的伪指令 5.3 汇编语言程序设计基础 5.4 中断服务程序设计 5.5 模块化程序设计 机器语言:计算机最终能识别并执行的是以二进制代码表示的。 汇编语言:用意义明确的助记符来表示指令的操作码、操作数,对机器的依赖性很大。主要用于编写计算机的系统程序、实时控制程序等。 汇编语言源程序(汇编语言程序):是用汇编语言编写的程序。 计算机必须将汇编语言程序翻译成由机器代码组成的目标程序才能执行。这个翻译过程称为汇编,完成汇编过程的软件就是汇编程序。 5.1.1 汇编语言源程序的格式 MOV AX,DATA ;设置数据段 MOV DS,AX LEA DX,msg ;取字符串地址 MOV AH,09H ;显示字符串, INT 21H RET ;程序结束,返回操作系统 MAIN ENDP CODE ENDS END MAIN ; 源程序结束 5.1.2 汇编语言的编程环境 1.汇编语言的编程环境 ◆硬件环境:具有基本配置的PC机 ◆软件环境:指支持汇编程序运行和帮助建立汇编语言源程序的一些软件,主要包括: (1)编辑程序(记事本、EDIT.COM) (2)宏汇编程序(MASM.EXE) (3)连接程序(LINK.EXE) (4)调试程序(DEBUG.COM) 5.2 汇编语言的伪指令 5.3 汇编语言程序设计基础 5.3.2 程序设计的基本方法 5.4 中断服务程序设计 5.5 模块化程序设计 5.5.1 模块化程序设计概述 1.模块化程序设计的步骤 1)正确地描述整个程序需要完成什么样的工作; 2)整个工作划分成多个任务,并画出层次结构图; 3)确切地定义每个任务必须做什么事,它与其它任务之间如何进行通信; 4)把每个任务写成汇编语言程序模块,并调试; 5)各个模块连接起,经调试成一个完整的程序; 6)把整个程序和它们的说明合在一起形成文件。 2.模块划分的基本原则 3.结构化的程序设计在确定模块划分以后 5.5.2 多模块程序设计 1.模块定义与连接伪指令 (1)外部符号伪指令EXTERN 基本格式: EXTERN 符号名:类型 [,符号名2:类型[,……]] 类型则是指名字的类型,比如: 内存变量型:BYTE、WORD、DWORD 过程型:NEAR、FAR (2)公用符号伪指令PUBLIC 基本格式: PUBLIC 符号名l [ ,符号名 2 … ] (3)组合伪指令GROUP 基本格式: 组名 GROUP 段名1 [,段名 2 ,段名 3 ,……] 3.基本控制结构 程序结构可分为三个基本结构:即顺序结构、分支结构和循环结构。 (1)顺序结构:指按语句出现的先后次序执行,没有判断和转移、重复等,顺序结构也叫简单结构。 (2)分支结构:指根据不同情况作出判断和选择,以便执行不同的程序段。 (3)循环结构:是指重复做某些操作,直到出现某个条件为止。可以看出这实际上是顺序结构和分支结构的组合。 (4)过程:实际上它是三种基本结构的组合。在汇编语言里经常把它当做第四种基本控制结构来看待。 (5)程序设计时,应采用“自顶向下,逐步求精” 。 4.程序的结束方法 常用的在DOS下返回的方法主要有以下三种: (1)利用INT 20H结束程序 (2)利用标准序结束程序 (3)用DOS功能调用结束程序 1.顺序结构设计 【例5-27】试编制一程序,求出下列公式中Z值,并存放在RESULT单元中。 RESULT←[(X+Y)×8-X] ÷2 参考代码: DATA SEGMENT X DW 6 Y DW 7 ;数据段 RESULT DW ? DATA ENDS STACK1 SEGMENT PARA STACK DW 20H DUP(0) ;堆栈段 STACK1 ENDS COSEG SEGMENT PROC1 PROC FAR ASSUME CS:COSEG,SS:STACK1 ASSUME DS:DATA START: PUSH DS MOV AX,0 PUSH AX MOV AX,DATA MOV DS,AX MOV DX,X ADD DX,Y
显示全部
相似文档