汇编语言课件(9)—汇编语言上机指导

合集下载

《汇编语言教程》课件

《汇编语言教程》课件
汇编语言调试与优化
调试工具的使用
运行程序
在调试器中运行程序,以便在执行过程中进行观察。
停止程序
在程序的任何位置停止程序的执行。
调试工具的使用
单步执行
逐条指令执行程序,观察每条指令对程序状态的影响。
观察变量
在调试过程中观察和修改变量的值。
调试工具的使用
OllyDbg
一个流行的Windows平台下的汇编语言调 试器。
2023 WORK SUMMARY
THANKS
感谢观看
REPORTING
03
INT指令用于调用中断服务程序,SYS指令用于调用 系统调用。
PART 04
汇编语言程序结构
程序的基本结构
程序开始
程序开始执行时,首先执行的是程序的起始部分,通 常包括程序的标题、版本信息、版权声明等。
指令序列
程序的主要功能通过一系列指令实现,这些指令按照 特定的顺序排列。
程序结束
程序执行完毕后,需要执行结束部分,通常包括程序 的结束信息、版权声明等。
逻辑运算指令
01
02
03
逻辑运算指令用于执行 逻辑与、或、非等逻辑
运算。
常见的逻辑运算指令包 括AND、OR、NOT等

AND指令用于对两个操 作数执行逻辑与运算, OR指令用于对两个操作 数执行逻辑或运算, NOT指令用于对一个操 作数执行逻辑非运算。
控制转移指令
控制转移指令用于改变程序的执行流程 。
复杂性
汇编语言的语法和语义相对较为 复杂,学习和编写难度较大,需 要程序员具备较为深入的计算机 体系结构和硬件知识。
汇编语言的应用场景
系统软件
操作系统、设备驱动程序等系统软件通常使用汇编语言编写,因为这些软件需要直接与 硬件交互,并且需要高效的执行效率。

汇编语言上机指导

汇编语言上机指导

汇编语言上机指导实验一DEBUG常用命令及8086指令使用实验目的:通过实验掌握下列知识:1、8086指令: MOV,ADD,ADC,SUB,SBB,DAA,XCHG2、DEBUG命令: A,D,E,F,H,R,T,U。

3、ASCII码及用16进制数表示二进制码的方法。

4、8086寄存器: AX,BX,CX,DX,F,IP。

内容及步骤:一、DEBUG 命令使用:1、打 DEBUG 进入 DEBUG 控制,显示提示苻 '_ '。

2、用命令 F100 10F 'A' 将'A'的ASCII码填入内存。

3、用命令 D100 10F 观察内存中的16进制码及屏幕右边的ASCII字符。

4、用命令 F110 11F 41 重复上二项实验,观察结果并比较。

5、用命令 E100 30 31 32 …… 3F将30H-3FH写入地址为100开始的内存单元中,再用D命令观察结果,看键入的16进制数是什么字符的ASCII码?6、用H命令检查下列各组16进制数加减结果并和你的手算结果比较:(1)34H,22H (2)56H,78H (3)A5,79H (4)1284H,5678H (5)A758,347FH7、用R 命令检查各寄存器内容,特别注意AX,BX,CX,DX,IP及标志位中ZF,CF和AF的内容。

8、用R命令将AX,BX内容改写为1050H及23A8H。

二、8086常用指令练习1、传送指令1)用A命令在内存100H处键入下列内容:MOV AX,1234MOV BX,5678XCHG AX,BXMOV AH,35MOV AL,48MOV DX,75ABXCHG AX,DX2)用U命令检查键入的程序并记录,特别注意左边的机器码。

3)用T命令逐条运行这些指令,每运行一行检查并记录有关寄存器及IP的变化情况。

并注意标志位有无变化。

2、加减法指令:1)用A命令在内存100H处键入下列内容:MOV AH,34MOV AL,22ADD AL,AHSUB AL,78MOV CX,1284MOV DX,5678ADD CX,DXSUB CX,AXSUB CX,CX2)用U命令检查键入的程序及对应的机器码。

汇编语言程序设计 上机指导

汇编语言程序设计 上机指导

汇编语言程序设计上机指导一、debug的使用Debug是为汇编语言设计的一种8086实模式的调试工具,它通过单步执行、设置断点等方式为汇编语言程序员提供了非常有效的程序调试手段。

Debug可以直接用来检查和修改内存单元内容、装入、运行程序、检查及修改寄存器的值,也就是说Debug可深入到计算机的内部,可使用户更紧密地与计算机中真正进行的工作相联系。

通过Debug能更好的理解代码。

(一)启动Debug方法1:在运行对话框中输入“cmd”启动DOS命令窗口后输入“Debug”回车;方法2:在程序/附件/命令提示符,启动DOS命令窗口后输入“Debug”回车。

Debug的提示符是符号“-”。

即出现提示符“-”就表示可以接受DEBUG命令了。

按Alt+Enter 键可在全屏与窗口之间切换。

(二)Debug命令格式DEBUG的每个命令都是一个字母,后跟一个或多个参数,参数与参数之间,用空格或逗号隔开,参数与命令符之间可用空格隔开,命令的结束符是回车键Enter。

下面对DEBUG命令作几点说明:●字母不分大小写。

●只使用16进制数,且不能带后缀H。

●以空格或逗号作为命令各项之间的分隔符。

分隔符只在两个数值之间是必须的。

●可以用Ctrl+C终止命令的执行。

●若输入的命令有语法错误,则提示“Error”,并用“^”指出错误位置。

(三)Debug常用命令1、R命令格式: R [<寄存器名>](1) R功能:显示当前所有寄存器内容,状态标志及将要执行的下一指令的地址、代码及汇编语句形式(反汇编CS:IP所指的指令),其中对状态标志FLAG以每位的形式显示。

(2) R <寄存器名>功能:显示指定寄存器内容,例如:-R AX <Enter> 等待用户键入新的值,按回车键结束。

当进入DEBUG时,寄存器和标志设成以下数值:DS,ES指向最低可用段处的程序区前缀。

BX和CX为被装入文件的长度值。

汇编语言上机指导

汇编语言上机指导

汇编语言上机指导一、概述汇编语言是一种低级别的程序设计语言,它直接使用计算机的指令集架构来编写程序。

而在进行汇编语言的实际操作时,上机指导是必不可少的一环。

本文将为您提供一份汇编语言上机指导,以帮助您在实践中更好地掌握汇编语言的应用。

二、实验环境与所需工具在进行汇编语言的上机实验之前,您需要准备以下工具和环境:1. 计算机:一台能够运行汇编语言开发环境的计算机;2. 汇编语言开发环境:例如MASM、NASM等;3. 文本编辑器:用于编写汇编源代码的工具,例如Notepad++、Sublime Text等;4. 模拟器或调试器:用于模拟或调试汇编程序的工具,例如DOSBox、Emu8086等。

三、实验步骤1. 安装汇编语言开发环境:根据您选择的汇编语言开发环境,下载并安装相应的软件。

2. 创建汇编源代码文件:使用文本编辑器创建一个新的文本文件,并将其保存为.asm文件格式。

3. 编写汇编程序:根据实验要求或题目要求,使用汇编语言编写相应的程序代码。

在编写过程中,需要熟悉所选汇编语言的语法和指令集。

4. 保存源代码文件:在编写完成后,保存源代码文件,并注意文件的命名规范和格式要求。

5. 编译源代码:打开所选汇编语言开发环境,并将源代码文件导入到该环境中。

使用编译器将源代码文件转换为可执行文件。

6. 运行汇编程序:在模拟器或调试器中加载生成的可执行文件,并运行程序。

通过观察程序的运行结果,验证程序代码的正确性和准确性。

7. 调试程序:如果程序在执行过程中出现错误或异常,可以使用调试器来逐步调试程序,找出错误的原因,并进行修正。

8. 优化程序:经过测试和调试后,可以根据实验需求对程序进行优化或改进,提高程序的性能和效率。

9. 文档整理:在上机实验结束后,对实验过程、实验结果和实验心得进行文档整理。

将实验相关的代码、截图和注释整理成文档,并附上你的实验心得和体会。

四、注意事项1. 在编写汇编程序时,需要遵循所使用汇编语言的语法和规范,注意标识符的命名规则和字符集的使用限制。

汇编语言上机实验指导

汇编语言上机实验指导

实验一汇编语言上机基本步骤一、实验目的:熟悉汇编语言的上机过程,掌握各项工具软件的使用方法二、实验环境:1.硬件:PC微机2.软件:DOS系统、EDIT.EXE、MASM.EXE、LINK.EXE、DEBUG.EXE三、实验内容:1.前期准备:在开始进行汇编语言上机练习之前,建立并进入自己的工作子目录,准备好相关工具软件如MASM.EXE、LINK.EXE等,其后所有工作均在自己的子目录中进行,以避免因路径概念不清而导致的文件存取错误,以及对系统其它部分造成影响。

1)建立自己的工作子目录(例如MYTEST):C:\>MD MYTEST2)进入自己的工作子目录:C:\>CD MYTEST3)将所需工具软件从其它地方(如C:\MASM)拷贝进自己的工作子目录:C:\MYTEST>COPY C:\MASM\MASM.EXEC:\MYTEST>COPY C:\MASM\LINK.EXE2.编写源程序:原则上可以用任何文字处理软件(如EDIT、写字板、甚至WORD)编写源程序,但必须注意,源程序应为ASCII码文件(或称纯文本文件),扩展名一般为.ASM。

因此,建议使用DOS环境下的EDIT软件。

1)在DOS系统操作提示符下键入EDIT并回车,即可进入EDIT文本编辑环境。

如果没有进入,检查当前路径下是否存在EDIT.EXE文件,以及文件是否完整等。

2)从键盘输入下列程序(不必输入注释部分):CODE SEGMENT;定义一个CODE段ASSUME CS:CODE;定义CODE段为代码段START:;可执行语句起始处MOV AH,02H ;以下三条语句将显示字母aMOV DL,’a’INT 21HMOV AH,4CH ;以下二条语句将返回DOSINT 21HCODE ENDS;CODE段结束END START;整个程序结束该程序的功能是仅在CRT屏上显示一个字母a,完成功能的只有其中的三条语句,但其它部分则是一个完整的汇编语言源程序必不可少的部分。

《汇编语言》课件

《汇编语言》课件

了解汇编语言中的寄存器是非常重要的。在这个部分,我们将介绍常见的寄存器以及它们的作用和 用法。
1
通用寄存器
通用寄存器用于存储临时数据,帮助进行数据操作和计算。
2
指针寄存器
指针寄存器用于存储内存地址,方便程序对内存的读写操作。
3
状态寄存器
状态寄存器用于存储程序运行的状态信息,例如条件判断和中断状态。
指令集
函数调用
探讨如何使用汇编语言调用函数,实现程序 的模块化和代码的复用。
汇编语言实例
在这个部分,我们将提供一些实际的汇编语言实例,让你更好地理解汇编语言的应用和实践。
1
字符串反转
学习如何使用汇编语言实现字符串反
计算阶乘
2
转的功能,加深对汇编语言的理解和 应用。
了解如何使用汇编语言计算阶乘,掌
握循环指令和递归算法。
介绍一些优质的在线教程,帮 助你系统地学习汇编语言。
编程社区
推荐一些活跃的编程社区,让 你与其他汇编语言爱好者交流 和分享经验。
提升编程技能
学习汇编语言可以帮助你深入 理解计算机的底层工作原理, 进一步提升你的编程能力。
激发创造力
加强团队合作
通深入了解汇编语言,你可 以更好地理解计算机体系结构, 从而激发创新思维和解决问题 的能力。
学习汇编语言可以帮助你与其 他程序员更好地沟通和合作, 提高团队工作效率。
汇编语言概述
在这个部分,我们将讨论汇编语言的基本概念和特点。了解汇编语言与高级编程语言的区别,以及为什 么掌握汇编语言对于成为一名优秀的程序员非常重要。
《汇编语言》PPT课件
欢迎来到《汇编语言》PPT课件!在这个课程中,我们将介绍汇编语言的基本 概念、寄存器、指令集、程序设计以及一些实例。准备好进入编程的奇妙世 界了吗?让我们开始吧!

《汇编语言基础》课件

《汇编语言基础》课件

使用汇编语言实现算法优化
汇编语言基础:了解汇编语言的基本语法和指令 算法优化:了解常见的算法优化方法,如循环展开、分支预测等 实践项目:选择一个具体的算法优化项目,如矩阵乘法、排序等 汇编语言实现:使用汇编语言实现算法优化,包括编写代码、调试和优化等步骤 性能评估:对优化后的算法进行性能评估,包括时间、空间复杂度等指标
内存单元的值可以是数据、指令、 状态等多种类型
数据类型
整数类型:包 括有符号整数 和无符号整数
浮点数类型: 包括单精度浮 点数和双精度
浮点数
字符类型:包 括ASCII字符 和Unicode字

指针类型:用 于表示内存地 址的变量类型
指令格式
指令格式:操作码+操作数
操作码:表示指令的功能和操作类型 操作数:表示指令的操作对象和操作 结果
添加 标题
比较指令:CMP、TEST、JMP、JE、JNE、 JA、JAE、JB、JBE、JG、JGE、JL、JLE
添加 标题
逻辑指令:AND、OR、XOR、NOT、SHL、 SHR、ROL、ROR、SAL、SAR
逻辑指令
逻辑指令是汇编语言指令系统中的重要组成部分 逻辑指令包括AND、OR、NOT等 逻辑指令用于实现逻辑运算,如判断、比较等 逻辑指令在汇编语言编程中广泛应用,如条件跳转、循环控制等
控制指令
跳转指令:如JMP、JE、JNE等,用于控制程序流程 循环指令:如LOOP、DO、WHILE等,用于重复执行一段代码 子程序调用指令:如CALL、RET等,用于调用子程序或返回主程序 堆栈操作指令:如PUSH、POP等,用于操作堆栈中的数据
输入输出指令
输出指令:用于将数据输出 到外部设备,如显示器、打 印机等

汇编语言程序上机过程课件.

汇编语言程序上机过程课件.

运行调试-DEBUG的主要命令
(1)显示内存单元内容的命令D 格式为:-D [地址] 或 -D [范围] 说明:上面格式中的“-”符号是DEBUG的提示 符,下同。 例如,显示指定范围(DS:100~DS:1FF)内存 单元内容的命令是: -D 100 10F 这里没有指定段地址,D命令自动显示DS段的 内容。
8086汇编语言程序上机过程
运行调试-DEBUG的主要命令 (3)检查和修改寄存器内容的命令R 格式一:显示CPU内部所有寄存器内容和标 志寄存器中的各标志位状态 -R 格式二:显示和修改某个指定寄存器内容 -R寄存器名
例如:-R AX
格式三:显示和修改标志寄存器内容 -RF
8086汇编语言程序上机过程
8086汇编语言程序上机过程
利用DEBUG进行程序的运行调试
DEBUG是为汇编语言设计的一种调试工具。 它通过单步、设置断点等方式为汇编语 言程序员提供了非常有效的调试手段。 它可以直接调试COM文件和EXE文件。 DEBUG状态下的所有数据都采用十六进制形 式显示,无后缀H。
8086汇编语言程序上机过程
汇编语言程序的上机过程
要运行调试汇编语言程序,文本编辑工具软件,用于编辑源程序。
汇编程序
• MASM.EXE,用于汇编源程序,得到目标程序。
连接程序
• LINK.EXE,用于连接目标程序,得到可执行程序。
调试程序
• DEBUG.EXE,用于调试可执行程序。
8086汇编语言程序上机过程
上机过程(续)
4.程序运行 在DOS提示符下输入可执行程序的文件名即可 运行程序。 若程序能够运行但不能得到预期结果,则就需 要检查源程序,改错后再汇编、连接、运行。 5.程序调试 在程序运行阶段,有时不容易发现问题,这时 就需要使用调试工具进行动态查错。 常用的动态调试工具为DEBUG。

汇编语言程序设计 上机基本操作

汇编语言程序设计  上机基本操作

2.编辑命令 (1) . 帮助命令 Ctrl+J 用来查看系统提供的帮助信息. (2).退出编辑命令 a. Ctrl+KD或PF1键命令,将当前被编辑的文件存入磁盘,然 后退出编辑壮态,回到”起始命令表”; b. Ctrl+KX或KD. 但返回的是操作系统下; c. Ctrl+KQ或PF2键.它放弃当前被编辑文件,返回到”起始 命令表”. 3.光标移动命令 可以用Ctrl+字母(E,X,S,D,R…)实现光标的移动. 4.删除与插入命令 Ctrl+G,+T,+Y,或用DEL进行删除操作;用Ctrl+V,+N进行插入 5.打印命令: 按下P键后,屏幕上显示是否输出到磁盘上(Y/N)? 你可以按要求选择.
汇编语言程序设计
汇编语言上机,可使用IBM-PC兼容机,使 用DOS操作系统,若是Windows操作系统,要切 换到DOS操作系统.启动MS-DOS操作系统,在 计算机启动时,按ESC键,进入操作系统选项,并 切换到MS-DOS操作系统. 系统里必须安装有 WordStar或PCED或EDLTN软件.WordStar是 文字处理软件;PCED是全屏幕编辑程序;EDLIN 是行编辑程序.在下面的操作中一一见绍……..
五、调试程序DEBUG 1。DEBUG程序的调用 在DOS提示下, C>DEBUG [D:] [path] [文件名] [参数1] [参数2] 2.DEBUG的主要命令 (1).显示内存单元内容的命令 D -D[地址]或[范围] (2).修改内存单元内容的命令 E -E 地址 内容表 例如:-E DS: 100 F3”XYZ” 8D 例如:-E 100: 18E4: 0100 89.78 此命令是将原100号单元的内容89改为78.

汇编语言上机指导

汇编语言上机指导

源程序第11行存在错误, 源程序第11行存在错误,错误号为 11行存在错误 A2071, A2071,初始值大小超出了范围
17
例子源程序
的结果,并显示出来。 功能为 计算 2+3 的结果,并显示出来。 STACK SEGMENT PARA STACK 'stack' ;堆栈段 ;初始化堆栈大小为400个字单元 初始化堆栈大小为400 dw 400 dup(0) ;初始化堆栈大小为400个字单元 STACK ENDS DATA SEGMENT ;数据段 X0 DB 2 Y0 DB 3 Z0 DB ? DATA ENDS
5
命令窗
6
并按下回车键, 在命令窗内输入命令 cd \asmsrc 并按下回车键,进 入源程序目录
7
%path%;c:\ 输入 path %path%;c:\masm615 并按下回车设定汇编 开发工具所在的目录,就可以开始开发了。 开发工具所在的目录,就可以开始开发了。
8
练习汇编并连接例子程序 练习汇编并连接例子程序
15
打开的记事本如图,程序编辑完成后, 打开的记事本如图,程序编辑完成后,一定要记得点 文件- 保存,保存最新的改动。 击菜单上的 文件->保存,保存最新的改动。然后可回 到命令窗, 汇编和链接。 到命令窗,依照前面的方法进行 汇编和链接。
16
汇编时,如果提示有错误,则需重新回到记事本, 汇编时,如果提示有错误,则需重新回到记事本,对 源程序进行修改,然后再汇编,示例, 源程序进行修改,然后再汇编,示例,
并按下回车, 在命令窗内输入 test.exe 并按下回车,程序运行并 的结果5 再按一次回车,程序退出。 可以看到 2+3 的结果5,再按一次回车,程序退出。

汇编语言程序设计及上机指导指令格式与寻址方式PPT学习教案

汇编语言程序设计及上机指导指令格式与寻址方式PPT学习教案

MOV AX,[BP]
;默认SS为段基址
如果操作数不在上述规定的默认段,则必须在指令中相应的操作数前加上 段超越前缀。
MOV CX,DS:[BP] 问
;DS:是段超越前缀, 表示访
数据段,而非堆栈段
2)32位寻址时,8个32位通用寄存器均可作寄存器间接寻址。
MOV CH,[EAX]
MOV DX,[EBX]
2021年6月25日星期五
四.端口寻址方式
端口寻址方式只在对外部设备的访问 指令中适用,包括端口的直接寻址和 间接寻址两种方式,具体细节在3.3.1 节的I/O数据传送类指令的叙述中, 结合具体指令详细介绍。
2021年6月25日星期五
第18页/共20页
段寄存器的使用规则
存储器操作类型 取指令
默认 段寄存器
;或写成MOV AX,[BX][SI],BX决定默认段基址由DS指出 MOV EAX,[EDX][EBP] ;由EBP决定默认SS为段基址寄存器 MOV R12,[EAX+EDX]
;用于64位方式,有效地址为EAX+EDX的和再扩展为64位 MOV RBX,[R10+RBP] ;有效地址为R10+RBP的64位和。
BX 2000H
…… 低地址
SI 3000H 和 5000H
机器 指令 ……
AH AL AX 56H 78H
5000H 5001H
78H 56H ……
高地址
图3.6 基址加变第址1寻5页址/共的2执0页行过程
2021年6月25日星期五
(5)带位移的基址加变 址寻址
EA=[基址寄存器]+[变址寄存器]+位移量
MOV RAX,[RBX×8+10H]

《汇编语言》课件

《汇编语言》课件

编程实例三:排序算法的实现
总结词:算法思想
VS
详细描述:通过汇编语言实现排序算 法,理解算法思想在编程中的运用, 提高编程思维和解决问题的能力。
06 汇编语言与高级语言的联 系与区别
编语言与高级语言的联系
同源关系
汇编语言和高级语言都源于计算机的二进制语言,它们都是为了 方便人类操作计算机而产生的。
子程序的返回值
子程序可以有一个或多个返回值,通过寄存 器或内存单元返回给主程序。
05 汇编语言编程实践
编程实例一:求两个数的和
总结词:简单运算
详细描述:通过汇编语言实现求两个数的和的程序,了解汇编语言的输入、存储、运算和输出指令。
编程实例二:求一个数的阶乘
总结词:循环结构
详细描述:通过编写求阶乘的汇编程序,掌握循环结构的实现方法,理解循环在计算中的重要性。
JE、JNE、JG、JL等条件跳转指令
根据条件跳转到指定地址。格式:JE/JNE/JG/JL destination。
子程序调用指令
CALL指令
调用子程序,并将返回地址压入堆栈。格式 :CALL procedure_address。
RET指令
从子程序返回,并弹出堆栈中的返回地址。 格式:RET。
04 汇编语言程序结构
04
03 汇编语言指令系统
数据传送指令
MOV指令
用于将数据从一个位置移动到另一个位 置。格式:MOV destination, source。
VS
PUSH和POP指令
用于在堆栈上存储和检索数据。格式: PUSH source / POP destination。
算术运算指令
要点一
ADD和SUB指令
  1. 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
  2. 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
  3. 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。

下面给出一些常见出错信息,以便查对: 1、Register already defined 汇编内部出现逻辑错误 2、Unknown symbol type 在符号语句的类型中,有些不能识别的东西 3、Symbol is multi-defined 重复定义一个符号 4、Symbol not defined 符号没有定义 5、Syntax error 语句的语法与任何可识别的语法不匹配 6、Symbol is reserved word 企图非法使用一个汇编程序的保留字(例:定义add为一变量) 7、Not proper align/combine type SEGMENT参数不正确 8、One operand must be const 这是加法指令的非法使用 9、Operands must be same or 1 abs 这是减法指令的非法使用 10、Already have base register 试图重复基地址 11、Illegal size for item 引用的项的长度是非法的,(如:双字移位) 12、Illegal register value 指定的寄存器值不能放入“reg” 字段 13、Must be AX or AL 某些指令只能用AX或AL 14、Improper use of segment reg 段寄存器使用不合法(如:mov ds,0) 15、Division by 0 or overflow 给出一个用0作除数的表达式 16、Value is out of range 数值大于需要使用的 17、CS register illeal usage 试图非法使用CS寄存器 18、DUP is too large for linker DUP嵌套太长,以至于从连接程序不能得到所要的记录
汇编语言上机指导
及示例、习题
汇编语言上机过程
一、上机前的软件准备: MS-DOS操作系统(如:MSDOS6.22 , MSDOS7.0 等) 文本编辑器 (如: , TURBO.EXE , TC.EXE , C.EXE 等) 汇编程序 (如:MASM.EXE , ASM.EXE 等) 连接程序 (如:LINK.EXE 等) 调试程序 (如:DEBUG.EXE 等)
PROCEDURE b:编译目标文件(即:编译为.obj .lst .crf文件) 这个过程计算机将把你编的正确的源代码编译为机器语言、程序清单及 交叉引用表的目标文件。如果此时你的程序有语句错误,系统将报错, 并指出在第几行,什么类型的错误,你可根据提示去逐一修改。现介绍 具体过程: 在DOS提示符下键入MASM filename回车 (注:你系统内的汇编程序为MASM.EXE,如果你系统的汇编程序为 ASM.EXE时,便将命令变为ASM f建立的文件名) 这时汇编程序的输出文件可以有三个(分别:.obj .lst .crf),便会出现三 次提问,在这可以一路回车即可。下面显示的信息是源程序中的错误个 数,如果为0则表示顺利通过,就可进行进程c。但如果不为0就说明有错 误,并指出错误出现的行,可依据这个提示去进行修改。但如果错误太 多还未等看清就显示过去了,可用如下命令形将错误信息存于一个你指 定的文件,再用文本编辑器去查看。 MASM filename >filen (filen为 你起的一个没用过的文件名,用以存放出错信息)以后可查看filen来得 到出错信息。
二、汇编程序建立过程: 通过 a.建立汇编源程序────→b.编译为目标文件──┬─→d.连接为可执行文件 ↑ ↓ ↓ │ c.不通过,重新修改(语句错误) │ │ ├──────────────────────┘ │ ↑ f.不正确,用调试工具调试,重新修改(逻辑错误) ↓ └────────────────────────────←e运行 ↓正确 g.完成
三、现在对(二)的每一个标有字母的过程(PROCEDURE)进行详细 说明 PROCEDURE a:建立汇编源程序(即:建立 文件名.asm) 这个过程就相当于我们在纸上编写源程序代码一样,只不过是将纸变 为了计算机,这个过程也称源代码录入。将源程序代码录入计算机的 方法很多,下面将介绍具体方法。 1.通过MD-DOS自带的EDIT.EXE文本编辑器进行输入,在DOS提示 符下键入:EDIT回车,这时如果你系统内可调用时,EDIT的操作画面便 会出现在屏幕上,你就可在提示下进行录入了,当录入完毕后,选择 存盘并给你输入的文件起一个文件名,形式:filename.asm ;(其 中filename为你起的文件名,由1-8个字符组成),asm 是为汇编程序 识别而必须加上去的,不可更改。存盘后在DOS下可用DOS命令DIR 来查看,如果看到了所存的文件存在,就可以进行进程b。 2.如果你的系统中没有EDIT,也可用你所熟悉的文本编辑器进行录入、 编辑,如可用c语言和pascal语言的文本编辑器来编辑,最后将文件存 为filename.asm的形式即可。
PROCEDURE c:编译不通过,重新修改(错误类型:源程序语句 不合法) 在执行过PROCEDURE b后,如有出错信息时,就要我们自己 按PROCEDURE c去做,而不能跳跃到PROCEDURE d去,如 果强行执行PROCEDURE d将无任何有效结果。 现在就开现找错吧!首先要清楚,在PROCEDURE b中检测出 的错误均为每一条语句的语法或用法错误,它并不能检测出程 序的逻辑设计(语句按排位置)错误,所以就要记好出错的行 号。在记录行号后,就应再次执行PROCEDURE a,这时和操 作应是打开已编好的源程序(以EDIT为例:在DOS提示符下键 入: EDIT filename.asm回车),依据行号进行修改并存盘,再次进 行汇编,直至PROCEDURE b通过为止。便可继续向下执行 PROCEDURE d。
相关文档
最新文档