汇编语言上机步骤
汇编上机汇编语言步骤
汇编上机汇编语言步骤汇编语言是一种底层的计算机语言,用于将人类可读的指令转换为机器可执行的指令。
它在计算机体系结构和操作系统的开发以及底层编程中起着重要作用。
本文将介绍汇编语言的上机实践步骤,帮助读者更好地理解和应用汇编语言。
I. 准备工作在进行汇编语言编程之前,需要做一些准备工作。
1. 硬件环境准备确保计算机硬件环境能够支持汇编语言编程。
通常,需要一台计算机和合适的开发环境,例如Masm、NASM等。
2. 软件环境准备根据个人喜好和需求,选择合适的开发环境和工具。
例如,可以使用文本编辑器编写源代码,并使用汇编器将其汇编为机器码。
同时,还需要安装调试工具,用于调试和测试编写的程序。
3. 学习资料准备在开始上机实践之前,建议阅读相关的汇编语言教材、文档或参考书籍,了解基本的汇编语言概念和语法规则。
这将有助于更好地理解和应用汇编语言。
II. 编写汇编程序一旦准备工作完成,我们可以开始编写汇编程序了。
以下是编写汇编程序的一般步骤。
1. 分析问题和设计首先,明确问题的需求和目标。
然后,设计程序的逻辑结构,确定需要使用的指令和算法。
2. 编写源代码使用选择的文本编辑器编写源代码。
按照汇编语言的语法规则,逐行编写汇编指令,并添加必要的注释和标签。
3. 汇编程序保存源代码文件,并使用汇编器将源代码转换为机器码。
这一步骤会生成可执行文件,即汇编程序。
4. 运行和调试运行汇编程序,并使用调试工具进行调试。
通过逐步执行代码、监视变量和寄存器的值,可以定位和解决程序中的错误。
III. 优化和扩展完成基本的汇编程序后,可以考虑进行优化和扩展,以提高程序的性能和功能。
1. 代码优化优化汇编程序,使其更高效、更可靠。
可以通过减少指令数量、减少内存访问、使用更有效的算法等方式进行优化。
2. 功能扩展根据需求,添加新的功能或功能模块。
这可能包括输入输出处理、文件操作、图形界面等。
IV. 运行和测试完成优化和扩展后,进行运行和测试。
汇编语言程序的上机过程
汇编语言的上机过程汇编语言程序的上机过程包括编辑、汇编、连接和执行这四个步骤。
汇编程序我们提供宏汇编程序MASM5.0和MASM6.14两个版本。
1、建立源程序文件建立和编辑汇编语言源程序可以使用EDIT、记事本、写字本,也可以使用TC等来输入源程序。
保存时,源程序文件的扩展名必须是ASM。
练习:(1)在DOS下用编辑软件EDIT建立如下源程序文件,将文件保存为Hello.ASM,保存在MASM5目录下。
(调用命令“C:\EDIT”进入EDIT编辑器。
)源程序文件如下:DSEG SEGMENTMESSAGE DB 'HOW DO YOU DO?',0DH,0AH,24HDSEG ENDSCSEG SEGMENTASSUME CS:CSEG,DS:DSEGBEGIN:MOV AX,DSEGMOV DS,AXMOV DX,OFFSET MESSAGEMOV AH,9INT 21HMOV AH,4CHINT 21HCSEG ENDSEND BEGIN(2)编程计算1+2+3+ ……+100,和放在AX寄存器中,要求用循环实现。
对于MASM5.0和MASM6.14两个版本,编译和连接的方法有所不同。
以下分别就两个版本的编译和连接的方法进行讲解。
如果使用MASM5.0的话,操作方法如下(以HELLO.ASM源程序文件为例):2、对源程序进行汇编,生成目标文件HELLO.OBJ。
操作:(1)在DOS下进入MASM5.0的目录,如C:\MASM5>(2)敲入命令: MASM HELLO说明:.obj文件:目标代码文件,纯二进制代码文件,不能直接显示在屏幕上。
.lst文件:包含源程序中各语句及其对应的目标代码,各语句的偏移量等相关信息,对调试程序有帮助,但一般情况不需要。
.crf文件:交叉索引文件,给出源程序中定义的符号引用情况,初学时不需建立。
3、连接目标文件,生成执行文件HELLO.EXE,操作:敲入命令LINK HELLO说明:.EXE文件:可执行文件.MAP文件:连接映象文件,包括各个段在存储器中的分配情况,初学时不需要。
汇编语言上机过程
汇编语言上机过程:一、上机前的软件准备:MS-DOS操作系统(如:MSDOS6.22 , MSDOS7.0 等)文本编辑器(如: , TURBO.EXE , TC.EXE , C.EXE 等)汇编程序(如:MASM.EXE , ASM.EXE 等)连接程序(如:LINK.EXE 等)调试程序(如:DEBUG.EXE 等)二、汇编程序建立过程:三、现在对(二)的每一个标有字母的过程(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 b:编译目标文件(即:编译为.obj .lst .crf文件)这个过程计算机将把你编的正确的源代码编译为机器语言、程序清单及交叉引用表的目标文件。
如果此时你的程序有语句错误,系统将报错,并指出在第几行,什么类型的错误,你可根据提示去逐一修改。
现介绍具体过程:在DOS提示符下键入MASM filename回车(注:你系统内的汇编程序为MASM.EXE,如果你系统的汇编程序为ASM.EXE时,便将命令变为ASM filename回车。
4.2 汇编语言上机过程
4.2 汇编语言上机过程用ARM汇编语言编写的源程序,要使之运行必须经过以下几个步骤:(1)编辑汇编源程序,保存为文件名后缀是“.s”的文件。
(2)调用汇编程序对源程序进行汇编,生成目标文件。
(3)连接目标文件,生成可以放进ARM软件仿真器进行调试的映像文件或者可下载到ARM的目标板执行的二进制文件。
(4)对生成的最终文件进行调试。
4.2.1 编辑汇编语言源程序可以使用简单的Windows自带的记事本程序来编辑ARM的汇编程序。
单击“开始菜单”|“程序”|“附件”|“记事本”命令,输入汇编代码,保存为“.s”文件。
也可以使用CodeWarrior IDE来编辑汇编程序。
为使编辑之后的源程序能被编译运行,需要新建一个工程。
4.2.2 编译汇编语言源程序ARM的编译器有如下几种:armcc:ARM C编译器,具有优化功能,兼容ANSI C。
tcc:Thumb的C编译器,同样具有优化功能兼容ANSI C。
armcpp:ARM C++编译器,遵循ANSI C++或者EC++标准。
tcpp:Thumb的C++编译器,遵循ANSI C++或者EC++标准。
armasm:支持ARM和Thumb的汇编器。
这些编译器输出的是ELF格式的目标文件,可以包括RAWF2格式的调试信息。
同时通过特殊的控制选项可以输出汇编语言文件或者列表文件。
4.2.3 连接装配汇编程序使用armlink程序对ARM的汇编源程序进行连接,它也可以将多个.o目标文件连接生成最终的可执行文件。
4.2.4 汇编程序的运行4.2.3小节中生成的hello.axf文件是ARM 的ELF格式的可执行映像文件,这个文件可以载入AXD进行仿真调试。
对于该文件,我们可以使用armsd在终端模拟它在ARM目标机上的运行。
4.2.5 汇编程序的调试armsd是ARM的一个终端运行的调试工具,由于没有可视化的界面,使用比较繁琐,这里不再介绍。
第八讲(2) 汇编语言简单上机过程
本章到此结束
谢谢!
结 束放映
返回本章首页
第一章
微机基础知识概述
一、指出下列指令的寻址方式 MOV AX, 06H MOV BX, [BX+SI]
MOV AX, [2000H]
MOV CX, ALPHA[BP+DI]
JMP
CWD
BX
MOV AL, [DI]
第一章
微机基础知识概述
二、汇编后
DATA SEGMENT
Source filename [.ASM]:文件名
第一章
微机基础知识概述
Object filename[文件名.OBJ]
Source listing[NUL.LST]:文件名
Cross reference[NUL.CRF]:文件名
0 Warning Error 0 Severe Errors
返回本节
实验六、8259应用编程1、2。
第一章
微机基础知识概述
实验五:微机原理及接口实验指导书
1、实验七:8253定时/计数应用实验; 2、实验八:8255并行接口应用实验。
第一章
微机基础知识概述
实验六:综合实验 1、分析所使用的微机实验设备的系统组成, 画出结构图; 2、使用现有微机原理实验设备、设计综合 实验; 3、要求实验中应包含8259、8255、8253接 口芯片。
第一章
微机基础知识概述
四、动态调试程序
提供多种程序的运行方法和检测手段,可观察各
个寄存器、内存单元及标志变化情况。
C:\MASM>DEBUG 文件名.exe
_A 地址 送入程序。 _G [起地址] [末地址] 不写地址执行刚刚汇编过的程序。
实验二-汇编语言程序的上机步骤
实验二汇编语言程序的上机步骤一、实验目的熟练掌握汇编语言程序的上机步骤和程序调试方法。
二、实验内容及步骤1.通过CMD命令进入DOS方式。
2.通过CD命令和MD命令建立和进入用户程序目录。
3.将实验一笑脸程序补充为一个完整的汇编语言程序。
4.熟读第五部分内容:环境简介5.通过编辑——汇编——连接步骤生成.EXE形式的笑脸程序Smile.exe。
6.运行Smile.exe程序,观察运行结果。
7.用“DUBUG Smile.exe”命令将Smile.exe程序装入内存,通过R命令读取Smile.exe程序在内存的地址。
8.用反汇编U命令观察笑脸程序。
9.重复实验一“使用DEBUG调试程序”中的步骤(4)和(5),观察程序运行结果。
10.验证题以下程序段用以显示信息“Press any key when you ready.”。
在用户按下任一键后,另起一行显示信息“Input your password:”。
DSEG SEGMENT use16MESS1 DB ‘Press any key when you ready’,0AH,0DH,‘$’MESS2 DB ‘Input your password:’,’$’DSEG ENDSSSEG SEGMENT STACKDB 80H DUP(0)SSEG ENDSCSEG SEGMENTASSUME DS:DSEG,SS:SSEG,CS:CSEGSTART:MOV AX,DSEGMOV DS,AXMOV DX,OFFSET MESS1MOV AH,09HINT 21H ;显示“press any key when you ready.”MOV AH,08HINT 21H ;等待用户按任一键MOV DX,OFFSET MESS2MOV AH,09HINT 21H ;显示“Input your password:”MOV AH,4CHINT 21HCSEG ENDSEND START三、实验要求认真完成实验每一步骤,详细记录实验过程、现象和结果,及时整理实验报告。
有图示的汇编语言程序上机过程示例
汇编语言上机过程示例一、初次上机环境准备在WINDOWS操作系统的资源管理器中,在d盘上新建自己的文件夹,用英文字母命名,并且名字长度不超过8个字符,例如d:\zhangsan(注意:dos下所有的文件夹名字、文件的主文件名都不能超过8个字符)。
把汇编软件masm.exe和连接软件link.exe和调试软件debug.exe复制到你的文件夹内,和下面你输入的源程序放在同一个文件夹内。
(即确保你的文件夹内有汇编语言上机所需的软件masm.exe,link.exe,debug.exe)二、汇编语言程序的上机过程1、编辑(输入、修改)汇编语言源程序(1)在你的文件夹内用记事本新建一个文本文档,假设主文件名是abc,把文件的扩展名由txt修改为asm (如果看不到文件的扩展名,请点击windows资源管理器的:“工具”——>“文件夹选项”——>“查看”选项卡,把“隐藏已知文件类型的扩展名”前的对勾去掉。
)。
(2)打开该文档输入汇编语言源程序并且保存。
注:也可以在DOS下用edit软件编辑汇编语言源程序。
注意:文件扩展名必须为.asm并且不能省略。
2、打开dos或者命令提示符窗口以及路径切换(1)打开dos或者命令提示符窗口win98下:打开ms-dos窗口(开始菜单——>程序——>ms-dos方式);win2000、winXP下:打开命令提示符窗口(开始菜单——>程序——>附件——>命令提示符),结果如下图所示:(2)切换到d盘:在dos提示符(下图中类似c:\documents and settings\guest>的就是dos提示符,一般为当前路径加大于号构成)下输入d:,如下图所示:然后回车,结果如下图所示:(3)切换到你的路径(例如你的文件夹在d盘根目录下,名字为zhangsan,则在dos提示符下(一般是D:\>)输入cd \zhangsan),如下图所示:然后回车,结果如下图所示:3、对源程序进行汇编在dos提示符下输入masm abc.asm,如下图所示:然后回车(文件的扩展名.asm可以省略),可能需要多次回车(不要输入其它内容,只需要回车)直到回到dos 提示符状态,结果如下图所示:如果汇编通过,显示如上图,0 warning errors,0 severe errors(在windows的资源管理器下查看zhangsan 文件夹,在当前文件夹内生成了主文件名与汇编语言源程序的主文件名同名、扩展名为.obj的目标文件),则进行第4步;如果汇编没通过(即没生成目标文件),例如类似下图显示:1 severe errors,则根据屏幕上的错误提示进行第1步(修改源程序),直到汇编通过。
汇编语言程序的上机过程
汇编语言程序的上机过程
1.建立源程序
用记事本写写代码,把扩展名改为.asm,存入masm文件夹中,保存类型改为“所有文件”,否则系统默认为.txt文件保存。
2.用MASM程序编译源文件,产生目标文件。
1)先进入C:\MASM>中
2)输入“masm MM”即masm 文件名(扩展名可以省略)
3)画蓝线的部分表示有0个警告和0个致命的错误,表示编译通过了。
3
目标文件查看:
3.用Link程序连接目标文件,产生可执行程序
输入“LINK 文件名.obj(扩展名可以省)”eg: LINK MM.OBJ
通过连接产生MM.exe文件,在命令符窗口输入dir命令查看。
4.直接输入文件名查看输出内容。
5.用debug程序调试与运行可执行文件
输入debug命令,屏幕显示:
-
“-”号表示debug系统提示符,
1)用u命令反汇编该文件,屏幕显示如下:
2)用d命令了解数据存储
格式为:
d 数据段地址:0
3)用g命令执行该程序
格式为
g=程序的首地址:0
表示程序正常终止,文件中的文件显示出来。
3)用r显示寄存器内容命令
这里的cs和IP显示了当前指向的指令及其代码,即即将执行的下一条语句。
汇编语言上机环境及基本操作
汇编语言上机环境及基本操作汇编语言是一种低级语言,它直接面向硬件,可以直接访问计算机的底层资源。
为了学习和实践汇编语言,我们需要了解如何搭建汇编语言上机环境以及其基本操作。
本文将介绍汇编语言上机环境的安装和基本操作的步骤,并给出一些示例。
1. 汇编语言上机环境的安装在搭建汇编语言的上机环境之前,我们首先需要确认计算机的操作系统。
通常,我们可以在Windows操作系统上进行汇编语言的开发和调试。
下面是汇编语言上机环境的安装步骤:1.1 下载汇编语言开发工具汇编语言开发工具有很多种,比如MASM、NASM等。
根据个人的喜好和需求选择合适的工具进行下载。
1.2 安装汇编语言开发工具双击下载文件并按照提示完成安装过程。
一般来说,安装过程中可使用默认配置,无需特殊设置。
1.3 配置环境变量配置环境变量可以使得我们在任意路径下都可以运行汇编语言代码。
找到系统环境变量中的"Path"变量,添加汇编语言开发工具的安装路径。
例如,如果您选择了MASM,将其安装路径添加到"Path"变量中即可。
安装好汇编语言开发工具后,我们就可以开始进行汇编语言的实践了。
2. 汇编语言的基本操作接下来我们将介绍汇编语言的一些基本操作,包括编写代码、汇编、链接和运行等。
2.1 编写汇编语言代码打开一个文本编辑器(如记事本),编写汇编语言的代码。
汇编语言与高级语言相比,语法更为底层,需要对计算机的底层结构有一定的了解。
可以参考相关教材或者网络资源,编写简单的汇编语言代码。
2.2 汇编将编写好的汇编语言代码保存为.asm文件。
然后,打开命令提示符(或者使用汇编语言开发工具自带的命令行工具),进入.asm文件所在目录,并执行如下命令进行汇编:> asm 文件名.asm汇编成功后,将生成相应的.obj文件。
2.3 链接汇编语言代码中可能会引用一些外部的库文件,我们需要将这些库文件与生成的.obj文件进行链接。
汇编语言上机过程
汇编语言程序的上机过程一、上机环境要运行调试汇编语言程序,至少需要以下程序文件:▪编辑程序:或其他文本编辑工具软件,用于编辑源程序。
▪汇编程序:MASM.EXE,用于汇编源程序,得到目标程序。
▪连接程序:LINK.EXE,用于连接目标程序,得到可执行程序。
▪调试程序:DEBUG.EXE,用于调试可执行程序。
二、上机过程汇编语言程序上机操作包括:编辑、汇编、连接和调试几个阶段。
1.编辑源程序用文本编辑软件创建、编辑汇编源程序。
常用编辑工具有:、记事本、Word等。
无论采用何种编辑工具,生成的文件必须是纯文本文件,所有字符为半角,且文件扩展名为.asm(文件名不分大小写,由1~8个字符组成)。
2.汇编用汇编工具对上述源程序文件(.asm)进行汇编,产生目标文件(.obj)等文件。
汇编程序的主要功能是:检查源程序的语法,给出错误信息;产生目标程序文件;展开宏指令。
汇编过程如下:在DOS状态下,输入命令:MASM MYFILE.ASM(回车),即启动了汇编程序。
此命令执行后,会出现下面的3行信息,依次按回车键(即选择默认值)即可建立3个输出文件,其扩展名分别为:.OBJ(目标文件),.LST(列表文件)和.CRF(交叉引用文件)。
Object Filename [MYFILE.OBJ]:Source Listing [Nul.LST]:Cross Reference [Nul.CRF]:依次按回车键,进行选择后,汇编程序就对汇编源程序进行汇编。
如果汇编过程中发现有语法错误,则屏幕上会显示出错语言的位置和出错的类型。
此时,需要进行修改,然后再进行汇编。
如此进行,直至汇编无错误,得到目标文件为止。
3.连接汇编产生的目标文件(.obj)并不是可执行的程序,还要用连接程序把它转换为可执行的EXE文件。
连接过程如下:▪在DOS状态下,输入命令:LINK MYFILE.OBJ(回车),即可完成连接。
▪与汇编过程类似,如果连接过程中出错,那么程序会在屏幕上显示提示信息。
汇编语言程序的上机过程.
返回DOS 和显示输出使用DOS功能调用 (INT 21H),参见P302页。调用步骤如 下:
;设置入口参数 AH=功能号 INT 21H AH=2 显示输出 DL=输出字符 AH=4CH 带返回码结束 程序结束前执行: MOV AX,4C00H INT 21H 就可以退出程序,返回DOS。
汇编语言程序的上机过程
一、进入系统
1、Ctrl+Alt+Del 系统热启动 屏幕显示:如果不是授权用户,请勿登录 确定 2、按确定后,屏幕显示: 用户名:wl51-2 密码: cjx 域:student6(6号机房),student7 (7号机房) 欢迎使用Windows NT!
3、出现Windows界面 光标指向左下角,点击开始,出现一菜单,选择其中程序 项,点击,出现子菜单。或在运行项中键入cmd也可进入 DOS状态。 在子菜单中选择“MS-DOS命令提示符”,点击后系统退 回 到DOS方式,出现DOS提示符Z : \ > 在Z盘的目录下有一子目录masm ,在该目录下有5个程序: A .OBJ ;老师提供的模块 DEBUG.EXE ;调试程序 ;文本编辑程序 MASM.EXE ;宏汇编程序 LINK.EXE ;链接程序 可以不进入DOS状态,而在WINDOWS下直接进入E盘。 4、 Z : \ > E : (回车);Z是系统盘,用户不能用。 要进入E盘(这是用户盘)
Байду номын сангаас
四、连接程序(LINK.EXE)
目标程序必须经过连接后,才能成为扩展名为.EXE 的可执行文件。 多个目标文件连接时,可用空格或+号来连接。 例如:LINK 文件名.obj A.obj(回车) 这里.OBJ可以省略
3月21日8:00-10:00,第一次上机,做编程题 中的第1、2两题。 其中第1题提示如下: ESC键的扫描码为01H,ASCII码为1BH;空格 的ASCII码为20H。 使用BIOS调用,参见P310页。 INT 16H AH=0 从键盘读入字符 AL=字符码 AH=扫描码 AH=1 读键盘缓冲区 ZF=0 AL=字符码 AH=扫描码 ZF=1 缓冲区空
汇编语言程序设计的实验环境及上机步骤
汇编语言程序设计的实验环境及上机步骤一、一、实验环境汇编语言程序设计的实验环境如下:1. 1.硬件环境微型计算机(Intel x86系列CPU)一台2. 2.软件环境⏹⏹Windows98/2000/XP操作系统⏹⏹任意一种文本编辑器(EDIT、NOTEPAD(记事本)、UltraEDIT等)⏹⏹汇编程序(MASM.EXE或TASM.EXE)⏹⏹连接程序(LINK.EXE或TLINK.EXE)⏹⏹调试程序(DEBUG.EXE或TD.EXE)文本编辑器建议使用EDIT或NOTEPAD,汇编程序建议使用MASM.EXE,连接程序建议使用LINK.EXE,调试程序建议使用TD.EXE。
二、二、上机实验步骤注:以下步骤适用于除汇编语言程序设计的实验一到实验四外的所有实验(实验一到实验四仅使用TD.EXE)。
1.确定源程序的存放目录建议源程序存放的目录名为ASM(或MASM),并放在C盘或D盘的根目录下。
如果没有创建过此目录,请用如下方法创建:通过Windows的资源管理器找到C盘的根目录,在C盘的根目录窗口中点击右键,在弹出的菜单中选择“新建”→“文件夹”,并把新建的文件夹命名为ASM。
请把MASM.EXE、LINK.EXE、DENUG.EXE和TD.EXE都拷贝到此目录中。
2.建立ASM源程序建立ASM源程序可以使用EDIT或NOTEPAD(记事本)文本编辑器。
下面的例子说明了用EDIT文本编辑器来建立ASM源程序的步骤(假定要建立的源程序名为HELLO.ASM),用NOTEPAD(记事本)建立ASM源程序的步骤与此类似。
在Windows中点击桌面左下角的“开始”按钮→选择“运行”→在弹出的窗口中输入“ C:\ASM\HELLO.ASM”,屏幕上出现EDIT的编辑窗口,如图1所示。
图1 文本编辑器EDIT的编辑窗口窗口标题行显示了EDIT程序的完整路径名。
紧接着标题行下面的是菜单行,窗口最下面一行是提示行。
汇编语言程序上机
汇编语言程序上机过程1.编写源程序进入MS-DOS方式,进入MASM40子目录,提示符后键入edit 源文件名.asm,回车,利用DOS的全屏幕编辑软件编写汇编语言源程序,存盘,退出也可以先在WINDOWS环境中用记事本编写源程序,存为扩展名为.asm的文件(注意文件保存在MASM40子目录下),再进入MS-DOS方式,进入MASM40子目录2.汇编源程序提示符后键入masm 源文件名.asm,回车,提示输入OBJ文件名,按回车提示输入LST文件名, 键入源文件名,回车这两步只要试一次,打开它们了解其作用即可,以后就一路按回车提示输入CRF文件名, 键入源文件名,回车汇编完成,源程序中如有错误,显示错误信息3.如汇编后报错,改正源程序中的错误,直至汇编无错,则生成源文件名.obj4.连接提示符后键入link 源文件名,回车,对于提示信息,全部按回车若无连接错误,则生成源文件名.exe5.运行提示符后键入源文件名,回车6. 提示符后键入exit,回车,退出DOS环境调试软件Debug使用说明:DOS环境下,提示符后键入debug 源文件名.exe,回车,出现提示符’_’1._u[address] (反汇编命令)从指定的地址起反汇编32个字节,若不指定,则从头开始或从上一个u命令的最后一条指令的下一个单元开始反汇编2._g[=address1] [address2] (运行命令)从指定的地址address1起执行,如不指定则从当前的CS:IP开始执行(address1为000则从头开始执行),当执行到后面的断点地址address2时,停止执行并显示当前所有寄存器及标志位的内容,和下一条将要执行的指令3._t[=address] [n](跟踪命令)从指定的地址address起执行n条(不指定n,则执行一条指令)后停下来, 显示当前所有寄存器及标志位的内容,和下一条将要执行的指令, 如不指定address则从当前的CS:IP开始执行4._d[address]或_d[range]在DS段寄存器经MOV指令传送有具体值后,从指定的数据段偏移地址address起开始显示80个字节或指定范围的字节的内容,如_d000 020显示数据段中偏移地址为000h至0020h的字节的内容,如在address前指定段寄存器(CS、SS、ES),也能观察到其它段的内容5._r (显示所有寄存器和标志位内容)6._q (退出debug)Debug的使用练习:●在DOS提示符下键入debug aswjsj2.exe●_u 回车(或_u000 回车)反汇编32个字节,显示内容为:代码段段地址:偏移地址机器代码指令(地址表达式的值已算出)可看出该指令的机器代码的存放地址和长度(即为几字节指令)问:(1)指令mov dl,2对应的机器代码为多少?是几字节指令?(2)在指令部分,原先的mov di,offset d1已变为mov di 000a,故可知变量d1在数据段中的偏移地址为000a,由于在数据段中d1,d2,z是连续定义的,故变量d2的偏移地址和z 的偏移地址各是多少?(3)原先的call p1已变为call 0080, 问过程p1在代码段中的起始偏移地址为多少?●_r 回车显示所有寄存器和标志位内容观察CS、IP的值●_t 5 回车(或_t=000 5 回车)从开头执行5条指令 (使每个段寄存器有了具体值)后停下_d000 回车察看数据段从偏移量为000开始的10个单元的内容,为多少?●_u000 回车察看源程序中标志1处的下一条指令,其偏移地址是多少?将它作为断点地址_g 断点地址,回车_d000a, 回车察看变量d1的值变为了多少?●采用类似的方法将标志2处的下一条指令作为断点,运行至断点处, 察看变量d2的值变为多少?●将标志3处的下一条指令作为断点,运行至断点处, 察看AL的值为多少?●将标志4处的下一条指令作为断点,运行至断点处, 察看AL的值为多少?弄清das指令的作用●将标志5处的下一条指令作为断点,运行至断点处,察看变量z的值为多少?●_q 回车结束Debug,返回DOS提示符下。
汇编语言程序设计上机步骤与调试方法
汇编语言程序设计上机步骤与调试方法在汇编语言程序设计中,上机步骤与调试方法是非常重要的,它们能够帮助程序员更好地编写和调试程序。
本文将介绍汇编语言程序设计的上机步骤以及常用的调试方法,帮助读者更好地理解和应用这些知识。
一、上机步骤1. 准备工作在开始上机之前,我们需要做一些准备工作。
首先,确认计算机已经连接好必要的硬件设备,例如键盘、显示器等。
其次,确保操作系统和开发环境已经正确安装并能够正常运行。
最后,根据需要准备好所需的汇编语言文档和程序样例。
2. 创建新项目在开始编写汇编语言程序之前,我们需要创建一个新的项目。
在项目中,我们可以组织和管理相关的文件和代码。
通常,我们会选择一个合适的集成开发环境(IDE)来创建和管理项目。
3. 编写程序在创建项目之后,我们可以开始编写汇编语言程序。
首先,我们需要了解目标机器的指令集和寄存器,以便正确地编写程序。
然后,根据需求,我们可以使用不同的指令、寄存器和内存来实现所需的功能。
在编写程序的过程中,注意代码的可读性和易于维护性是非常重要的。
4. 调试程序编写完汇编语言程序后,我们需要进行调试,以确保程序的正确性和稳定性。
调试是一个迭代过程,通常包括以下步骤:- 设置断点:在程序中设置断点,以便在特定位置停止程序的执行。
- 单步执行:通过逐条执行程序的指令,我们可以观察程序的执行过程,并检查各寄存器和内存的值。
- 监视变量:在调试过程中,我们可以监视程序中的变量值,以验证其正确性。
- 查看输出:观察程序的输出结果,与预期结果进行比较,以确定程序是否按照预期执行。
- 修复错误:如果发现程序中存在错误,我们需要对程序进行修改和调整,直到问题解决为止。
5. 运行程序在完成程序的调试之后,我们可以运行程序并观察其运行效果。
在运行过程中,我们可以测试程序的各种功能,以确保其正常工作。
二、调试方法1. 打印输出在调试汇编语言程序时,打印输出是一种常用且简单有效的调试方法。
汇编语言上机过程
汇编语言上机过程一、用汇编语言编写的源程序,使之运行必须经过以下几个步骤:1.用编辑程序建立一个扩展名为.ASM的汇编语言源程序文件。
2.调汇编程序(MASM),对源程序汇编,生成机器码目标文件,扩展名为.OBJ。
3.连接(LINK)目标文件,生成可执行文件,扩展名为.EXE。
4.运行可执行文件。
5.如果程序运行有错,可调用DEBUG 程序对.EXE文件进行调试。
二、编辑汇编语言源程序可用各种编辑软件来建立汇编语言源程序,例如记事本。
先保存为.TXT文件,然后改为.ASM文件,方法是在windows界面:工具——文件夹选项——查看——将“隐藏已知文件的扩展名”选项去掉。
然后将扩展名.TXT直接改为.ASM,汇编程序文件名称由用户自定(只能用英文字母、数字下划线)。
三、编译汇编语言源裎序用MASM程序汇编源程序,生成浮动目标程序(即扩展名为.OBJ的文件),这里产生的是浮动的目标模块,是不可执行程序。
汇编前,在DOS状态下用下列命令可以打开源程序,例如打开z1.asm的方法是:>type z1.asm <CR>则屏幕上显示出z1.asm的源程序。
汇编z1.asm文件过程的屏幕操作与显示如下:>masm z1.asm<CR>屏幕显示以下各行(一次一行),提示用户所应键入的信息:OBJECT FILENAME [ Z1.OBJ ] <CR>SOURCE LISTING [ NUL.LST ]:<CR>CROSS REFERENCE [ NUL.CRF]:<CR>产生目标文件(.OBJ)是汇编的主要目的,通常用户可以直接回车,表示采用默认文件名。
(.LST)文件为列表文件,提供全部汇编后的信息。
若用户不需要这些信息,可直接回车。
(.CRF)文件为交义引用文件,要建立交叉引用文件,则键入文件名。
MASM将为用户建立扩展名为(.CRF)的交叉引用文件,这里所得到的交叉引用文件,必须调用CREF程序处理,以建立一个按字母顺序排列的能被显示或打印的源程序中的符号(包括变量)表。
汇编上机(汇编语言步骤)
2)汇编(MASM或ASM)源程序
以命令方式启动汇编程序时,须在DOS下打入下列格式命令:
MASM<源文件>,[<目标文件>],[<列表文件>],[<交叉参考文件>]
MASM中的主要文件类型
汇编源程序(.ASM)
目标代码文件(.OBJ)
列表文件(.LST):列出源程序和机器语言程序
清单,并给出符号表。使调试程序更加方便
交叉索引文件(.CRF):列出了源程序中定义的符 号(包括:标号、变量等)和程序中引用这些符号的 情况(包括符号定义所在的行号、引用符号的行号 等)。
3)程序连接
连接程序LINK用来连接汇编程序生成的目标代码文件
(.OBJ)以及指定的库文件,产生一个可执行的装入文件 (.EXE)。
以命令方式启动连接程序时,必须在DOS下输入如下格式
命令: LINK<目标代码模块表>,[<列表文件名>],[<库文件名表>]
4)执行程序
C:>example(扩展名EXE可缺省)
5)调试程序
调试程序DEBUG是专为宏汇编语言设计的一种调试
手段,是我们必须掌握的一种调试工具。
汇编语言的程序一般要经过以下步骤汇编语言上机步骤汇编语言上机步骤源程序需要用文本编辑器进行编写在dos下可以使用peedit或ቤተ መጻሕፍቲ ባይዱordstar进行编写
汇编语言上机步骤
汇编语言的程序一般要 经过以下步骤
编辑 汇编(MASM或ASM)
连接(LINK)
调试(DE-BUG)
1)编辑源程序 源程序需要用文本编辑器进行编写,在DOS下,可以 使用PE、EDIT或WORDSTAR进行编写;Windows 下,可以使用记事本或其他文本编辑器编写。
汇编语言程序设计 上机基本操作
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--汇编语言程序的上机过程
零ZF
辅助进位AF 奇偶PF 进位CF
ZR(零)
AC(有进位) PE(偶) CY(有进位)
NZ(非零)
NA(无进位) PO(奇) NC(无进位)
格式2:
R 寄存器名 功能: 显示和修改指定寄存器的内容。 格式3: RF 功能: 显示和修改标志位的状态。
(6)汇编命令 格式1: A [ 地址 ] 功能: 从指定地址开始允许输入汇编语句,DEBUG将把它们汇编成机器代码, 相继存放在指定地址开始的存储单元中。
(2)建立ASM文件 通过使用文本编辑程序(例如记事本、写字板等)建立一个后缀名 为.A用汇编程序MASM对ASM源程序文件进行汇编,产生OBJ二进制目标文 件。基本操作方法为: > MASM ↙ 然后根据提示进行操作。
汇编程序的输入文件是ASM文件,其输出文件可以有以下三个。 ① OBJ二进制目标文件 该文件是汇编操作的主要目的,是必需的。
INT 20H 指令高字节
┇ 00FFH SS PSP最后一个字节
堆栈区第一个字节 (用户程序第一个字节)
┇ 堆栈区最后一个字节 用户堆栈段区
SP
栈底 ┇ 数据段区第一个字节 ┇ 数据段区最后一个字节 用户数据段区 用户程序区
┇
CS 用户程序第一条指令 ┇ IP 用户程序 第一条被执行的指令 ┇ 用户程序最后一条指令 ┇ 用户代码段区
↙
总结 汇编程序具有以下作用 ① 将指令性语句翻译为相应的机器代码指令。 ② 确定标号、过程名和变量名在各自逻辑段内的偏移地址,这个偏移 地址还不是这些名字的最终偏移地址。
链接程序具有以下作用 ① 在起始地址为00000H的地址空间中,安排所有逻辑段的空间位置, 从而确定出所有物理段在这个地址空间中的段地址。 ② 确定所有过程名、变量名和标号的段内偏移地址。
汇编教程 汇编语言上机过程
3、连接程序的使用 、
目标文件(.OBJ)必须经过连接以后才能成为可执行 文件,连接后的可执行文件具有绝对地址 。 D:\MASM>LINK 文件名
Object Modules[.OBJ]:要目标文件名 ,缺省类型为 缺省类型为OBJ : Run file[文件名 文件名.exe]:要可执行文件名 ,缺省与 缺省与OBJ文件同名 文件名 : 文件同名 List file[NUL.MAP]:要内存分配图文件名 ,直接回车则不要。 直接回车则不要。 : Libraries[.LIB]:提示是否用到库文件,汇编程序没有库文件, :提示是否用到库文件,汇编程序没有库文件, 回车即可。 回车即可。
输入或修改结束后,按ALT出现屏幕菜单,↓可 下拉菜单,↑↓←→可选项。 存盘后出现文件名.ASM文件 文件…. 存盘后出现文件名 文件
2、宏汇编程序的使用(设定当前目录为 、 设定当前目录为MASM) )
D:\MASM>MASM 文件名.ASM : Source filename[.ASM]:要源文件名 ,缺省类型为.ASM Object filename[文件名.OBJ]:要目标文件名 ,直接回 车为默认值 Source listing[NUL.LST]: 要源文件列表文件名 (通常用同名.LST),直接回车默认不要列表文件。 Cross reference[NUL.CRF]: 要交叉引用表文件名 , 该文件用于形成符号表文件.REF,直接回车默认 不要该文件….
几种常用的DEBUG 命令: 命令: 几种常用的
(1) (2) (3) (4) (5) (6) (7) (8) D:显示存储单元内容 E:修改存储单元内容 R:显示、修改寄存器内容 U:反汇编命令 G:运行命令 T:跟踪命令 Q:退出命令 A:汇编命令
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
(3)用LINK程序产生EXE文件 【例4-29】 C:\masm>link exam.obj↙ Microsoft(R)Overlay Linker Version3.60 Copyright(C)Microsoft Corp 1983-1987. Allrights reserved RunFile [exam.EXE]:↙ ListFile [NUL.MAP]: Libraries [.LIB]:
(5)程序的调试
【例4-30】 先进入DEBUG并装入要调试的程序 exam.exe。 键入如下: C:\masm>debug exam.exe DEBUG以短线“-”作为提示符,用户在提示符 后就可以使用DEBUG命令来调试程序。 DEBUG的主要命令有U、G、e)。
汇编语言上机步骤
薛 花 2009-11-3
汇编语言程序的上机过程与调试
1.汇编语言的工作环境 ① 操作系统DOS。 ② 编辑程序。 ③ 汇编程序:MASM.EXE。 ④ 连接程序:LINK.EXE。 ⑤ 辅助工具:DEBUG。
2.建立和运行汇编语言程序的过程
(1)源程序的输入和修改 (2)汇编
【例4-27】
【例4-28】
源程序的文件名为exam.asm,宏汇编程序的路径为 C:\\masm\masm.exe。 操作与汇编程序的应答如下: C:\masm>masm exam.asm ↙ Microsoft(R)Macro Assembler Version 5.00 Copyright(C)Microsoft Corp 1981-1985,1987. Allrights reserved Object filename [exam.OBJ]:↙ Source listing [NUL.LST]: Cross-reference [NUL.CRF]: 0 Warning Errors 0 Severe Errors
完成1010h+2020h运算。exam.asm文件的源程序清单如下: stack segment para stack ‘stack’ db 100 dup(?) stack ends code segment assume cs : code,ss : stack begin: push ds mov ax,0 push ax mov bx,1010h add bx,2020h mov [1000h],bx mov ah,4ch int 21h code ends end begin
【例4-31】 进入DEBUG并装入要调试的程序 exam.exe,DEBUG提示符-之后键入U。 -u 键入U后显示信息如图4-2所示。
② 运行命令G(Go)。在确定断点后,就可 以用G命令使程序启动运行,同时设定断点。 【例4-32】 键入G10后显示信息如图4-3所示。(10为断 点地址)
③ 显示存储单元命令D(Dump)。
(4)程序的执行
在建立了EXE文件后,就可以直接在DOS下 执行程序,如下所示: C:\masm>exam.exe↙
汇编语言源程序的编辑、汇编、连接和运行4 个步骤。若整个过程中,只需要生成必要的 源文件、目标文件和执行文件,而不要LST 文件、CRF文件和MAP文件,用下面的命令 格式就可以避免屏幕提问信息,加快汇编和 连接的速度。 C:\masm>masm exam;↙ C:\masm>link exam;↙
【例4-33】 从图4-3中可以得到DS=143EH,从图4-2显 示的汇编程序中得到偏移地址为1000H,键 入D143E:1000查看存储单元143EH:1000H 的内容,如图4-4所示。
④ 退出命令Q(Quit)。
当查看程序运行结果的目的达到后,可以 用Q命令退出DEBUG程序回到DOS。