第 4 章 汇编语言程序设计 4.1 汇编语言源程序 汇编语言源程序与汇编程序 汇编语言源程序 汇编程序 汇编语言程序设计与上机过程 输入汇编语言源程序(EDIT) 汇编(MASM) 链接(LINK) 调试(TD) 编辑程序 汇编程序 连接程序 调试程序 调试程序 调试程序 汇编语言程序设计的上机过程 4.1.1 汇编语言源程序的结构 数据段名 SEGMENT … 数据段名 ENDS 附加段名 SEGMENT … 附加段名 ENDS 4.1.2 汇编语言语句类型及格式 指令性语句 指示性语句 汇编语言语句格式 指令性语句: [标号:] [前缀] 助记符 [操作数],[操作数] [ ;注释] 汇编语言语句格式 [名字] 伪指令助记符 操作数 [,操作数,…] [ ;注释] 标号、名字 标号后有冒号,在指令性语句前;名字后不加冒号,在指示性语句前。 英文字母、数字及专用字符组成,最大长度不能超过31个,且不能由数字打头,不能用保留字(如寄存器名,指令助记符,伪指令)。 操作码 指令码 伪指令助记符 指示汇编程序要完成的操作。 作用: 定义变量 分配存储单元 指示程序开始和结束等 注 释 用分号作为注释的开始; 用于说明程序或语句的功能,以便于阅读和理解 操作数 寄存器 存储器单元 常量 变量或标号 表达式 4.1.3 数据项及表达式 4.1.3 数据项及表达式 4.1.3 数据项及表达式 4.1.3 数据项及表达式 4.1.3 数据项及表达式 4.1.3 数据项及表达式 4.1.3 数据项及表达式 4.2 伪指令 符号定义伪指令 符号定义伪指令 符号定义伪指令 内存数据定义伪指令 内存数据定义伪指令 内存数据定义伪指令 段定义伪指令 段寄存器说明伪指令 定位伪指令 子程序伪指令 一个完整源程序结构例 DSEG SEGMENT DATA1 DB 1,2, DATA2 DW 1234H DSEG ENDS ESEG SEGMENT DB 20 DUP(?) ESEG ENDS SSEG SEGMENT STACK ‘STACK’ DB 200 DUP(?) SSEG ENDS 一个完整源程序结构例 4.3 DOS功能调用 一.什么是DOS系统功能调用 二.DOS系统功能调用的方法 一、单字符输入 调用方法: MOV AH,01 INT 21H 输入的字符在AL中 单字符输入例 GET_KEY: MOV AH,1 INT 21H CMP AL,’Y’ JZ YES CMP AL,’N’ JZ NO JNZ GET_KEY YES: ┇ NO: ┇ 二、字符串输入 注意问题: 调用格式 字符输入缓冲区的定义 1. 调用格式 2. 定义字符缓冲区 用户自定义缓冲区格式: 输入字符串程序段 DAT1 DB 20,?,20 DUP(?) ┇ LEA DX,DAT1 MOV AH,0AH INT 21H 输入缓冲区 三、单字符显示输出 功能号O2H 待输出字符 INT 21H 单字符显示输出例 MOV AH,02 MOV DL,41H INT 21H 四、字符串输出显示 字符串输出显示 被显示的字符串必须以‘$’结束,且所显示的 内容不应出现非可见的ASCII码 字符串输出显示例 DATA SEGMENT MESS1 DB ‘Input String:’ 0DH,0AH,’$’ DATA ENDS CODE SEGMENT ┇ MOV AH,09 MOV DX,OFFSET MESS1 INT 21H ┇ DOS功能调用综合示例 DOS功能调用综合示例 DOS功能调用综合示例 4.4 汇编语言程序设计基础 1 顺序结构 1 顺序结构 2 分支结构 2 分支结构 程序清单 程序清单 3 循环结构 3 循环结构 程序清单 程序清单 4 子程序 (1)子程序的定义格式 (2)子程序的调用 (3)编写子程序的注意事项 (4)子程序的基本框架 例题 例题 例题 思考题、作业题 思考题 1.下列语句在存储器中分别为变量分配多少字节空间?
原创力文档

文档评论(0)