第一章软件设计基础 本章主要介绍在PC系列微机上上机操作的 全过程,及所用系统软件的基本功能。 1-1系统软件及功能 1-2汇编源程序详细步骤 1-3汇编源程序一般结构 目录
片头 第一章 软件设计基础 1-1 系统软件及功能 1-2 汇编源程序详细步骤 • 本章主要介绍在PC系列微机上上机操作的 全过程,及所用系统软件的基本功能。 1-3 汇编源程序一般结构 目录
1-1在80X86系列微机上运行汇编源程 序所必须具备的系统软件及功能 编辑程序(EDIT、SK编辑器)—其作用是建 立与修改源文件。(、ASM文件) 二,宏汇编程序(MASM或TASM)—将汇编源文件翻 译成目标文件(.0BJ文件) 三.连接程序(LINK)—把各种语言(如汇编、 PASCAL、C)编译产生的目标模块连接起来,形成可 执行文件(、EXE)。 四.调试程序( DEBUG或 TDEBUG)—提供一个控制 测试的环境,以便用户能够监视和控制被调试程的
1-1 在80X86系列微机上运行汇编源程 序所必须具备的系统软件及功能 一.编辑程序( EDIT、SK编辑器)——其作用是建 立与修改源文件。(.ASM文件) 二.宏汇编程序(MASM或TASM)——将汇编源文件翻 译成目标文件(.OBJ文件) 三.连接程序(LINK)——把各种语言(如汇编、 PASCAL、C)编译产生的目标模块连接起来,形成可 执行文件(.EXE)。 四.调试程序(DEBUG或TDEBUG)——提供一个控制 测试的环境,以便用户能够监视和控制被调试程的
执行;可以直接确定程序中出现的问题,然后立即执 行程序,以便判定这些问题是否已经解决。它是一个 交互式的机器语言程序的调试程序,是一个有用的调 试工具。 早期的开发是依靠单一功能的各个独立软件来 完成这些步骤的。使用较普通的是MASM,适用于MS D0S操作系统,集成开发环境则将执行上述步骤的 分立软件集成在一个功能强大的软件包中,进入开 发环境后,开发者就能方便自如地在编辑汇编
执行;可以直接确定程序中出现的问题,然后立即执 行程序,以便判定这些问题是否已经解决。它是一个 交互式的机器语言程序的调试程序,是一个有用的调 试工具。 早期的开发是依靠单一功能的各个独立软件来 完成这些步骤的。使用较普通的是MASM,适用于MSDOS操作系统, 集成开发环境则将执行上述步骤的 分立软件集成在一个功能强大的软件包中,进入开 发环境后,开发者就能方便自如地在编辑、汇编
链接、调试之间任意切换,从而大大提高了应用程 序开发效率。 适应目前 Windows环境的产品亦有不少,在此我 们只介绍FASM( Flat Assembler),又称未来汇编。 未来汇编主界面包含了5个菜单:(这些主菜单 都包含了子菜单。除鼠标点击外,还可以通过以下 键盘操作来选择主菜单: ALT+F:选择“文件”菜单主要用于文件管理 ALT+E:选择“编辑”菜单—主要用于源程序的编 辑
链接、调试之间任意切换,从而大大提高了应用程 序开发效率。 适应目前Windows环境的产品亦有不少,在此我 们只介绍FASM (Flat Assembler),又称未来汇编。 未来汇编主界面包含了5个菜单 :(这些主菜单 都包含了子菜单。除鼠标点击外,还可以通过以下 键盘操作来选择主菜单﹕ ALT+F:选择“文件”菜单— 主要用于文件管理﹔ ALT+E: 选择“编辑”菜单— 主要用于源程序的编 辑 ;
ALT+P:选择“程序”菜单一主要用于程序的编译 连接、运行与调试; ALT+0:选择“选项”菜单—主要用于集成环境的 设置 ALT+H:选择“帮助”菜单一在线帮助与版本信息 等 可以通过小键盘上的左右键在主菜单之间进行 切换,使用小键盘上的上下键可以选择子菜单中 的菜单项。 选中要执行的菜单项,键入 Enter键即可执行 相应操作。 回章首
ALT+P:选择“程序”菜单— 主要用于程序的编译、 连接、运行与调试﹔ ALT+O:选择“选项”菜单— 主要用于集成环境的 设置 ALT+H: 选择“帮助”菜单— 在线帮助与版本信息 等。 可以通过小键盘上的左右键在主菜单之间进行 切换,使用小键盘上的上下键可以选择子菜单中 的菜单项。 选中要执行的菜单项,键入Enter 键即可执行 相应操作。 回章首
12在80X86系列微机上运行汇编源程序 的详细步骤 下面结合一个简单的程序来介绍未来汇编的详细 操作步骤。 例1.1两单元内容交换 586;方式选择586实地址方式 stack segment stack‘ stack‘;堆栈段开始 dw 32 dup (?) ;预留堆栈区 stack ends ;堆栈段结束
1-2 在80X86系列微机上运行汇编源程序 的详细步骤 下面结合一个简单的程序来介绍未来汇编的详细 操作步骤。 例1.1 两单元内容交换 .586 ;方式选择586实地址方式 stack segment stack ‘stack ‘ ;堆栈段开始 dw 32 dup(?) ;预留堆栈区 stack ends ;堆栈段结束
data segment usel6;数据段开始,16位地址方式 DATI DB 11H DAT2 DB 22H data ends ;数据段结束 code segment use16;代码段开始,16位地址方式 begin proc far 远过程调用开始 assume Cs:code,ss:stck,ds:data;设定段 push ds ;PSP的DS:0000进栈保护 sub ax, ax push ax mov ax,data;设定用户数据段 mov ds, ax
data segment use16 ;数据段开始,16位地址方式 DAT1 DB 11H DAT2 DB 22H data ends ;数据段结束 code segment use16 ;代码段开始,16位地址方式 begin proc far ;远过程调用开始 assume cs:code,ss:stck,ds:data ;设定段 push ds ;PSP的DS:0000进栈保护 sub ax,ax push ax mov ax,data ;设定用户数据段 mov ds,ax
MOV AL, DATI XCHG AL, DAT2 MOV DATI. AL ret ;返回D0S begin endp 过程调用结束 code ends 代码段结束 end begin;源程序结束 上述程序使用未来汇编进行编译、汇编、连接、运 行的详细操作步骤如下:
MOV AL,DAT1 XCHG AL,DAT2 MOV DAT1,AL ret ;返回DOS begin endp ;过程调用结束 code ends ;代码段结束 end begin ;源程序结束 上述程序使用未来汇编进行编译、汇编、连接、运 行的详细操作步骤如下:
1.点击“开始”→“程序”→未来汇编,进入未来汇编 的主界面。 2.在编辑窗口中键入以上汇编源程序,并检查无误。 3.点击主菜单中的“文件”选择“保存”,在弹出的对 话框中键入文件名L1-1,该文件的扩展名默认为 ASM,再点击“保存”,输入的L1-1.ASM文件即存 为源代码文件。 4.点击主菜单中“程序”栏中的“编译”或按快捷键, 系统对源程序进行汇编,生成扩展名为.OBJ的目标文 件
1.点击“开始”→ “程序”→未来汇编,进入未来汇编 的主界面。 2.在编辑窗口中键入以上汇编源程序,并检查无误。 3.点击主菜单中的“文件”选择“保存”,在弹出的对 话框中键入文件名 L1-1,该文件的扩展名默认为 .ASM,再点击“保存”,输入的L1-1 .ASM文件即存 为源代码文件。 4.点击主菜单中“程序”栏中的“编译”或按快捷键, 系统对源程序进行汇编,生成扩展名为.OBJ的目标文 件
编译后在屏幕下方显示编译结果。 若有错误,则显示错误行号及错误性质。 如:若将主程序段(大写字母部分)第一行误输为; MOV AL, DAT 则显示下列信息 Error*k 11-1. ASM(18)Undefined symbol: DAT Error messages: 1 个错误 Warning messages: 0 ;0警告 Passes Remaining memory: 381K
编译后在屏幕下方显示编译结果。 若有错误,则显示错误行号及错误性质。 如: 若将主程序段(大写字母部分)第一行误输为; MOV AL,DAT 则显示下列信息: **Error** l1-1.ASM(18) Undefined symbol:DAT Error messages: 1 ;一个错误 Warning messages: 0 ;0 警告 Passes: 1 Remaining memory: 381K