汇编语言程序的上机过程

合集下载

汇编语言程序的上机过程

汇编语言程序的上机过程

汇编语言的上机过程汇编语言程序的上机过程包括编辑、汇编、连接和执行这四个步骤。

汇编程序我们提供宏汇编程序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文件:连接映象文件,包括各个段在存储器中的分配情况,初学时不需要。

实验二汇编语言上机过程实验(机制本)

实验二汇编语言上机过程实验(机制本)

实验二汇编语言上机过程实验一、实验目的1、了解和掌握由键盘接收数据,并显示其运行结果的方法。

2、掌握INT 21H 的09H和0AH,01H和02H的功能。

3、熟悉在PC机上建立,汇编,链接,调试和运行8086/8088汇编语言程序的过程。

二、实验内容1、汇编语言源程序的上机过程:①将masm5.zip文件下载放在D:\masm文件夹下, 在该文件夹下将压缩文件解压缩。

②利用编辑器建立一个ASM 源文件。

Edit ,记事本等编辑器文件以文件名.asm文件名保存。

最好保存在D:\masm文件夹下。

(即:D:\masm\文件名.asm)文件名自取。

③点击开始菜单,运行↙>cmd↙>d: ↙>cd masm↙>masm 文件名 3下回车>link 文件名 3下回车>debug 文件名.exe>g ↙其中利用MASM.EXE对源程序进行编译。

生成中间代码文件:文件名.obj。

利用link.exe对obj文件进行连接。

生成最终目标代码文件:文件名.exe。

运行可执行文件:文件名.exe,并利用debug调试工具查看结果。

2、编写一个完整程序,在屏幕上显示字符串How are you!data segmentstring db 'how are you!$'data endscode segmentassume cs:code,ds:datastart:mov ax,datamov ds,axmov dx,offset stringmov ah,9int 21hmov ah,4chint 21hcode endsend start三、实验器材IBM PC 微机一台四、实验报告要求1、实验报告应包括实验目的,实验内容,实验步骤,实验思考题2、完成实验思考题,如有编程题,写出调试正确的程序,并给程序加注释,写出实验中所记录下的内存数据存放格式。

五、实验思考题下面的汇编语言源程序有错误的,试给程序加注释。

汇编语言的上机过程(基于MASM 6.15)

汇编语言的上机过程(基于MASM 6.15)

(上机第一步)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 DOS下的文本编辑器E DIT.HLP EDIT帮助文件L IB.EXE 过程库管理程序L INK.EXE 连接器D OSXNT.EXEm l.err 汇编的错误信息文件m l.exe(masm and link)汇编连接器***************************************************D EBUG.EXE 调试器(一般是系统自带)***************************************************对于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<file> Name executable 指定.EXE文件名/Fl[file] Generate listing 生成列表文件(.LST)/Fm[file] Generate map 生成映像文件(.MAP)/Fo<file> Name object file 指定.OBJ文件名/I<name> Add include path 指定include文件的路径名两种开发环境:1.32位Windows控制台(CMD.EXE)①解压缩MASM6.15.ZIP到D:\②开始-程序-附件-命令提示符-右键-发送到桌面快捷方式③修改桌面命令提示符属性:目标:%SystemRoot%\system32\cmd.exe起始位置:D:\MASM④双击命令提示符图标即可进入基于32位Windows控制台下的汇编程序环境。

第八讲(2) 汇编语言简单上机过程

第八讲(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三、实验要求认真完成实验每一步骤,详细记录实验过程、现象和结果,及时整理实验报告。

汇编语言上机过程

汇编语言上机过程

出各个段在内存中的分配情况,主要有各段的名字、起点、终
点和长度等信息。 A1.MAP文件的内容显示如下: Start Stop Length Name Class DATA COSEG
中的CREF.EXE程序,根据A1.CRF文件建立一个名为A1.REF的 文件。若显示A1.REF文件的内容,则可看到该符号表。下面是
源程序A1.ASM的交叉引用表文件A1.REF的清单:
第五章 基本汇编语言
Microsoft CrossReference (# definition, + modification) Cref-1 ADD2 .............. 16# ﹒ 25 CMPMIN ............. 18 22# COSEG ..............8# 9 30 DATA ..............1# 7 9 MAXV .............. 5# 26+ MINV .............. 6# 27+ NEXT .............. 19 21 23 25# NUM.............. 2# 12 START ..............10# 31 9 Symbols
第五章 基本汇编语言
汇编语言程序的上机过程
目前根据使用的软件, 汇编语言程序的上机有两种方式, 一种 是在 DOS 状态下逐步调用相关的软件对源程序进行编辑、汇编、 连接和运行,完成整个上机过程的。另一种是在集成环境(IDE) 下完成上述上机过程的,此种方式的上机比较方便,用户不必 用命令方式多次调用相关软件逐步完成上机过程,而只需要一 次调用IDE软件,然后利用该软件的各种功能菜单完成上述上机 过程, 整个上机过程只需在一个软件中完成。这是因为该类软 件利用了面向对象的程序设计方法将与汇编语言程序上机所需 的各种实用程序集成到一个软件中了。尽管该类软件使汇编语 言程序的上机方便了许多,但基本的上机步骤仍然与第一种方 式相同。为了使初学者对汇编语言的上机过程有个完整的概念, 我们仍以第一种上机方式进行介绍。汇编语言程序的上机过程 如图 5-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显示了当前指向的指令及其代码,即即将执行的下一条语句。

汇编语言上机过程

汇编语言上机过程

汇编语言程序的上机过程一、上机环境要运行调试汇编语言程序,至少需要以下程序文件:▪编辑程序:或其他文本编辑工具软件,用于编辑源程序。

▪汇编程序: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(回车),即可完成连接。

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

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

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

微机原理技术与接口实验报告学院:专业:班级:姓名:学号:汇编语言程序的上机过程实验目的通过简单地操作了解汇编语言程序的基本内容,体会汇编语言的运行,为以后的实验打下一定的基础。

实验原理及操作步骤一、上机环境❖要运行调试汇编语言程序,至少需要以下程序文件:▪编辑程序:或其他文本编辑工具软件,用于编辑源程序。

▪汇编程序: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文件。

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

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

实验二汇编语言程序上机过程实验目的:熟悉8086/88汇编语言编程格式及上机设计调试过程。

如图5-1所示。

实验器材:计算机一台,DOS或WINDOWS环境,、MASM.EXE、LINK.EXE、DEBUG.EXE 等程序文件。

实验内容及步骤:1、编辑录入源程序建议EDIT后的文件名不要省略,源程序扩展名必须为ASM,不能省略。

EDIT界面如图6-1所示,激活菜单用鼠标单击或ALT+菜单名的第一个字母。

最常用的文件下拉中Save(保存)、Exit(退出,若未存盘会提示是否存盘)两个命令,如果未存盘选择Exit则会弹出如图6-2所示的对话框询问是保存退出(Yes)、不保存退出(No)、取消返回继续编辑(Cancel)。

例如:执行如下命令图6-1 EDIT的基本界面图6-2 EDIT的Exit命令对话框2、汇编汇编命令格式如下:建议源程序基本名不要省略。

例如:;扩展名“.ASM”可省略若没有错误显示如下:Microsoft (R) Macro Assembler Version 5.10Copyright (C) Microsoft Corp 1981, 1988. All rights reserved.Object filename [aa.OBJ]: ;目标文件名Source listing [NUL.LST]: ;源程序列表文件,加行号便于查错Cross-reference [NUL.CRF]: ;交叉参考文件,名字信息49576 + 420869 Bytes symbol space free0 Warning Errors ;警告错误0 Severe Errors ;严重错误,若有此类错误,不能生成目标OBJ文件有关错误信息的含义请参看教材附录C。

如果省略源程序名则第一个提示信息为:Source filename [.ASM]: ;源程序文件名3、连接连接命令格式如下:建议目标程序基本名不要省略。

汇编语言程序的上机过程.

汇编语言程序的上机过程.

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

汇编上机(汇编语言步骤)

汇编上机(汇编语言步骤)
源程序保存的扩展名为:.ASM
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--汇编语言程序的上机过程

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.1求平均数。

试编写一程序:在数据段中定义一个5字节数据的数组array,把它们看作有符号数求其平均数,结果送avg内存单元。

程序框图见图1.1:图1.1 例1.1的程序框图上机过程如下:1.调用文本编辑程序Edit建立asm文件Edit是Dos系统环境下的编辑工具,当然读者也可以用其它的W32编辑工具如EditPlus、Ultra edit、NotePad等软件在Windows下来建立源文件。

下面假设启动的是Dos操作系统或启动Windows切换到Command命令窗口(为便于讨论下面均以Dos系统说明之),汇编语言上机的工作环境在E:\masm子目录下。

键入以下命令:E:\masm\edit sample.asm使用该命令建立以sample.asm为文件名的源文件如图1.2所示。

然后,保存文件返回到Dos 系统。

;*****************************************************************************data segment ;定义数据段array db 1,2,3,4,5avg db ?data ends;***************************************************************************** code segment ;定义代码段;----------------------------------------------------------------------------- main proc far ;定义主过程assume ds:data,cs:codestart: ;程序的入口地址标号push ds ;以下3条指令为返回Dos系统做准备xor ax,axpush ax;mov ax,data ;装载Ds段寄存器mov ds,ax;lea si,array ;设置数组的指针simov cx,5 ;装载循环计数器cxmov al,0 ;累加器al清零next: ;循环求累加和mov dl,[si]add al,dlinc siloop nextcbw ;将al中的累加和扩展到axmov bl,5idiv bl ;商在al中,余数在ah中mov avg,al;ret ;返回到Dos系统main endp ;主过程结束;--------------------------------------------------------------------------------------------------------------------- code ends ;代码段结束;***************************************************************************** end start ;整个程序结束;图1.2 例1.1的源文件sample.asm2.调用汇编程序Masm对源文件汇编产生目标文件sample.obj键入以下命令:E:\masm\ masm sample屏幕显示如下:Microsoft (R) Macro Assembler Version 5.00Copyright (C) Microsoft Corp 1981-1985, 1987. All rights reserved.Object filename [sample.OBJ]:Source listing [NUL.LST]:Cross-reference [NUL.CRF]:50956 + 450516 Bytes symbol space free0 Warning Errors0 Severe Errors上述三个问题以回车作为默认回答,如汇编指示出错则须重新调用编辑程序修改错误,直至汇编通过为止。

  1. 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
  2. 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
  3. 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。

汇编语言的上机过程
汇编语言程序的上机过程包括编辑、汇编、连接和执行这四个步骤。

汇编程序我们提供宏汇编程序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文件:连接映象文件,包括各个段在存储器中的分配情况,初学时不需要。

.LIB文件:要用户指明运行时所需要的库文件。

4、运行执行文件HELLO.EXE,
操作:敲入HELLO
如果使用MASM6.14的话,操作方法如下(以HELLO.ASM源程序文件为例):2、使用‘ML’命令生成目标文件HELLO.OBJ和执行文件HELLO.EXE,
操作:
(1)在DOS下进入MASM6.14版本的目录,如C:\MASM614>
(2)敲入命令:ML HELLO.ASM(文件名必须完整)
3、运行执行文件HELLO.EXE,操作
敲入HELLO。

相关文档
最新文档