文档库 最新最全的文档下载
当前位置:文档库 › 汇编语言上机过程

汇编语言上机过程

汇编语言上机过程
汇编语言上机过程

汇编语言程序的上机过程

一、上机环境

要运行调试汇编语言程序,至少需要以下程序文件:

?编辑程序:https://www.wendangku.net/doc/421212143.html,或其他文本编辑工具软件,用于编辑源程序。

?汇编程序:MASM.EXE,用于汇编源程序,得到目标程序。

?连接程序:LINK.EXE,用于连接目标程序,得到可执行程序。

?调试程序:DEBUG.EXE,用于调试可执行程序。

二、上机过程

汇编语言程序上机操作包括:编辑、汇编、连接和调试几个阶段。

1.编辑源程序

用文本编辑软件创建、编辑汇编源程序。常用编辑工具有:https://www.wendangku.net/doc/421212143.html,、记事本、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(回车),即可完成连接。

?与汇编过程类似,如果连接过程中出错,那么程序会在屏幕上显示提示信息。

此时,需要对源程序进行查错、修改,然后再进行汇编、连接,直至连接无

错误,得到可执行文件为止。

4.程序运行

在DOS提示符下输入可执行程序的文件名即可运行程序。若程序能够运行但不能得到预期结果,则就需要检查源程序,改错后再汇编、连接、运行。

5.程序调试

在程序运行阶段,有时不容易发现问题,尤其是碰到复杂的程序更是如此,这时就

需要使用调试工具进行动态查错。常用的动态调试工具为DEBUG。

三、运行调试

DEBUG是为汇编语言设计的一种调试工具,它通过单步、设置断点等方式为汇编语言程序员提供了非常有效的调试手段,它可以直接调试COM文件和EXE文件。

DEBUG状态下的所有数据都采用十六进制形式显示,无后缀H。

1.DEBUG的运行

在DOS状态下,输入下列命令之一,就可以进入DEBUG调试状态。

命令一:DEBUG ↙ (回车)

格式二:DEBUG 可执行文件名↙(回车)

进入DEBUG调试状态后,将显示提示符“-”,此时,可输入所需的DEBUG命令。

2.DEBUG的主要命令

(1)显示内存单元内容的命令D

格式为:-D [地址] 或-D [范围]

说明:上面格式中的“-”符号是DEBUG的提示符,下同。

例如,显示指定范围(DS:100~DS:1FF)内存单元内容的命令是:

-D 100 10F

这里没有指定段地址,D命令自动显示DS段的内容。

(2)修改内存单元内容的命令E

格式一:用给定内容代替指定范围的单元内容

-E 地址内容表

?例如,-E DS:100 F358595A8D

格式二:逐个单元相继地修改

-E 地址

?例如:

?-E DS:100↙

?18E4:0100 89.78 ↙

(3)检查和修改寄存器内容的命令R

格式一:显示CPU内部所有寄存器内容和标志寄存器中的各标志位状态

-R

格式二:显示和修改某个指定寄存器内容

-R寄存器名

?例如:-R AX

格式三:显示和修改标志寄存器内容

-RF

(4)运行命令G

格式为:-G [=地址1][地址2[地址3…]]

其中,地址1指定了运行的起始地址,后面的均为断点地址。当指令执行到断点时,就停止执行并显示当前所有寄存器及标志位的内容和下一条要执行的指令。

(5)跟踪命令T

格式一:逐条指令跟踪

-T[=地址]

该命令从指定地址起执行一条指令后停下来,显示所有寄存器及标志位的内容。若未指定地址,则从当前的CS:IP开始执行。

格式二:多条指令跟踪

-T[=地址][值]

该命令从指定地址起执行n条指令后停下来,n由[值]确定。

(6)汇编命令A

格式为:-A [地址]

该命令允许输入汇编语言语句,并能把它们汇编成机器代码,相继地存放在从指定地址开始的存储区中。必须注意:输入的数字均默认为十六进制数。

5.5.3 运行调试-DEBUG的主要命令

(7)反汇编命令U

格式一:从指定地址开始,反汇编32字节

-U [地址]

格式二:对指定范围内的存储单元进行反汇编

-U [范围]

(8)执行命令P

格式为:-P [=地址] [指令数]

?该命令控制CPU执行指定地址处的指令。若指定了指令数,则CPU执行从指定地址开始的若干条指令。若未指定地址和指令数,则CPU执行由(CS:IP)

指定地址处的一条指令。

P命令与T命令的差别在于P命令把子程序调用(CALL)、重复字符串指令(REP)或软件中断(INT)当成一条指令来执行,简化了跟踪过程。

(9)退出DEBUG命令Q

格式为:-Q

该命令退出DEBUG程序,返回DOS。

四、运行调试-DEBUG使用说明

①在DEBUG中的提示符“-”下才能输入命令,在按回车键后,该命令才开始执行。

②命令是单个字母,命令和参数的大小写可混合输入。

③命令和参数、参数和参数之间要用空格、逗号或制表符等分隔。

④可以用“段值:偏移量”的形式来表示地址,也可以用段寄存器来代表“段值”。例

如,1000:0,DS:10,CS:30等。

⑤范围:用来表示地址范围,从哪个地址开始,到哪个地址结束。它有两种表示方

式。

地址地址——前者表示起始地址,要用“段值:偏移量”来表达,后者表示终止地址,只用“偏移量”来表示。

地址长度——前者表示起始地址,要用“段值:偏移量”来表达,后者表示该区域的大小,用字母“L”开头的数值来表示。

?例如:

?100:50 100

100:50 L100

⑥当命令出现语法错误时,将在出错位置显示"^ Error"。

⑦可用组合键Ctrl+C或Ctrl+Break来终止当前命令的执行,还可用组合键Ctrl+S 来暂停屏幕显示(当连续不断地显示信息时)。

汇编语言程序上机过程

汇编语言程序上机过程 实验目的: 1、掌握常用工具软件 PE,MASM和LINK的使用。 2、伪指令: SEGMENT,ENDS,ASSUME,END,OFFSET,DUP。 3、利用的 1号功能实现键盘输入的方法。 4、了解.EXE文件和.COM文件的区别及用INT 21H 4C号功能返回系统的方法。 程序: datasegment messagedb'This is a sample program of keyboard and disply' db0dh,0ah,'Please strike the key!',0dh,0ah,'$' dataends stacksegmentpara stack 'stack' db50 dup(?) stackends codesegment assumecs:code,ds:data,ss:stack start:movax,data movds,ax movdx,offset message movah,9 int21h again:movah,1 int21h cmpal,1bh jeexit cmpal,61h jcnd cmpal,7ah jand andal,11011111b nd:movdl,al movah,2 int21h jmpagain

exit:movah,4ch int21h codeends endstart 实验步骤: 1、用用文字编辑工具(记事本或EDIT)将源程序输入,其扩展名为.ASM。 2、用MASM对源文件进行汇编,产生.OBJ文件和.LST文件。若汇编时提示有错,用文字编辑工具修改源程序后重新汇编,直至通过。 3、用TYPE命令显示1产生的.LST文件。 4、用LINK将.OBJ文件连接成可执行的.EXE文件。 5、在DOS状态下运行LINK产生的。EXE文件。即在屏幕上显示标题并提示你按键。每按一键在屏幕上显示二个相同的字符,但小写字母被改成大写。按ESC键可返回DOS。若未出现预期结果,用DEBUG检查程序。 实验报告: 1、汇编,连接及调试时产生的错误,其原因及解决办法。 2、思考: 1)若在源程序中把INT 21H的'H'省去,会产生什么现象? 2)把 INT 21H 4CH号功能改为 INT 20H,行不行?

汇编语言上机操作

汇编语言上机操作 一、建立子文件夹 如:D:\hb\masm 二、复制相关文件 把masm.exe、link.exe、ml.exe三个文件复制到上述文件夹中。 三、进入DOS方式 开始/运行/cmd 当前提示符可能是: C:\documents and settings\administrator> 四、常用DOS操作命令 1、改变当前盘 输入d: 并回车,屏幕显示: D:\> 2、改变当前目录 1)进入下一级目录 D:\>cd hb 回车后,屏幕显示: D:\hb>cd masm 回车后,屏幕显示: E:\hb\masm> 问题:可以一次进入下面二级或多级目录吗? 2)返回上一级目录 D:\hb\masm>cd.. 回车后,屏幕显示: D:\hb\>cd.. 回车后,屏幕显示: D:\> 问题:可以直接返回根目录吗? D:\hb\masm>cd\ 回车后,屏幕显示: D:\> 3、显示当前目录容 D:\>dir /p 分页显示当前目录容 问题:如何显示d:\text中的容? D:\>dir d:\text↙ 4、DOS方式下如何运行程序? DOS方式下的可执行文件(即程序文件)扩展名为.exe或.,运行时只需要在系统提示符下输入文件主名即可。例如,有一个文件名为test.exe,存入在D:\hb\masm 中,运行时,可以这样做: D:\hb\masm>test↙ 五、汇编语言上机过程 1、编辑源程序 运行:edit 回车后,进入EDIT环境,输入完后存盘(file/save)并退出(file/exit)。

2、汇编 D:\hb\masm>masm add5.asm↙ 生成目标程序文件add5.obj。(如果有语法错误,会提示错误所在行号和错误类型)3、连接 D:\hb\masm>link add5↙ 生成可执行文件add5.exe。 六、DEBUG程序调用及汇编语言程序调试方法 调试程序DEBUG是DOS支持的又一种系统软件,主要用于汇编语言程序的调试。汇编和连接过程只能查出源程序的语法错误,不能查出功能上的错误和程序不完善的地方。DEBUG程序为用户提供多种命令,大致有:显示和修改寄存器和存贮单元的容;执行程序中任意一段或一条指令;汇编单条源语句和反汇编机器码指令;查找字符代码;端口的输入和输出;文件装入存和写入磁盘等。用户利用这些命令可以查出任何程序功能上的错误。下面说明DEBUG程序的启动方法和主要命令意义。 (一)DEBUG程序的启动 DEBUG程序有两种启动方法。DEBUG程序是在DOS盘上的一个独立的可执行程序(扩展名为.COM),所以,DEBUG程序的第一种启动方法就是把它看作和一般的可执行程序一样,只要打入DEBUG和回车键,就可以把它装入存。但是这样启动只把DEBUG 程序本身装入存并进入等待DEBUG命令状态,还没有把要调试的程序装入存。第二种启动DEBUG的程序的方法是一次相继装入DEBUG程序和要调试的程序。打入的命令格式如下: DEBUG[d:][path]filename[.ext][parml][parm2] 其中的Filename是要调试程序的文件名,可选项[d:][path]和[.ext]分别是要调试程序的所在盘符、路径和扩展名。可选项[parml]和[parm2]是DEBUG程序为要调试程序准备的参数(一般不用)。 例进入DEBUG程序并装入要调试程序。其操作如下: D:\hb\masm>DEBUG add5.exe (进入DEBUG,并装配add5.exe) 此时屏幕上出现一个短线,这表示可以使用DEBUG命令了。 如果启动DEBUG时没有指定要调试的文件名,则需要用N命令指定要调试的文件,再用L命令将其装入存。操作如下: D:\hb\masm>debug↙ - n add5.exe↙ - l↙ (二)DEBUG命令 在说明每个命令之前,先说明一些共同信息: ■DEBUG命令都是以一个英文字母开头,后面跟一个或多个参数。 ■命令字母和参数可用大写或小写或混合形式。 ■命令字母和参数中,相邻两个十六进制之间必须用逗号或空格分开.其它各部分之间有无空格或逗号都可以。 ■执行任何命令期间都可用Ctrl+Break键方法结束命令的执行。

实验3-汇编语言程序上机过程

实验3 汇编语言程序上机过程 3.1 实验目的 (1)掌握常用工具软件EDIT,MASM,和LINK的使用。 (2)伪指令:SEGMENT ,ENDS,ASSUME,END, OFFSET,DUP. (3)利用INT 21H的1号功能实现键盘输入的方法。 (4)了解.EXE和.COM文件的区别及用INT 21H 4C号功能返回系统的方法。 3.2 实验类型 验证型实验 3.3 实验内容 data segment message DB 'THIS IS A SAMPLE PROGRAM OF KEY AND DISPLAY' DB 0DH, 0AH, 'PLEASE STRIKE THE KEY!', 0DH, 0AH,'$' data ends stack segment PARA STACK'STACK' DB 50 DUP(?) stack ends code segment assume CS:COE, DS:DATA, SS:STACK start: mov ax, data mov ds, ax mov dx, OFFSET MESSAGE mov ah, 9 INT 21h ; add your code here AGAIN: MOV AH,1 INT 21H CMP AL,61H JE ND CMP AL,61H JC ND CMP AL,74H JA ND AND AL,11011111B ND: MOV DL,AL MOV AH,2 INT 21H JMP AGAIN EXIT: MOV AH,4CH INT 21H CODE ENDS END START

8086汇编语言上机调试步骤

8086汇编语言上机调试步骤 1、在网络课堂-微机原理与接口技术-实验指导-汇编工具下载,下载汇编工具并解压,文件夹名为“masm”。 2、用鼠标点击“masm”文件夹。进入该文件夹后将看到 MASM.EXE, LINK.EXE , DEBUG.EXE3个文件进行复制操作。 3、用鼠标点击“我的电脑”再点击D: 盘,并在 D: 盘上建立新的“ MASM”文件夹,最后将上面的3个文件全部复制到该文件夹中。(注意实验所有的文件都放在该文件夹内) 4、用文本编辑软件UltraEdit-32、WINDOWS 中的记事本或其它的文本编辑器输入汇编语言程序, 注意在最后一行的 END输入完后要按一次回车键,保存的源 文件的扩展各一定要是“.asm”如: example.asm 。(建议用记事本输入源程序,另存时,保持类型选择“所有文件”如图所示) 5、进入MS-DOS方式 ( 从开始>程序>附件>命令提示符) 或者(从程序 > 运行输入“cmd”回车,进入MS-DOS环境。

6、进入D:>MASM文件夹 7、显示MASM文件夹内所有文件“dir”命令 8、在 DOS 提示符下进行汇编、连接、动态调试等操作。 例如: 对源文件 example.asm 进行的操作

D:\MASM\MASM example.asm;汇编源程序操作 D:\MASM\LINK example.dbj;连接并生成扩展名为 .EXE 的可执行文件 D:\MASM\DEBUG example.exe;对可执行文件进行调试 9、要求掌握的调试命令(在 DEBUG 中使用的命令) a: U - 反汇编命令 用法: -U 代码段地址:起始偏移地址如:-U CS:100 b: D - 显示内存中的数据命令 用法: -D 数据段地址:存放数据的偏移地址如:-D DS:00 20 c: T - 单步执行程序命令 用法: -T 要执行的指令条数如:-T 3 d: G - 连续执行程序命令 用法: -G=代码段地址:指令的起始偏移地址指令的结束偏移地址如: -G=CS:100 106 注意: 结束地址一定要是操作码的所在地址 e: R - 查看和修改寄存器数据命令 用法: -R 回车如:-R AX f: F - 对内存单元填充数据命令 用法: -F 数据段地址:偏移首地址偏移未地址填入的数据 如: -F DS:100 120 ff g: Q - 退出”DEBUG“应用程序命令 10、应用例子 ;二进制到BCD转换(a.asm) ;将给定的一个二进制数,转换成二十进制(BCD)码 DATA SEGMENT RESULT DB 3 DUP(?) DATA ENDS CODE SEGMENT

实验一熟悉汇编语言上机环境.pdf

实验一熟悉汇编语言上机环境 一、实验目的 熟悉在微机上建立、汇编、连接、调试和运行汇编语言程序的全过程。 二、实验要求 1.仔细阅读本实验教程的第一章和第二章; 2.学会使用EDIT建立汇编语言源程序文件; 3.学会使用MASM将汇编语言源程序编译为目标程序的两种方法; 4.学会使用LINK将目标程序连接为可执行程序的两种方法; 5.学会使用DEBUG中的U、D、G命令。 三、实验举例 【例3.1】 编辑、汇编、连接、执行下列程序,观察实验结果。 【程序功能】该程序的功能是利用BIOS功能调用,从键盘上接收若干个字符,并将它们的ASCII码与键盘扫描码以十六进制的形式显示出来,当按下+键时,停止程序的执行。 【步骤一】 用EDIT编辑源程序,并以EXAM1.ASM为文件名存入磁盘。 程序清单如下: SSEG SEGMENT STACK STK DB 80H DUP(?) SSEG ENDS CSEG SEGMENT ASSUME CS:CSEG,SS:SSEG HTOA PROC NEAR ;该子程序的功能是将AL内容转换为ASCII码 AND AL,0FH CMP AL,10 JC HTOA1 ADD AL,07 HTOA1: ADD AL,30H RET HTOA ENDP BHTOA PROC NEAR ;该子程序的功能是将AL内容转换为ASCII码 PUSH CX MOV CH,AL MOV CL,04 SHR AL,CL CALL HTOA MOV AH,AL MOV AL,CH CALL HTOA POP CX RET BHTOA ENDP DISASC PROCN EAR ;该子程序的功能是在光标处显示AL中的字符 PUSH AX

汇编语言上机过程

第一步:编写程序 用记事本编写汇编语言程序,保存为.ASM 文件,保存时,保存类型选择“所有文件”。注意,应将汇编语言程序保存在包含MASM.EXE 及LINK.EXE 的目录下(本例中假定在C盘的MASM目录下,即“C:\MASM”)。 第二步:编译 进入DOS命令提示符环境。该环境的访问方法一:windows “开始”->“运行”,输入“cmd”),如下图: 访问方法二:windows “开始”->“程序”->“附件”->“命令提示符”,如下图所示:

进入DOS命令提示符方式: 用CD 命令进入MASM目录,如下图所示: (若个人的MASM目录在D盘下,可如下操作:)

回车后即进入存放有MASM.EXE LINK.EXE EX11.ASM 的目录D:\MASM : 现在开始用汇编程序MASM.EXE 编译汇编语言源程序EX11.ASM: 回车后开始编译:

若编译出现0处错误(如上图椭圆框内),则表示编译通过,正确生成EX11.OBJ文件: 接下来转入第四步。否则,若出现如下类似界面: 表示出现一处错误,该错误在EX11.ASM的第七行,错误为“出现未定义的符号AS”,则转入第三步。 第三步:编辑程序 用 EDIT.EXE 编辑出现错误的程序 EX11.ASM:

回车后,出现如下界面: 找到第7行,并修改相应错误。修改完成后,点击菜单“File”或用“ALT”回车打开“File”菜单,首先选择“Save”保存修改,然后选择“Exit”退出编辑状态: 重复如下编译过程,重新编译修改过的EX11.ASM,直至全部错误修改完成:

汇编语言上机实验汇总

汇编语言程序设计的实验环境及实验步骤 知识提要: 1、汇编语言源程序编写好以后, (1) 编辑源程序(生成 .ASM (2) 汇编源程序(.ASM → .OBJ (3) 连接目标程序(.OBJ → .EXE (4) 调试可执行程序(使用调试程序Debug 调试生成的.EXE 文件) (5) 运行程序输出结果。 2、 Windows 环境下的汇编语言集成编程环境的使用 实验一 汇编语言上机实验(一) 一、实验要求和目的 1、掌握汇编语言程序设计的基本方法和技能; 2、熟练掌握使用全屏幕编辑程序EDIT 编辑汇编语言源程序; 3、熟练掌握宏汇编程序MASM 的使用; 4、熟练掌握连接程序LINK 的使用。 二、软硬件环境 1、硬件环境:微机CPU 486以上,500MB 以上硬盘,32M 以上内存; 2、软件环境:装有MASM 、DEBUG 、LINK 等应用程序。 三、实验内容与步骤 1、实验内容 编写程序,判断一个年份是否是闰年。 2、实验步骤 汇编语言程序设计上机过程如图1.1所示。 图1.1 汇编语言程序上机过程 (一)用编辑程序EDIT 建立汇编语言源程序文件(ASM 文件)

建议源程序存放的目录名为MASM中,MASM子目录在D盘的根目录下。 可以在DOS模式下用编辑程序EDIT.EXE建立汇编语言源程序文件ABC.ASM,注意文件名的扩展名必须是.ASM。也可以在Windows 2000或者在Windows XP环境下鼠标单击“开始”→“运行”,在“运行”中输入“CMD”进入DOS模式,运行EDIT软件,例如:C:\documents and settings\administrator>cd\ *进入C盘根目录 C:\>d: *进入D盘 D:\>md masm *在D盘创建MASM文件夹D:\>cd masm *进入MASM文件夹 D:\masm>edit run.asm *建立run源文件 进入EDIT的程序编辑画面时,编写程序,判断一个年份是否是闰年的汇编语言源程序,输入汇编语言源程序如下: DATA SEGMENT INFON DB 0DH,0AH,'Please input a year: $' Y DB 0DH,0AH,'This is a leap year! $' N DB 0DH,0AH,'This is not a leap year! $' W DW 0 BUF DB 8 DB ? DB 8 DUP(?) DATA ENDS STACK SEGMENT 'stack' DB 200 DUP(0) STACK ENDS CODE SEGMENT ASSUME DS:DATA,SS:STACK,CS:CODE START: MOV AX,DATA MOV DS,AX LEA DX,INFON MOV AH,9 INT 21H LEA DX,BUF MOV AH,10 INT 21H MOV CL, [BUF+1] LEA DI,BUF+2 CALL DATACATE CALL IFYEARS JC A1 LEA DX,N MOV AH,9 INT 21H JMP EXIT A1: LEA DX,Y MOV AH,9 INT 21H EXIT: MOV AH,4CH INT 21H DATACATE PROC NEAR

汇编语言上机实验

汇编语言程序设计的实验环境及实验步骤 知识提要: 1、汇编语言源程序编写好以后,必须经过下列几个步骤才能在机器上运行: (1) 编辑源程序(生成.ASM文件) (2) 汇编源程序(.ASM → .OBJ) (3) 连接目标程序(.OBJ → .EXE ) (4) 调试可执行程序(使用调试程序Debug调试生成的.EXE文件) (5) 运行程序输出结果。 2、Windows环境下的汇编语言集成编程环境的使用 实验一汇编语言上机实验(一) 一、实验要求和目的 1、掌握汇编语言程序设计的基本方法和技能; 2、熟练掌握使用全屏幕编辑程序EDIT编辑汇编语言源程序; 3、熟练掌握宏汇编程序MASM的使用; 4、熟练掌握连接程序LINK的使用。 二、软硬件环境 1、硬件环境:微机CPU 486以上,500MB以上硬盘,32M以上内存; 2、软件环境:装有MASM、DEBUG、LINK等应用程序。 三、实验内容与步骤 1、实验内容 编写程序,判断一个年份是否是闰年。 2、实验步骤 汇编语言程序设计上机过程如图1.1所示。 图1.1 汇编语言程序上机过程 (一)用编辑程序EDIT建立汇编语言源程序文件(ASM文件)

建议源程序存放的目录名为MASM中,MASM子目录在D盘的根目录下。 可以在DOS模式下用编辑程序EDIT.EXE建立汇编语言源程序文件ABC.ASM,注意文件名的扩展名必须是.ASM。也可以在Windows 2000或者在Windows XP环境下鼠标单击“开始”→“运行”,在“运行”中输入“CMD”进入DOS模式,运行EDIT软件,例如:C:\documents and settings\administrator>cd\ *进入C盘根目录 C:\>d: *进入D盘 D:\>md masm *在D盘创建MASM文件夹D:\>cd masm *进入MASM文件夹 D:\masm>edit run.asm *建立run源文件 进入EDIT的程序编辑画面时,编写程序,判断一个年份是否是闰年的汇编语言源程序,输入汇编语言源程序如下: DATA SEGMENT INFON DB 0DH,0AH,'Please input a year: $' Y DB 0DH,0AH,'This is a leap year! $' N DB 0DH,0AH,'This is not a leap year! $' W DW 0 BUF DB 8 DB ? DB 8 DUP(?) DATA ENDS STACK SEGMENT 'stack' DB 200 DUP(0) STACK ENDS CODE SEGMENT ASSUME DS:DATA,SS:STACK,CS:CODE START: MOV AX,DATA MOV DS,AX LEA DX,INFON MOV AH,9 INT 21H LEA DX,BUF MOV AH,10 INT 21H MOV CL, [BUF+1] LEA DI,BUF+2 CALL DATACATE CALL IFYEARS JC A1 LEA DX,N MOV AH,9 INT 21H JMP EXIT A1: LEA DX,Y MOV AH,9 INT 21H EXIT: MOV AH,4CH INT 21H DATACATE PROC NEAR

汇编语言程序的上机过程

汇编语言的上机过程 汇编语言程序的上机过程包括编辑、汇编、连接和执行这四个步骤。汇编程序我们提供宏汇编程序MASM5.0和MASM6.14两个版本。 1、建立源程序文件 建立和编辑汇编语言源程序可以使用EDIT、记事本、写字本,也可以使用TC等来输入源程序。保存时,源程序文件的扩展名必须是ASM。 练习: (1)在DOS下用编辑软件EDIT建立如下源程序文件,将文件保存为Hello.ASM,保存在MASM5目录下。(调用命令“C:\EDIT”进入EDIT 编辑器。) 源程序文件如下: DSEG SEGMENT MESSAGE DB'HOW DO YOU DO?',0DH,0AH,24H DSEG ENDS CSEG SEGMENT ASSUME CS:CSEG,DS:DSEG BEGIN: MOV AX,DSEG MOV DS,AX MOV DX,OFFSET MESSAGE MOV AH,9 INT21H

MOV AH,4CH INT21H CSEG ENDS END 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 等) 文本编辑器(如:https://www.wendangku.net/doc/421212143.html, , TURBO.EXE , TC.EXE , C.EXE 等) 汇编程序(如:MASM.EXE , ASM.EXE,TASM.EXE 等) 连接程序(如:LINK.EXE 等) 调试程序(如:DEBUG.EXE 等) 二、汇编程序建立过程: 通过 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 b:编译目标文件(即:编译为.obj .lst .crf文件) 这个过程计算机将把你编的正确的源代码编译为机器语言、程序清单及交叉引用表的目标文件。如果此时你的程序有语句错误,系统将报错,并指出在第几行,什么类型的错误,你可根据提示去逐一修改。现介绍具体过程: 在DOS提示符下键入MASM filename回车 (注:你系统内的汇编程序为MASM.EXE,如果你系统的汇编程序为ASM.EXE时,便将命令变为ASM fi lename回车。其中filename为你刚才在PROCEDURE a 中建立的文件名) 这时汇编程序的输出文件可以有三个(分别:.obj .lst .crf),便会出现三次提问,在这可以一路回车即可。下面显示的信息是源程序中的错误个数,如果为0则表示顺利通过,就可进行进程c。但如果不为0就说明有错误,并指出错误出现的行,可依据这个提示去进行修改。但如果错误太多还未等看清就显示过去了,可用如下命令形将错误信息存于一个你指定的文件,再用文本编辑器去查看。MASM filename >filen (f ilen为你起的一个没用过的文件名,用以存放出错信息)以后可查看filen来得到出错信息。

微机原理上机 汇编语言程序 编写程序求两个十进制数之和,并将和以十进制数的形式送屏幕显示

上机作业二 一.实验目的 1.熟练掌握汇编语言程序设计的方法及上机步骤。 2.掌握算术运算指令的应用。 3.掌握子程序的设计方法。 4.掌握DOS功能的调用方法。 二.试验仪器 586微机一台 三.实验内容 编写程序求两个十进制数之和,并将和以十进制数的形式送屏幕显示。 编程要求与提示: [1] 从键盘输入两个十进制数(如12678532与21736543),以二进制数形式存放在ADD1和ADD2为首址的存贮器单元,输入一个十进制数采用子程序形式。 [2] 和以二进制数的形式存入SUM以下单元。 [3] 将和送到屏幕显示采用子程序形式。 [4] 实验步骤如下: a. 用全屏幕编辑软件建立源程序。 b.用masm.exe汇编程序对源程序进行汇编,形成目标程序。 c. 用link.exe连接程序对目标程序进行连接形成可执行文件。 d. 用DEBUG对连接通过的可执行程序进行调试。 四.源程序 STACK SEGMENT STACK 'STACK' DW 100H DUP(?) TOP LABEL WORD STACK ENDS DA TA SEGMENT FAKE DW 0 KEYBUFFER DB 100 DB ? DB 100 DUP(?) BUF DB 8 DUP(?),'$' ADD1 DW ? A1 DW ? ADD2 DW ? A2 DW ? SUM DW ? S1 DW ?

STRING1 DB 'PLEASE input decimal data: $' DA TA ENDS CODE SEGMENT ASSUME CS:CODE,DS:DA TA,ES:DA TA,SS:STACK START: MOV AX,DATA MOV DS,AX MOV ES,AX MOV AX,STACK MOV SS,AX LEA SP,TOP CALL INPUT1 CALL TRANS10TO16 MOV ADD1,AX MOV A1,DX CALL DISPCR CALL INPUT1 CALL TRANS10TO16 MOV ADD2,AX MOV A2,DX CALL DISPCR MOV SUM,AX MOV S1,DX ADD AX,ADD1 ADC DX,A1 MOV SUM,AX MOV S1,DX CALL far ptr ADISP MOV AH,4CH MOV AL,0 INT 21H INPUT1 PROC NEAR LEA DX,STRING1 MOV AH,09H INT 21H MOV AH,0AH

汇编语言程序设计的实验环境及上机步骤

汇编语言程序设计上机实验指导书 电子信息工程学院工业自动化教研室 2008年4月15日

汇编语言程序设计的实验环境及上机步骤 一、实验环境 汇编语言程序设计的实验环境如下: 1. 硬件环境 微型计算机(Intel x86系列CPU)一台 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,调试程序建议使用DEBUG.EXE。 二、上机实验步骤 1.确定源程序的存放目录 建议源程序存放的目录名为MASM中,MASM子目录在C盘或D盘的根目录下。 2.建立ASM源程序 建立ASM源程序可以使用EDIT或NOTEPAD(记事本)文本编辑器。下面的例子说明了用EDIT文本编辑器来建立ASM源程序的步骤(假定要建立的源程序名为HELLO.ASM),用NOTEPAD(记事本)建立ASM源程序的步骤与此类似。 在Windows中点击桌面左下角的“开始”按钮→选择“运行”→在弹出的窗口中输入“https://www.wendangku.net/doc/421212143.html,”,屏幕上出现EDIT的编辑窗口。 窗口标题行显示了EDIT程序的完整路径名。紧接着标题行下面的是菜单行,窗口最下面一行是提示行。菜单可以用Alt键激活,然后用方向键选择菜单项,也可以直接用Alt-F 打开File文件菜单,用Alt-E打开Edit编辑菜单,等等。如果键入EDIT命令时已带上了源程序文件名(C:\ASM\HELLO.ASM),在编辑窗口上部就会显示该文件名。如果在键入EDIT 命令时未给出源程序文件名,则编辑窗口上会显示“UNTITLED1”,表示文件还没有名字,在这种情况下保存源程序文件时,EDIT会提示输入要保存的源程序的文件名。 编辑窗口用于输入源程序。EDIT是一个全屏幕编辑程序,故可以使用方向键把光标定位到编辑窗口中的任何一个位置上。EDIT中的编辑键和功能键符合Windows的标准,这里不再赘述。 源程序输入完毕后,用Alt-F打开File菜单,用其中的Save功能将文件存盘。如果在键入EDIT命令时未给出源程序文件名,则这时会弹出一个“Save as”窗口,在这个窗口中输入你想要保存的源程序的路径和文件名(本例中为D:\MASM\HELLO.ASM)。 注意,汇编语言源程序文件的扩展名要用.ASM,这样能给后面的汇编和连接操作带来很大的方便。 3.用MASM.EXE汇编源程序产生OBJ目标文件

汇编语言上机操作及程序调试的方法

汇编语言上机操作及程序调试的方法第一节在IBM-PC机上运行汇编源程序所必备的软件 为了在IBM-PC机上运行汇编源程序,机器上必须有DOS操作系统环境,DOS系统盘上应有下列文件: EDIT 文件编辑程序 MASM 宏汇编程序 CREF 交叉引用文件处理程序 LINK 链接程序 LIB 库管理程序 DEBUG 调试程序 第二节在IBM-PC机上运行汇编源程序的步骤 当用户编制好汇编语言源程序之后,要在机器上运行,必须经过以下几个步骤: 1.用EDIT命令建立与修改汇编源程序文件(ASM文件) 源程序就是用汇编语言的语句编写的程序,它不能被机器识别。源程序必须以ASM为附加文件名。至于EDIT的使用方法可以查阅手册。 2.用MASM命令汇编源文件以产生相应的目标文件(OBJ文件)源程序建立以后,必须经过汇编,转换成用二进制代码表示的目标文件,机器才可运行。汇编是通过调用PC—DOS下的宏汇编程序MASM实现的。汇编过程中,汇编程序对源文件进行二次扫描,如果源程序中有语法错误,则汇编过程结束后,汇编程序会指出源程序中的错误,这时,用户可以再用编辑程序来修改源程序中的错误,最后,得到没有语法错误的OBJ文件。 3.用LINK命令连接目标文件以产生可执行文件(EXE文件)由于汇编之后所得到的目标代码的存放地址并不是可执行的绝对地址,而是浮动的相对地址,因而,必须经过连接,把程序的各个模块连接在一起,或把要调用的子程序与主程序连接在一起,把相对地址变成绝对地址,形成可执行的文件。连接是由调用PC—DOS下的LINK程序来实现的。 4.调试、运行可执行文件。 经过以上过程,在盘上有了可执行文件,则可在DOS提示符下,直接打入文件名(不用扩展名),就可以把执行文件从盘上装入内存,且立即执行此程序。

汇编语言上机实验八2015李中

实验报告 课程:汇编语言程序设计 专业班级:计算机科学与技术 学号: 姓名:李中 实验八算术运算与代码转换实验 一、实验目的 1、掌握多字节整数的加、减、乘除运算方法。 2、掌握十进制的BCD吗表示方法及BCD吗的加减运算方法 3、掌握浮点数的表示方法及在存储区中的存储格式 4、掌握浮点的加、减、乘除运算方法。 5、掌握BCD吗与二进制数、BCD吗与ASCll吗、二进制数与BCD吗之间的相互转 换方法 二、实验要求 ·1、学会使用BCD吗运算调整指令 ·2、明确INC指令与ADD指令的区别,将INC指令改为ADD指令结果怎样 ·3、在DEBUG下观察浮点数的存储格式 ·4、在DEBUG下用T命令跟踪ADC及SB指令加、减的过程。弄清加减的进位、借位来自何处 三、实验内容 1、在MLTOR和MLTED开始的内存单元中,分别存放一个长度相同的无符号整数,

数据长度存放在LEN单元中,编制程序计算两个数据之积,并将结果存入PRDT开始的内存单元 2、编写程序,将两个带符号十进制数据的ASCll吗串转换为二进制补码表示的数据,计算两数之和,并将结果显示在屏幕上。数据范围如果产生溢出,则在屏幕上显示字符串“overflow”。 四、解题思路 1、被乘数是1,中间结果加上被乘数,被乘数左移一位。被乘数是0,被乘数左移一位。 2、利用查表法。将键盘输入的十进制数存入内存中。从高位到低位依次取值,将中间结果乘10与之相加。转化为二进制,在依据键盘输入的符号决定要进行的计算。最后将结果输出。 五、流程图

1、 No

Yes

2、 Yes

实验三 汇编语言程序上机过程

实验三汇编语言程序上机过程 实验目的: 1、掌握常用工具软件 PE,MASM和LINK的使用。 2、伪指令: SEGMENT,ENDS,ASSUME,END,OFFSET,DUP。 3、利用的 1号功能实现键盘输入的方法。 4、了解.EXE文件和.COM文件的区别及用INT 21H 4C号功能返回系统的方法。 程序: data segment message db 'This is a sample program of keyboard and disply' db 0dh,0ah,'Please strike the key!',0dh,0ah,'$' data ends stack segment para stack 'stack' db 50 dup(?) stack ends code segment assume cs:code,ds:data,ss:stack start: mov ax,data mov ds,ax mov dx,offset message mov ah,9 int 21h again: mov ah,1 int 21h cmp al,1bh

je exit cmp al,61h jc nd cmp al,7ah ja nd and al,11011111b nd: mov dl,al mov ah,2 int 21h jmp again exit: mov ah,4ch int 21h code ends end start 实验步骤: 1、用用文字编辑工具(记事本或EDIT)将源程序输入,其扩展名为.ASM。 2、用MASM对源文件进行汇编,产生.OBJ文件和.LST文件。若汇编时提示有错,用文字编辑工具修改源程序后重新汇编,直至通过。

微机原理汇编语言的上机过程 实验报告

微机原理技术与接口实验报告 学院: 专业: 班级: 姓名: 学号:

汇编语言程序的上机过程 实验目的 通过简单地操作了解汇编语言程序的基本内容,体会汇编语言的运行,为以后的实验打下一定的基础。 实验原理及操作步骤 一、上机环境 要运行调试汇编语言程序,至少需要以下程序文件: ?编辑程序:https://www.wendangku.net/doc/421212143.html,或其他文本编辑工具软件,用于编辑源程序。 ?汇编程序:MASM.EXE,用于汇编源程序,得到目标程序。 ?连接程序:LINK.EXE,用于连接目标程序,得到可执行程序。 ?调试程序:DEBUG.EXE,用于调试可执行程序。 二、上机过程 汇编语言程序上机操作包括:编辑、汇编、连接和调试几个阶段。 1.编辑源程序 用文本编辑软件创建、编辑汇编源程序。常用编辑工具有:https://www.wendangku.net/doc/421212143.html,、记事本、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]: 依次按回车键,进行选择后,汇编程序就对汇编源程序进行汇编。如果汇 编过程中发现有语法错误,则屏幕上会显示出错语言的位置和出错的类型。

汇编语言上机过程

汇编语言上机过程 一、用汇编语言编写的源程序,使之运行必须经过以下几个步骤: 1.用编辑程序建立一个扩展名为.ASM的汇编语言源程序文件。 2.调汇编程序(MASM),对源程序汇编,生成机器码目标文件,扩展名为.OBJ。 3.连接(LINK)目标文件,生成可执行文件,扩展名为.EXE。 4.运行可执行文件。 5.如果程序运行有错,可调用DEBUG程序对.EXE文件进行调试。 二、编辑汇编语言源程序 可用各种编辑软件来建立汇编语言源程序,例如记事本。先保存为.TXT文件,然后改为.ASM文件,方法是在windows界面:工具——文件夹选项——查看——将“隐藏已知文件的扩展名”选项去掉。然后将扩展名.TXT直接改为.ASM,汇编程序文件名称由用户自定(只能用英文字母、数字下划线)。 三、编译汇编语言源程序 用MASM程序汇编源程序,生成浮动目标程序(即扩展名为.OBJ的文件),这里产生的是浮动的目标模块,是不可执行程序。 “开始”菜单->运行->键入“cmd”->确定,打开DOS命令行窗口。 汇编前,在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-汇编语言上机环境及基本操作

实验二汇编语言上机环境及基本操作 一、实验目的及要求 1.掌握汇编语言源程序的书写格式和要求 2.掌握在计算机上建立、汇编、连接、调试及运行程序的方法。 3.学会使用记事本、MASM、LINK、DEBUG等软件工具。 4.掌握将数据和代码都放在代码段的程序设计方法。 5.掌握将数据和代码放不同段的程序设计方法。 6.掌握用LOOP指令构建循环程序 二、实验内容 1.练习:计算机上建立、汇编、连接、调试及运行程序的方法 编写程序,计算2^12 1)在D盘建立一文件夹,命名(例如101),将和复制到此文件夹;在此文件夹中新建文本文件,文件名改为汇编源程序名,例如: 用记事本打开,输入源程序并保存。 源程序: assume cs:code code segment mov ax,2 mov cx,11 s: add ax,ax loop s mov ax,4c00h int 21h code ends end

2)汇编源程序 点开始菜单,点运行,输入CMD按回车,进入命令提示符窗口; 输入D:并回车,打开D盘,再输入CD 101并回车,进入101文件夹; 输入MASM 2e12并回车,一路按回车,进行汇编 汇编过程的错误分警告错误(Warning Errors)和严重错误(Severe Errors)两种。其中警告错误是指汇编程序认为的一般性错误;严重错误是指汇编程序认为无法进行正确汇编的错误,并给出错误的个数、错误的性质。这时,就要对错误进行分析,找出原因和问题,然后再调用屏幕编辑程序加以修改,修改以后再重新汇编,一直到汇编无错误为止。汇编通过后,会生成目标文件 3)连接目标程序、 输入LINK 2e12并回车,一路按回车 连接成功后,会生成可执行文件 4)跟踪并调试可执行程序 输入DEBUG 并按回车,进入DEBUG调试程序 单步运行程序,跟踪程序,每执行一条指令,检查相关寄存器或存储器的数据,看看程序是否按我们的意愿运行,若有出入,修改源程序,重新汇编、连接、运行调试,直到成功 编写程序计算100×300,用循环结构实现 完成否 2.将数据和代码都放在代码段的程序设计方法 程序功能:将8个字数据累加求和,存入AX 便于大家检查验证,将8个字设为1,2,3,4,5,6,7,8 assume cs:codesg codesg segment dw 1,2,3,4,5,6,7,8 start: mov bx,0 mov ax,0

相关文档
相关文档 最新文档