汇编语言上机过程

汇编语言上机过程

一、用汇编语言编写的源程序,使之运行必须经过以下几个步骤:

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程序处理,以建立一个按字母顺序排列的能被显示或打印的源程序中的符号(包括变量)表。

利用它用户可以很快查到符号的相对地址及类型,这对调试较大的程序是很有用的。所以用户的盘中还应拷贝CREF.EXE文件。若用户不需要这些信息,可直接回车。

到此为止,汇编过程已完成。MASM对源程序进行汇编时,若发现源程序中有语法错误则列出有错误的语句,错误的代码和错误的类型,最后列出错误的总数。此时就可以分析错误,调用编辑程序修改错误,直到汇编无错误。

四、连接装配汇编程序

LINK.EXE文件用来将(.OBJ)文件连接成可执行文件,扩展名为(.EXE)。连接过程如下:在DOS 下,键入

>LINK z1<CR>

先显示版本号,然后依此提问以下几个问题:

RUN FILE[Z1.EXE]:<CR>

LIST FILE[NUL.MAP]:<CR>

LIBRARIES[.LIB]:<CR>

第一个提示询问要产的可执行文件(.EXE)的文件名,一般按回车表示默认括号内规定的文件名。第二个提示询问是否建立内存分配图文件(.MAP),直接回车表示不要建立。最后询问是否用库文件(.LIB),若不用库文件,直接回车。然后连接程序开始进行连接,若连接过程有错,则显示错误信息。有错误就要修改源文件,重新汇编、连接直至无错。若用户程序直接使用系统堆栈,则不要理会“NO STACK SEGMENT”的警告提示。

五、汇编语言程序的运行

汇编语言源程序经过汇编、连接以后生成的.EXE文件,可在DOS下直接键入文件名运行。例如:

>z1 <CR>。

则z1.EXE文件会装入内存并从程序中起始的地址运行。程序如正确无误,执行完后控制将能正常返回DOS操作系统。若运行结果在存储单元里,或发现程序运行错误,或想跟踪程序的执行,那么就需要用DEBUG程序。

六、汇编程序的调试

DEBUG是专为汇编语言设计的一个调试程序,它通过单步、设置断点等方式为汇编语言程序的调试提供了非常有效的调试手段。

在DOS的提示下,键入命令:

>DEBUG z1.exe <CR>

DOS把https://www.360docs.net/doc/df19211157.html, 调入内存后把被调试的z1程序也调入内存。装入内存的地址从偏移0开始,装入后显示DEBUG的提示符“—”。在提示符“—”下可执行DEBUG的各种命令。

七、常用的DEBUG命令介绍如下。

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

格式1:D<CR>

表示从代码段cs:0000H开始的80H个单元的内存。

格式2: D ds: [地址]<CR>

表示从数据段指定地址开始的80H个单元的内存。

格式3:D[始地址末地址]<CR>

此命令显示指定范围的内存。

例如下面是D命令显示内容的其中一行,显示说明:

0B2E:0200 E8 DA E1 46 E8 AC DF 74-0D E8 45 00 AC E8 41 00 ...F...t..E...A.

左边“0B2E:0200”是头一个存储单元的逻辑地址,对应内容就是“E8”,后面依次是后续存储单元的内容(十六进制形式),共16个数据。中间的短划线“-”用于分隔第8和第9个数据,便于定位(位于16个数据中间)。右边是对于存储单元内容的显示形式,就是说,如果它是一个可以显示的字符对应的ASCII码(例如第4个数据为46),则显示该字符(就是字符“F”),如果不是可以显示的字符,则显示为点“.”。

标志寄存器每个符号意义如下:

1.溢出OV(overflow,OF=1),无溢出NV(no overflow,OF=0)

2.减量DN(direction down,DF=1),增量UP(direction up,DF=0)

3.允许中断EI(enable interrupt,IF=1),禁止中断DI(disable interrupt,IF=0)

4.负数NG(negative,SF=1),正数PL(plus,SF=0)

5.零ZR(zero,ZF=1),非零NZ(no zero,ZF=0)

6.辅助进位AC(auxiliary carry,AF=1),无辅助进位NA(no auxiliary carry,AF=0)

7.偶校验PE(even parity,PF=1),奇校验PO(odd parity,PF=0)

8.进位CY(carry,CF=1),无进位NC(no carry,CF=0)

2.修改存储单元内容命令E

格式1:E[地址][内容]<CR>

用命令给定的内容去代替原来内存单元的内容。如:

E DS:100 AA BB CC DD<CR>

是将0AAH、0BBH、0CCH及0DDH依次送DS:100H开始的4个单元中。

格式⒉E[地址]<CR>

意为一个单元一个单元地修改内存单元的内容。如:

E CS:108<CR>

只显示出CS段内108H内存的内容,等待修改。修改后按空格键显示下个单元的内容,利用空格键可以修改连续的单元内容,回车键结束该命令。

3.检查寄存器内容的命令R

格式l:R<CR>

显示CPU内部所有寄存器的内容和标志位状态。

格式2:R[寄存器名]

检查指定寄存器的内容。如键入

R IP<CR>

IP 0356 :显示IP 的内容为0356

4.运行命令G

格式1:G<CR>

从当前CS:IP开始一直执行下去,直到INT 3指令为止。

格式2:G[地址]<CR>

执行到指定地址处停下。

5.跟踪命令(单步运行)T

格式1:T[=地址]<CR>

单条跟踪命令,即执行时逐条跟踪,从指定地址起执行一条指令后停下来,显示所有寄存器的内容及标志位的值,最后显示将要执行的指令。如未指定地址则从当前的CS:IP开始执行。

格式2:T[=地址][N]<CR>

多条跟踪,从指定地址开始执行N条指令后停下来。例如:

T=0003 3<CR>

表示从指定地址0003开始执行3条指令后停下来。

6.步进跟踪命令P

与T命令类似,该命令可执行一个循环、一个重复的字符串、一个软件中断或一程序调

用,即遇到CALL或INT等指令时,不会进入相应的子程序内逐条执行。

7.反汇编命令U

若在内存某区域中,已经有了某个程序的目标代码,为能了解此程序的内存,就可以用U命令进行反汇编。

格式l:U<CR>

从cs:0000H的反汇编32个字节机器码。然后继续按U则显示下一个32个字节机器码。依次类推。

格式2:U[起始地址]<CR>

从指定地址开始,反汇编32个字节。然后继续按U则显示下一个32个字节机器码。依次类推。

格式3:U[起始地址][结束地址]

对指定范围内的存储单元进行反汇编。

8.退出DEBUG,返回DOS

Q<CR>

DEBUG命令中,还有其他的命令,读者可参阅有关资料。

汇编实验指导书

实验一汇编语言程序的上机过程 一、实验目的 掌握汇编语言源程序的编辑、汇编、连接及运行过程,为以后的实验打下基础。 二、实验内容 1、输入下列完整的程序 STACK SEGMENT STACK DB 200 DUP(?) STACK ENDS DATA SEGMENT BUF DB‘HOW ARE YOU!$’ DATA ENDS CODE SEGMENT ASSUME CS:CODE,DS:DATA,SS:STACK START:MOV AX,DATA MOV DS,AX LEA DX,BUF MOV AH,9 INT 21H MOV AH,4CH INT 21H CODE ENDS END START (本程序的正确运行结果是在屏幕显示“HOW ARE YOU!”) 2、完成课本P193习题5.1。 三、实验步骤 (1)利用EDIT编辑源程序; (2)汇编源程序; (3)连接目标程序文件; (4)运行可执行文件。 四、实验报告要求 写出以上两个实验内容的题目、源码、具体实验步骤和实验结果。 1.在屏幕上打印字符串”How are you?”。 (1)源代码: ;打印字符串"How are you?" STACK SEGMENT STACK DB 200 DUP(?) STACK ENDS DATA SEGMENT BUF DB 'How are you?$' DATA ENDS

CODE SEGMENT ASSUME CS:CODE, DS:DATA, SS:STACK START: MOV AX, DATA MOV DS, AX MOV AX, STACK MOV SS, AX ;在屏幕上打印字符串 LEA DX, BUF MOV AH, 9H INT 21H MOV AH, 4CH INT 21H CODE ENDS END START (2)具体实验步骤: 编辑→保存→masm→link→运行 (3)结果截图: 2.编写一个汇编语言程序,要求对键盘输入的小写字母用大写字母显示出来。 (1)源代码: (2)具体实验步骤: (3)结果截图: 实验二 DEBUG的使用技术 一、实验目的

汇编语言上机过程

汇编语言上机过程: 一、上机前的软件准备: MS-DOS操作系统(如:MSDOS6.22 , MSDOS7.0 等) 文本编辑器(如:https://www.360docs.net/doc/df19211157.html, , 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回车。其中filename为你刚才在PROCEDURE a 中建立的文件名) 这时汇编程序的输出文件可以有三个(分别:.obj .lst .crf),便会出现三次提问,在这可以一路回车即可。下面显示的信息是源程序中的错误个数,如果为0则表示顺利通过,就可进行进程c。但如果不为0就说明有错误,并指出错误出现的行,可依据这个提示去进行修改。但如果错误太多还未等看清就显示过去了,可用如下命令形将错误信息存于一个你指定的文件,再用文本编辑器去查看。 MASM filename >filen (filen为你起的一个没用过的文件名,用以存放出错信息)以后可查看filen来得到出错信息。

汇编语言上机步骤与DEBUG常用命令的使用

、实验一汇编语言上机步骤与DEBUG常用命令的使用 【实验目的】 (1)汇编语言源程序的编辑、汇编、连接的方法 (2)掌握DEBUG常用命令的使用,如汇编命令A、反汇编命令U,查看寄存器命令R,查看内存单元命令D,修改内存单元命令E,填充内存单元命令F,设断点热行命令G及单步执行命令T等; (3)掌握用断点执行或单步执行来检查和调式程序的方法; (4)进一步了解8086/8088CPU内部寄存器的功能; (5)掌握访问段式存储器结构地址的表示方法 【实验类型】验证型实验 【实验内容及要求】 1、编辑源程序:将课本102页的代码输入到计算机,并保存(源程序可以不用写到实验报告上) 2、对源程序进行汇编,生成目标文件,写出相应的命令 3、对目标文件进行连接,生成可执行文件,写出相应的命令 4、用DEBUG程序调试生成的可执行文件:按以下要求完成 ⑴用反汇编U命令显示程序及目标码,把结果写在实验报告上。 ⑵用R命令查看各寄存器的情况,把结果写在实验报告上。 ⑶写出第四条指令的逻辑地址,段地址及偏移地址。 ⑷用单步命令T或断点命令G执行程序到RET处,并写出用T命令执行头5条指令的过程及G命令的执行过程。 ⑸写出用D命令检查程序执行前后x,y,z的内容。 ⑹用E命令修改数据段中某一存储单元的内容。 DEBUG常用命令 分类命令格式功能说明 汇编与反汇编-A[地址] 从指定地址开始汇编程序地址默认值为: CS:IP -U[地址] 从指定地址开始反汇编32字节目标码 -U 起始地址 终止地址 在指定地址范围内反汇编目标码 运行与跟踪-G=起始地 址][断点1…断 点10] 在指定地址开始执行到断点为止地址默认值为: CS:IP -T[=地址] 在指定地址执行一条指令后暂停 -T[=地址]n 在指定地址执行n条指令后暂停 存储单元读写移动比较与搜索-D[地址] 从指定地址开始显示80H字节存储单元 内容 地址默认值为: CS:IP -D起始地址终 止地址 显示指定地址范围内存储单元内容 -E地址修改内 容 从指定地址开始逐个单元修改存储内 容 -S起始地址终止地址被 查字符串 从指定地址范围内查找字 符串 段地址默认值 为DS

汇编语言上机过程

汇编语言程序的上机过程 一、上机环境 要运行调试汇编语言程序,至少需要以下程序文件: ?编辑程序:https://www.360docs.net/doc/df19211157.html,或其他文本编辑工具软件,用于编辑源程序。 ?汇编程序:MASM.EXE,用于汇编源程序,得到目标程序。 ?连接程序:LINK.EXE,用于连接目标程序,得到可执行程序。 ?调试程序:DEBUG.EXE,用于调试可执行程序。 二、上机过程 汇编语言程序上机操作包括:编辑、汇编、连接和调试几个阶段。 1.编辑源程序 用文本编辑软件创建、编辑汇编源程序。常用编辑工具有:https://www.360docs.net/doc/df19211157.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.程序调试 在程序运行阶段,有时不容易发现问题,尤其是碰到复杂的程序更是如此,这时就

汇编语言程序的上机过程

汇编语言的上机过程 汇编语言程序的上机过程包括编辑、汇编、连接和执行这四个步骤。汇编程序我们提供宏汇编程序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 INT 21H

MOV AH,4CH INT 21H 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文件:连接映象文件,包括各个段在存储器中的分配情况,初学时不需要。

汇编语言实验报告4

程及屏幕字符显示程序 一、实验目的 1、熟练掌握汇编语言的程序格式,程序设计方法;学会使用masm6.11对源程序进行编译、链接、 调试和运行 2、利用DOS功能调用INT21H的2号和9号功能进行屏幕显示的方法。 3、利用^Break退出程序的方法及局限性。 4、汇编程序的编写 二、实验任务 1学习汇编语言程序的上机过程 2. 利用INT 21的09H号功能调用显示字符串。验证以下程序 1)用A命令在100H处键入下列程序: MOV AH, 9 MOV DX,110 INT 21 INT 20 2)用A命令在110H处键入下列字符串的ASCII码: DB 'This is a sample!$' 3)用N命令和W命令将此程序(包括数据区)存入文件名为https://www.360docs.net/doc/df19211157.html,的磁盘文件中。(存入前BX:CX必须置为文件长度值)。

4)用Q命令退出DEBUG。 5)在DOS命令下打AA,运行此程序,即在屏幕上显示'This is a sample!'字符串,若不出现,用DEBUG 检查程序有无错误。

(给出结果截图) 3、利用INT 21H 2号功能显示字符: 1)用A命令在100H处键入下列程序: XOR DL,DL MOV CX,100 LOP: MOV AH,2 INT 21 INC DL PUSH CX MOV CX,8 DELY: PUSH CX MOV CX,256 J: LOOP J POP CX LOOP DELY POP CX LOOP LOP INT 20

2)用G命令运行程序,即在屏幕上依次缓慢的显示256个ASCII字符。仔细观察每个字符,和IBM-PC ASCII码表对照,看07H-0DH处控制字符显示结果与表上有何不同? 3)按CTRL+BREAK退出此程序,若一次不行可多做几次。 4 编写一个简化的段定义结构程序: 先提示输入数字“Input number:0-9”,然后在下一行显示输入的数字,结束;如果不是键入 了0-9 数字,就提示错误“ERROR!”,继续等待输入数字。 (给出程序清单及调试结果。) .model small .stack .data

微机原理上机 汇编语言程序

上机作业四 一.实验目的 1.增强和提高汇编语言程序设计的能力,掌握模块化程序设计的方法. 2.熟练掌握DOS常用功能的调用方法. 二.试验仪器 586微机一台 三.实验内容 编写如下程序,并在机器上调试成功。程序采用菜单式选择,可以接收用户从键盘输入的五个命令(1-5),各命令功能分别为: (1)按下“1”键,完成字符串小写字母变成大写字母。 用户输入一由英文大小写字母或数字0-9组成的字符串(以回车结束),程序逐个检查字符串中各字符,将原串中小写字母变成大写字母,其他字符不变,并在屏幕上显示。用户按任一键,重做,按ESC键,返回主菜单。 (2)按下“2”键,完成找最大值(二选一)。 a.接收用户输入的可显示字符串(以回车结束),程序将其中ASCII码值最大的字符显示出来; b.接收用户输入若干个无符号8位数(以空格或逗号为分隔符,以回车结束),程序将其中最大的数显示出来。用户按任一键,重做,按ESC键,返回主菜单。 (3)按下“3”键,完成排序(二选一)。 a.接收用户输入的可显示字符串,以回车结束。程序按ASCII码值大小由大到小排序并输出显示; b.接收用户输入若干个有符号8位数(以空格或逗号为分隔符,以回车结束),程序将其中最大的数显示出来。用户按任一键,重做,按ESC键,返回主菜单。 (4)按下“4”键,显示时间。 首先提示用户对时,即用户输入时、分、秒(以空格或逗号为分隔符,以回车结束),然后,在屏幕上不断显示时间,格式为: XX(时): XX(分): XX(秒) 最好定点显示。用户按任一键,重新对时,按ESC键,返回主菜单。 (5)按下“5”键,结束程序运行,返回系统提示符。 四.程序代码 STACK SEGMENT STACK DB 256 DUP(?) TOP LABEL WORD STACK ENDS DA TA SEGMENT TABLE DW G1, G2, G3, G4, G5 STRING1 DB '1. Change small letters into capital letters of string;', 0DH, 0AH, '$' STRING2 DB '2. Find the maximum of string;', 0DH, 0AH, '$'

汇编语言上机环境及基本操作

汇编语言上机环境及基本操作汇编语言是一种低级语言,它直接面向硬件,可以直接访问计算机的底层资源。为了学习和实践汇编语言,我们需要了解如何搭建汇编语言上机环境以及其基本操作。本文将介绍汇编语言上机环境的安装和基本操作的步骤,并给出一些示例。 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文件进行链接。使用如下命令进行链接: > link 文件名.obj 文件名.lib

汇编语言上机实验报告1

汇编语言上机实验报告1 汇编语言上机实验报告1 实验内容: 1.编写一个程序,求解给定整数的阶乘并输出结果。 2.编写一个程序,求解斐波那契数列中的第n个数并输出结果。 实验步骤: 1.阶乘程序: 编写一个汇编程序,通过输入一个整数n,求解n的阶乘。程序流程如下: 1.1.定义变量n,用于保存输入的整数。 1.2.将n与0进行比较,如果n为0,则直接将1输出作为阶乘的结果,并跳转到程序结束;否则继续执行下一步。 1.3.将n的值保存到寄存器中,并将n减1,保存到n中。 1.4.将n与0进行比较,如果n为0,则直接跳转到程序结束;否则继续执行下一步。 1.5.将n的值与寄存器中保存的值相乘,将结果保存到寄存器中。 1.6.将n减1,保存到n中并跳转到第4步。 1.7.输出寄存器中的结果作为阶乘的结果,并跳转到程序结束。 2.斐波那契数列程序:

编写一个汇编程序,通过输入一个整数n,求解斐波那契数列中的第n个数。程序流程如下: 2.1.定义变量n,用于保存输入的整数。 2.2.将n与0进行比较,如果n为0,则直接将0作为结果输出,并跳转到程序结束;否则继续执行下一步。 2.3.将n与1进行比较,如果n为1,则直接将1作为结果输出,并跳转到程序结束;否则继续执行下一步。 2.4.将n的值保存到寄存器中,并将n减1,保存到n中。 2.5.将n与0进行比较,如果n为0,则跳转到第9步;否则继续执行下一步。 2.6.将n减1,保存到n中并跳转到第7步。 2.7.将n的值与寄存器中保存的值相加,将结果保存到寄存器中。 2.8.将n减1,保存到n中并跳转到第5步。 2.9.输出寄存器中的结果作为斐波那契数列中第n个数的结果,并跳转到程序结束。 实验结果: 1.阶乘程序运行结果: 请输入一个整数:5 5的阶乘为:120 2.斐波那契数列程序运行结果:

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

实验二汇编语言程序上机过程 实验目的: 1、掌握常用工具软件 PE,MASM和LINK的使用。 2、伪指令: SEGMENT,ENDS,ASSUME,END,OFFSET,DUP。 3、利用的 1号功能实现键盘输入的方法。 4、了解.EXE文件和.COM文件的区别及用INT 21H 4C号功能返回系统的方法。 程序: data s egment message db 'This is a sample program of keyboard and display' db 0dh,0ah,'Please strike the key!',0dh,0ah,'$' data e nds stack segment para stack 'stack'

db 50 dup(?) stack ends code s egment 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 e nds end start

实验步骤: 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'省去,会产生什么现象?

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

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

汇编语言程序的上机过程 实验目的 通过简单地操作了解汇编语言程序的基本内容,体会汇编语言的运行,为以后的实验打下一定的基础。 实验原理及操作步骤 一、上机环境 要运行调试汇编语言程序,至少需要以下程序文件: ?编辑程序:https://www.360docs.net/doc/df19211157.html,或其他文本编辑工具软件,用于编辑源程序。 ?汇编程序:MASM.EXE,用于汇编源程序,得到目标程序。 ?连接程序:LINK.EXE,用于连接目标程序,得到可执行程序。 ?调试程序:DEBUG.EXE,用于调试可执行程序。 二、上机过程 汇编语言程序上机操作包括:编辑、汇编、连接和调试几个阶段。 1.编辑源程序 用文本编辑软件创建、编辑汇编源程序。常用编辑工具有:https://www.360docs.net/doc/df19211157.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.硬件环境 微型计算机(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,调试程序建议使用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中点击桌面左下角的“开始”按钮→选择“运行”→在弹出的窗口中输入“https://www.360docs.net/doc/df19211157.html, C:\ASM\HELLO.ASM”,屏幕上出现EDIT的编辑窗口,如图1所示。

实验二 汇编语言程序上机过程及调试

实验报告二 课程微机原理实验名称汇编语言程序上机过程以及调试第页专业电子信息班级__ __ 学号_ __ 姓名 实验日期:2014 年 3 月10 日报告退发(订正、重做) 一、实验目的 学习汇编语言程序设计的基本步骤,即编辑(EDIT)程序、汇编(MASM)、连接(LINK)和运行,使对汇编语言程序设计有一个初步的认识。 二、实验内容 1、学习使用全屏幕文本编辑软件EDIT。用EDIT输入一段给定的源程序。 2、用MASM对已存盘的源程序进行汇编,形成目标文件(.OBJ);如有错误,再返回到 EDIT进行修改。 3、用LINK对上述形成的目标文件进行连接,形成可执行文件(.EXE) 4、在DOS提示符下运行该可执行文件。 [汇编语言程序的编写格式] 汇编语言程序一般由几个段组成,它们分别是堆栈段,数据段,代码段。任何一个源程序至少必须有一个代码段和一条作为源程序结束的伪指令END。段的定义有两种格式,分述如 下: 1,完整的段定义格式: 一个段由段头,段体,段尾组成,形式如下: 段名SEGMENT[定位类型][组合类型][‘类别’] … … 段名ENDS 其中SEGMENT后的参数一般可省略,详细说明参阅后面的有关章节。 2,简化的段定义格式(MASM5.0版本提供)每段以.开始后跟固定的段名,一般形式如下: DOSSEG .MODEL 存储类型;“存储类型”可选择为SMALL。 .STACK[大小];堆栈段,“大小”指定堆栈的字节数。 .DATA;数据段。 .CODE[名字];代码段;一般只有一个代码段,名字可缺少 … … 例1:用完整的段定义编写一源程序。 NAME EXAM1;可以省略 DATA SEGMENT;定义数据段,以下是数据段的内容 STR1 DB “HELLO,WELCOME!”,13,10,‘$’ STR2 DB “DO YOU LIKE COMPUTER?(Y/N)”,13 10,‘$’

汇编语言程序设计上机步骤与调试方法

汇编语言程序设计上机步骤与调试方法 在汇编语言程序设计中,上机步骤与调试方法是非常重要的,它们 能够帮助程序员更好地编写和调试程序。本文将介绍汇编语言程序设 计的上机步骤以及常用的调试方法,帮助读者更好地理解和应用这些 知识。 一、上机步骤 1. 准备工作 在开始上机之前,我们需要做一些准备工作。首先,确认计算机已 经连接好必要的硬件设备,例如键盘、显示器等。其次,确保操作系 统和开发环境已经正确安装并能够正常运行。最后,根据需要准备好 所需的汇编语言文档和程序样例。 2. 创建新项目 在开始编写汇编语言程序之前,我们需要创建一个新的项目。在项 目中,我们可以组织和管理相关的文件和代码。通常,我们会选择一 个合适的集成开发环境(IDE)来创建和管理项目。 3. 编写程序 在创建项目之后,我们可以开始编写汇编语言程序。首先,我们需 要了解目标机器的指令集和寄存器,以便正确地编写程序。然后,根 据需求,我们可以使用不同的指令、寄存器和内存来实现所需的功能。在编写程序的过程中,注意代码的可读性和易于维护性是非常重要的。

4. 调试程序 编写完汇编语言程序后,我们需要进行调试,以确保程序的正确性 和稳定性。调试是一个迭代过程,通常包括以下步骤: - 设置断点:在程序中设置断点,以便在特定位置停止程序的执行。 - 单步执行:通过逐条执行程序的指令,我们可以观察程序的执行 过程,并检查各寄存器和内存的值。 - 监视变量:在调试过程中,我们可以监视程序中的变量值,以验 证其正确性。 - 查看输出:观察程序的输出结果,与预期结果进行比较,以确定 程序是否按照预期执行。 - 修复错误:如果发现程序中存在错误,我们需要对程序进行修改 和调整,直到问题解决为止。 5. 运行程序 在完成程序的调试之后,我们可以运行程序并观察其运行效果。在 运行过程中,我们可以测试程序的各种功能,以确保其正常工作。 二、调试方法 1. 打印输出 在调试汇编语言程序时,打印输出是一种常用且简单有效的调试方法。在程序中插入打印语句,将一些变量的值打印到控制台或文件中,

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

汇编语言上机操作及程序调试的方法第一节在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提示符下,直接打入文件名(不用扩展名),就可以把执行文件从盘上装入内存,且立即执行此程序。

《汇编语言上机环境及基本步骤》实验报告

汇编语言上机环境及基本步骤 一、实验目的: 1.掌握编写汇编源程序的基本格式。 2.熟悉汇编语言上机环境。 3.掌握汇编源程序的编辑和修改,熟悉EDIT或记事本的使用方法。 4.掌握汇编源程序编译、连接成可执行文件的过程,熟悉MASM,LINK的使用方法。 二、实验内容: 在屏幕上显示并打印字符串“This is a sample program.” 三、实验仪器 微机一台 四、实验步骤: 1.在某盘如E盘,以自己的名字的汉语拼音建立一个工作目录(文件夹,名称不要太 长,不超过8个字符比如zhangsan),将文件MASM.EXE,LINK.EXE等复制到该目录 下,编辑的源文件也保存到该目录下。 从WINDOWS进入DOS环境:C:\> 2.用EDIT编辑SW1.ASM源文件。 (1). 从当前目录进入自己的目录下, C:\>E: 回车 E:\> CD zhangsan ↙回车 键入EDIT并回车: E:\ zhangsan>EDIT 根据菜单提示进行各种操作。 (2)进入EDIT编辑------EDIT是一种全屏幕编辑软件,可输入、编辑、修改、保存、另存源程序非常方便。 说明:也可在WIDNDOWS环境下用记事本编辑源文件,在保存时,保存类型应选择所有文件,不能选择文本文件(*.txt),否则在编译时会找不到源文件的。 (3).编辑新文件: a、在EDIT编辑器中输入汇编源程序。 b、检查输入有无错误。 c、打开文件菜单FILE→选择另存为SA VE AS┅→输入文件名为:SW1.ASM→保 存。 注意:保存到你自己的文件夹中 d、若需要修改此文件,用FILE菜单→选择打开OPEN→输入文件名SW1.ASM,即 可修改。修改后注意重新再存盘。 (4).编辑汇编源程序 a、在EDIT(或记事本)中输入源程序。 b、检查。 c、存盘。可保存为SW1.ASM

汇编语言上机指导

汇编语言上机指导 一、概述 汇编语言是一种低级别的程序设计语言,它直接使用计算机的指令集架构来编写程序。而在进行汇编语言的实际操作时,上机指导是必不可少的一环。本文将为您提供一份汇编语言上机指导,以帮助您在实践中更好地掌握汇编语言的应用。 二、实验环境与所需工具 在进行汇编语言的上机实验之前,您需要准备以下工具和环境: 1. 计算机:一台能够运行汇编语言开发环境的计算机; 2. 汇编语言开发环境:例如MASM、NASM等; 3. 文本编辑器:用于编写汇编源代码的工具,例如Notepad++、Sublime Text等; 4. 模拟器或调试器:用于模拟或调试汇编程序的工具,例如DOSBox、Emu8086等。 三、实验步骤 1. 安装汇编语言开发环境:根据您选择的汇编语言开发环境,下载并安装相应的软件。 2. 创建汇编源代码文件:使用文本编辑器创建一个新的文本文件,并将其保存为.asm文件格式。

3. 编写汇编程序:根据实验要求或题目要求,使用汇编语言编写相应的程序代码。在编写过程中,需要熟悉所选汇编语言的语法和指令集。 4. 保存源代码文件:在编写完成后,保存源代码文件,并注意文件的命名规范和格式要求。 5. 编译源代码:打开所选汇编语言开发环境,并将源代码文件导入到该环境中。使用编译器将源代码文件转换为可执行文件。 6. 运行汇编程序:在模拟器或调试器中加载生成的可执行文件,并运行程序。通过观察程序的运行结果,验证程序代码的正确性和准确性。 7. 调试程序:如果程序在执行过程中出现错误或异常,可以使用调试器来逐步调试程序,找出错误的原因,并进行修正。 8. 优化程序:经过测试和调试后,可以根据实验需求对程序进行优化或改进,提高程序的性能和效率。 9. 文档整理:在上机实验结束后,对实验过程、实验结果和实验心得进行文档整理。将实验相关的代码、截图和注释整理成文档,并附上你的实验心得和体会。 四、注意事项 1. 在编写汇编程序时,需要遵循所使用汇编语言的语法和规范,注意标识符的命名规则和字符集的使用限制。

单片机实验报告KeilC的使用与汇编语言上机操作

单片机实验报告KeilC的使用与汇编 语言上机操作 单片机实验报告:Keil C的使用与汇编语言上机操作 一、实验目的 1.掌握Keil C的使用方法,了解其集成开发环境下的单片机编程流程。 2.掌握汇编语言的基本语法和指令,通过上机操作熟悉其应用。 3.通过实际操作,增强动手能力和解决问题的能力。 二、实验设备 1.单片机开发板 2.Keil C软件 3.电脑及编程器 三、实验原理及步骤 1.Keil C使用介绍 Keil C是一款广泛使用的单片机集成开发环境,它提供了包括编译器、调试器、仿真器等在内的全套开发工具。使用Keil C可以方便地进行代码编写、编译、调试和模拟,适用于多种单片机开发。 2.汇编语言基础 汇编语言是一种直接与硬件相关的编程语言,它通过特定的指令集直接控制硬件进行操作。汇编语言具有高效、直接的特点,但编写和理解相对困难。本实验主要学习并熟悉汇编语言的基本语法和指令。 3.实验步骤 (1) 在Keil C中创建新项目,选择合适的单片机型号。 (2) 创建源文件,编写汇编程序。 (3) 对源文件进行编译,生成目标文件。

(4) 将目标文件下载到单片机开发板进行调试和运行。 四、实验内容及分析 1.在Keil C中创建新项目并选择单片机型号。在创建项目时,需要选择正确 的单片机型号,这将直接影响到程序的编写和运行。根据实际需要,我们选择了AT89C51作为实验用的单片机。 2.创建源文件并编写汇编程序。在Keil C中,可以方便地创建新的源文件, 并在其中编写汇编程序。例如,下面是一个简单的汇编程序,用于点亮开发板上的LED灯: MOV P1, #1 // 将1赋值给P1端口 此程序将使P1端口的所有引脚输出高电平,从而点亮LED灯。 3.对源文件进行编译并生成目标文件。在Keil C中,可以通过简单的点击完 成编译操作。编译成功后,将生成一个目标文件(如*.obj文件)。 4.将目标文件下载到单片机开发板进行调试和运行。在Keil C中,可以通过 仿真功能模拟程序的运行,也可以通过调试功能查看程序运行过程中的细节信息。如果程序运行无误,将在单片机开发板上看到预期的结果。 五、实验总结与体会 通过本次实验,我们深入了解了Keil C的使用方法和单片机编程的基本流程。同时,通过实际操作,我们熟悉了汇编语言的应用和编程技巧。虽然汇编语言相对于高级语言更为复杂,但在特定场合下(如对性能要求极高或与硬件直接交互时),其高效性和直接性具有不可替代的优势。因此,掌握汇编语言对于单片机开发具有重要的意义。在未来的学习和实践中,我们将进一步运用和发展所学的知识和技能,为科学研究和工程实践做出贡献。

NO.1:汇编语言的上机过程(基于MASM_6.15)

1) 了解并熟悉汇编源程序的编写环境,了解汇编源程序的汇编链接运行 2) 写出一个简单的汇编程序并运行 3) 编写程序,从键盘接收两个十进制数,将它们的和存入变量sum (上机第一步)EDIT,是编辑程序,像一个文本编辑器,用来编辑汇编语言源程序,编辑好的程序扩展名为*.asm; (第二步)MASM,是汇编程序,用来把*.asm程序编译成二进制代码,该二进制代码文件称为目标程序,扩展名为*.obj; (第三步)LINK,是链接程序,用来把*.obj文件变成可执行目标代码,即可执行文件*.exe; 在第二步和第三步中,可以发现程序语法上的错误; (第四步)DEBUG是调试工具,用于发现程序逻辑上的错误。 汇编语言的上机过程(基于MASM 6.15) 汇编语言的一般上机过程:1.建立ASM文件 2.产生OBJ文件 3.产生EXE 文件4.程序的调试和执行 MASM 6.15包含文件: *************************************************** M ASM.EXE 汇编器 E https://www.360docs.net/doc/df19211157.html, DOS下的文本编辑器 E DIT.HLP EDIT帮助文件 L IB.EXE 过程库管理程序 L INK.EXE 连接器

D OSXNT.EXE m l.err 汇编的错误信息文件 m l.exe(masm and link)汇编连接器 *************************************************** D EBUG.EX E 调试器(一般是系统自带) *************************************************** 对于MASM 6.10以下的版本,汇编器和连接器是分开的,分别是MASM.EXE 和LINK.EXE,使用时要先用MASM.EXE生成.OBJ文件,再使用LINK.EXE生成.EXE 文件。ml.exe把MASM.EXE和LINK.EXE整合到一起,可以一步生成.EXE 文件。 ml命令有许多参数,可以使用ml /?命令查看。下面介绍几个低级实用的参数: /AT Enable tiny model (.COM file) /c Assemble without linking 只汇编不连接 /Fe Name executable 指定.EXE文件名 /Fl[file] Generate listing 生成列表文件(.LST) /Fm[file] Generate map 生成映像文件(.MAP) /Fo Name object file 指定.OBJ文件名 /I Add include path 指定include文件的路径名 两种开发环境: 1.32位Windows控制台(CMD.EXE)

相关文档
最新文档