C I D I A N UNIVE RSITY 3.4汇编语言程序设计的基本步骤 1.分析问题:从实际问题中提取数据模型,明确任务要求 就目的 2.确定算法:找出解决方案,确定算法,画出程序流程图 3.编写程序:根据流程图及汇编语言系统,采用汇编语言 编程(写出用户代码) 4.检验程序:上机调试 5.编写软件说明:编写软件使用功能、使用前提等 徽机原理与系统设计 汇编语言基础 藿明皓 dminghao@xidian.edu.cn
3.4 汇编语言程序设计的基本步骤 1. 分析问题:从实际问题中提取数据模型,明确任务要求 就目的 2. 确定算法:找出解决方案,确定算法,画出程序流程图 3. 编写程序:根据流程图及汇编语言系统,采用汇编语言 编程(写出用户代码) 4. 检验程序:上机调试 5. 编写软件说明:编写软件使用功能、使用前提等 微机原理与系统设计 汇编语言基础 董明皓 dminghao@xidian.edu.cn
历粤花子代枝大 X I D I A N UN IVE RSIT Y 3.4汇编语言程序设计的基本步骤 从汇编语言源程序到可执行程序所经过的处理过程 用全屏幕编辑软件编辑汇 编语言源程序文件名.ASM 用连接程序LINK.EXE对 文件名.OB」进行连接 用汇编程序MASM.EXE对源程序 文件名.ASM进行汇编 有错误吗? 有 有 有语法错误 没 吗? 没 在磁盘上形成了可执行文件 文件名.EXE 在磁盘上形成目标程序文件 文件名OBJ *.oj:地址不连续的目标码文件 *:exe:地址连续的目标码文件
从汇编语言源程序到可执行程序所经过的处理过程 用全屏幕编辑软件编辑汇 编语言源程序 文件名.ASM 用汇编程序MASM.EXE对源程序 文件名.ASM 进行汇编 有语法错误 吗? 在磁盘上形成目标程序文件 文件名.OBJ 用连接程序LINK.EXE 对 文件名.OBJ 进行连接 有错误吗? 在磁盘上形成了可执行文件 文件名.EXE 有 有 没 没 *.obj:地址不连续的目标码文件 *.exe:地址连续的目标码文件 3.4 汇编语言程序设计的基本步骤
I D I A N U NIVE RSIT Y 4.1.1汇编语言程序设计的基本步骤 编 目 连 辑程 编程 标程 接程 执行 序 序 序 序 .ASM 汇编 .OBJ 连接 .EXE masm.exe link.exe 步骤: 1)编写源程序;2)汇编;3)连接;4)调试。 徽机原理与系统设计 汇编语言基础 藿明皓 dminghao@xidian.edu.cn
.ASM 汇编 连接 .OBJ .EXE masm.exe 编 辑 程 序 源 程 序 连 接 程 序 汇 编 程 序 目 标 程 序 执 行 程 序 步骤: 1)编写源程序;2)汇编;3)连接;4)调试。 4.1.1 汇编语言程序设计的基本步骤 link.exe 微机原理与系统设计 汇编语言基础 董明皓 dminghao@xidian.edu.cn
历要花子代枝大 X I D I A N UN IVERSIT Y 4.1.2伪指令 伪指令:伪指令不是CPU运行的指令,而是程序员给汇编程 序下达的命令。是在汇编源程序期间由汇编程序执行的命令。 伪指令用来对汇编程序进行控制,对程序中的数据进行存 储空间分配、实现条件汇编、列表等处理,其格式和汇编 指令一样,但不产生目标代码,即不直接命令CPU去执行 什么操作。 徽机原理与系统设计 汇编语言基础 薏明皓 dminghao@xidian.edu.cn
4.1.2 伪指令 伪指令:伪指令不是CPU运行的指令,而是程序员给汇编程 序下达的命令。是在汇编源程序期间由汇编程序执行的命令。 伪指令用来对汇编程序进行控制,对程序中的数据进行存 储空间分配、实现条件汇编、列表等处理,其格式和汇编 指令一样,但不产生目标代码,即不直接命令CPU去执行 什么操作。 微机原理与系统设计 汇编语言基础 董明皓 dminghao@xidian.edu.cn
1D1AwUM1VER81T¥ 4.1.2伪指令 ●数据定义伪指令 DB:定义字节,其后的每个操作数占有一个存储单元,连 续存放 BUFFER 02H BUFFER DB 2,3 03H STRING N STRING DB NO ‘0 DW:定义字,其后的每个操作数占有两个字节 BUF 02H BUF DW 2,3,5 00H 03H DD:定义双字,其后每个操作数占4个字 00H 节; 05H 00H 还有DQ(4个字长)、DT(10个字节长)
4.1.2 伪指令 DB:定义字节,其后的每个操作数占有一个存储单元,连 续存放; BUFFER DB 2, 3 STRING DB ‘NO’ ‘O’ ‘N’ 03H BUFFER 02H DW:定义字,其后的每个操作数占有两个字节; BUF DW 2, 3, 5 05H 00H 00H 03H 00H BUF 02H STRING DD: 定义双字,其后每个操作数占4个字 节; 还有DQ(4个字长)、DT(10个字节长) 数据定义伪指令