微机实验报告1 基本实验认识

     

班级  软件工程16-1  学号  3162052051116  姓名  张识虔  同组实验者              

实验名称             基本认识实验                            日期 2018 11 11

一、实验目的:

 

二、实验环境:

 

三、实验内容:

 

1.2 源文件的编辑与输入

1.2.1 源文件的命名与输入 汇编语言源文件的编辑输入过程中需要注意下面几点: (1) 可以使用的文本编辑器有:DOS 下的 EDIT、写字板、记事本等。不能 使用带格式控制的文本编辑工具。例如,不能使用 Word 文档; (2) 除注释外,源程序中的字符和标点符号必须是英文状态下字符和标点符 号(半角); (3) 注释中的符号可以使用任何可显示可打印的符号; (4) 源程序的命名可以使用英文、数字等,并且字符的长度不超过 8 个(最 8 个)。扩展名必须使用.asm(或大写.ASM),存盘路径不能出现中文或长字符;

 (5) E 盘中建立一个文件夹 MYCODE,如 E:\MYCODE,进入文件夹 MYCODE 中,在文件夹中编辑的源文件。 1.2.2 DOS 环境 (1) 进入 DOS “开始”菜单“运行”输入 cmd确定,可进入 DOS 环境。如图 1-2-1 所示。

 

1-2-1  使用指令方式进入 DOS 环境

或“开始”菜单“所有程序”“附件”“命令提示符”。如图 1-2-2 所示。

 

 

 

 

1-2-2  从程序方式进入 DOS 环境

即可进入 DOS 方式。在 DOS 方式下,DOS 界面如图 1-1-3 所示。

 

WIN系统运行不了 只能用这个DOSBOX来运行了 原理都一样

1-2-3  DOS 环境编辑界面

(2) DOS 提示符下,键入 E: 回车,进入E盘根目录,这时提示符变为 E:/>

 

 

(3) 建立文件夹 MYCOED 的方法是:DOS 命令提示符 E:/>下输入

E:\>  MD  MYCODE 回车,建立自己的文件夹(或叫做子目录)MYCODE

我的文件放在  myassembly文件夹 所有 cd myassembly

(4) 进入 MYCODE 文件夹,方法是:在 DOS 命令提示符 E:/>下输入

 

 

E:\> CD  MYCODE 回车,进入文件夹(或叫做子目录)MYCODE,进入后,

提示符变为“ E:\MYCODE/> ”。进入 DOS 下创建的文件夹 MYCODE 如图 1-2-4 所示。

 

1-2-4  进入 DOS 下创建的文件夹 MYCODE

Windows 进入 DOS 模式,可能只有小窗口显示,在 DOS 窗口右击鼠标, 点击属性,选择全屏模式,可以全屏显示,如图 1-2-5 和图 1-2-6 所示。

 

1-2-5  DOS 环境属性

 

 

 

1-2-6  DOS 环境窗口全屏设置

DOS 环境下输入指令 EXIT 回车可退出 DOS 环境,如图 1-2-7 所示。

输入 exit后直接退出DOSBox窗口

 

1-2-7  退出 DOS 环境

 

1.2.3 DOS 环境下 EDIT 的使用 1Windows 环境下用记事本编辑源程序 新建一个记事本,在记事本中输入源程序,将文件名保存为.asm 文件。 2DOS 环境下用 EDIT 编辑源程序 DOS 界面输入命令:“EDIT”可打开源程序编辑界面,如图 1-2-8 所示。

 

 

 

1-2-8  使用 EDIT 命令进入源程序编程界面

在编辑界面中直接输入汇编源程序,如图 1-2-9 所示。

 

1-2-9  在编辑界面输入汇编源程序

编辑源程序完毕后,对源程序进行保存和退出,如图 1-2-10 所示。在编辑 界面中可以通过鼠标或键盘操作,按“Alt+菜单首字母键可把光标在编辑框和 菜单栏间切换,如“Alt+F”、“Alt+E”、“Alt+S”、 Alt+V”等快捷键选择。光 标在菜单栏时可以使用鼠标或者键盘的“上下左右”方向键移动光标位置,回车 键确认选择。退出 EDIT 编辑界面后则进入 DOS 界面。

 

1-2-10  对源程序保存和退出

 

 

 8

 

EDIT 命令是一个简单的编辑软件,我们经常用它来编辑一些程序和批处理 文件。例如,在 c 盘根目录下编辑一个简单的批处理文件,要求无论当前盘和当 前目录如何,每次只需输入一个字符 w,然后回车即可运行 c windows 目录下 windows 程序。要编辑一个文件名为 w.bat 的批处理文件,可以在提示符下敲

edit w.bat 回车(就是编辑 w.bat 文件的意思)。

 

进入编辑状态后,输入以下内容:c cd\windows win 如图 1-2-11 所示。

 

我在edit里边写了 hello my friends

1-2-11  DOS 环境下 EDIT 编辑界面

输入完后,按 Alt+F 键激活 File 菜单,按向下的箭头选择退出(Exit),如图 1 -2-12 所示。

 

1-2-12  退出 EDIT 编辑界面

 

 

 9

这时已经编辑完 w.bat 文件,又回到了提示符状态,用前面讲过的 type 命令 就可以查看刚才编辑的 w.bat 文件,只需输入 type w.bat 回车即可,如图 1-2-13 所示。

 

1-2-13  查看 w.bat 文件

 

1.3 汇编程序 MASM 的作用和使用方法

1.3.1 宏汇编程序 宏汇编程序--MASM 汇编就是把用汇编语言编写的源程序翻译成机器语言 的目标程序。其基本工具是汇编程序。可使用小汇编程序(ASM),也可以使用 微软公司产品宏汇编程序(MASM)。

 1.3.2 汇编工具 MASM5.0 使用简介 MASM 5.0 宏汇编程序用于 DOS 环境下,MASM 5.0 是最常用的汇编链接 软件,其简单操作为:使用 MASM 命令将.asm 文件编译为.obj 文件,用 LINK 命令将.obj 文件链接为.exe 文件,如图 1-3-1 所示。

 

汇编源程序文件 *.asm (助记符)

可执行文件 *.exe (二进制指令代码)

目标文件 *.obj (纯二进制的中间 代码)

汇编

masm.exe 工具

编译 链接

link.exe 工具

 

1-3-1  汇编过程

使用 MASM5.0 汇编工具时,不用预先安装,可直接将 MASM5.0 拷贝到 PC 机的磁盘中运行。拷贝时最好放在磁盘的根目录下,这样方便在 DOS 系统操作。 本例程中将 MASM5.0 解压放在 D 盘的根目录下,文件夹命名为 MASM5.0,在 该文件夹中有 MASM.EXE LINK.EXE 两个重要的编译连接文件。

  1. 进入 E:\MYCODE 目录

E 盘根目录下建立一个文件夹 MYCODE,用于存放编写的.asm 文件。若 在此目录下存在可用的 hello.asm 文件,编译和链接此文件的方法如下。编写好 源代码后,进入 DOS 系统打开 E:\MYCODE 所在目录,方法:“开始”“运行”输入 cmd 可进入 DOS 系统,依次输入 E:CD MYCODE,可打开 E:\MYCODE 目录。

 2. 编译 asm 文件

格式:MASM   asm 源文件及路径 1   obj 文件目标路径 2(省去则默认当 前路径)

例如当前目录是MYCODE,而 MASM.exe在宏汇编文件夹D:\MASM5.0中, 要执行 MASM.exe 程序,需要给出 MASM.exe 程序的完整路径名。

 例如当前目录是用户目录 MYCODE,这时的 DOS 命令提示符为:

 

 E:\MYCODE\>

如果有一个汇编语言源程序名字为 HELLO.ASM,要执行 D:\MASM5.0 文件 夹下的 MASM.EXE 程序对汇编源程序 HELLO.ASM 进行汇编,应该在 DOS 令提示符下输入

 

E:\MYCODE\>D:\MASM5.0\MASM HELLO.ASM  回车(键盘输入)

 

在界面输入 D:\MASM5.0\MASM HELLO.ASM 之后连续 3 次回车。程序无 错则在 E:\MYCODE 中增加文件 HELLO.OBJ

  1. 链接 obj 文件

生成的 obj 文件并不是一个可执行文件,还需要经过 LINK 链接之后才能生 .exe 文件。 格式:LINK  obj 文件路径

如:E:\MYCODE\>D:\MASM5.0\LINK HELLO.OBJ  回车(键盘输入)

在界面输入 D:\MASM5.0\LINK. HELLO.OBJ 之后连续 3 次回车,可在 E:\MYCODE 目录下发现一个 hello.exe 文件。 编辑好的源文件需要汇编(用 MASM.EXE 工具),链接(用 Link.EXE 工具) 链接成可执行文件,才能在 PC 上调试或运行。

 

1.3.3 MASM.EXE 的使用

 

MASM.EXE 用于将汇编源程序汇编成目标文件。

 例如:用一个汇编程序说明 MASM.EXE 的使用方法。汇编程序名称为 HELLO.ASM,内容如下:

 DATA SEGMENT

       MSG DB Hello, word.,0DH,0AH,$

 DATA ENDS

 CODE SEGMENT   

   ASSUME CS:CODE,DS:DATA START: MOV AX,DATA   

MOV DS,AX   

    MOV DX,OFFSET MSG    

   MOV AH,09H   

    INT 21H    

   MOV AX,4C00H    

   INT 21H CODE ENDS   

    END START

 输入“masm hello;”指令,指令后的分号表示一切按缺省情况进行。运行后 显示以下内容: Microsoft (R) MASM Compatibility Driver Copyright (C) Microsoft Corp 1993.  All rights reserved.

 

Invoking: ML.EXE /I. /Zm /c hello.asm

 

Microsoft (R) Macro Assembler Version 6.11 Copyright (C) Microsoft Corp 1981-1993.  All rights reserved.

 

Assembling: hello.asm 程序没有语法错误,并生成目标文件 HELLO.OBJ

 

 1.3.4 LINK.EXE 的使用 LINK.EXE 用于将目标文件链接成可执行文件。

 例如:将刚才用 MASM.EXE 汇编出来的目标程序进行链接。目标程序名称 HELLO.OBJ

 

 输入“link hello;”指令,指令后的分号表示一切按缺省情况进行。运行后显 示以下内容:

 

 Microsoft (R) Segmented Executable Linker  Version 5.31.009 Jul 13 1992 Copyright (C) Microsoft Corp 1984-1992.  All rights reserved.

 

LINK : warning L4021: no stack segment 链接警告没有定义栈段,这不影响程序的运行。

 

接下来可以运行 HELLO.EXE,看看显示结果是不是 Hello, world.

 

 

1.4 程序的调试(DEBUG

 

1.4.1 DEBUG的作用

 

DEBUG DOS 提供的用于程序调试的系统,作为 DOS 的外部命令随 DOS 的其它外部命令一起由 DOS 的提供产商向用户提供。因此用户在使用 DEBUG 系统时一定要注意当前用户所使用的 DOS 的外部命令中是否提供该命令(若 DOS 命令不全,有可能没有此命令)。

 

1.4.2 DEBUG的使用

 

由于DEBUGDOS的外部命令,因此必须在DOS的提示符状态下进行调用。 调用的方法如下:

 

E:\MYCODE>DEBUG FILENAME.EXE  回车(键盘输入)

 

此处 FILENAME 应是文件的全名,即应包括文件的主名和扩展名(若文件 有扩展名),如文件不在当前目录,则还因包括文件所存放的目录名。 输入上述命令后若在当前目录中能找到相应的文件,则系统在屏幕的左边显 示一短杠:“-”;若在当前目录中能找不到相应的文件,则系统在屏幕上显示:“file not find”,并在屏幕的左边显示一短杠:“-”。 注意:DEBUG调试程序只能调用当前目录的文件。

 

常用的调试命令如下:

 -u  反汇编;

 

-r  寄存器或片内 RAM 区显示与修改。

 

操作后屏幕显示 CS=XXXX  DS=XXXX  IP=XXXX  AX=XXXX,若需要显示并修改特定寄存器内容,则选择 R 寄存器名回车操作,如 RAX 回车则显示:AX=XXXX,键入回车键,结束该

命令;

 -g =[address1][address2][address3] 

 

执行到断点行, g 格式表示无断点连续运 行程序,连续运行程序中,当遇到断点或按下 Ctrl+C 键时,终止程序运行;

 -t =[address][value] 

单步运行指定的程序。每次按照指定的地址或 IP/PC 示的地址,单步执行一条指令后则显示运行后的 CPU 寄存器情况;

-p =[address][value] 

单步运行命令,类似于 t 命令,可以用于跟踪和调试程 序中的各条指令的命令,同样可以用于单条命令的跟踪,和多条命令的跟踪。不 同的只是该命令对于任何指令(包括过程调用指令)均当成一条指令来处理,因 此对于调试一些诸如像包括有子程序调用、BIOSDOS 功能调用等指令的程序 的时候特别好用;

 -d  显示一段地址单元中的数据。

d 命令执行后屏幕上显示一段地址单元中 的数据,在显示过程中,可用 Ctrl+S 来暂停显示,用任意键继续;也可以用 Ctrl+C 键终止数据显示,返回监控状态;

 -e[address][value] 

编辑指定地址单元中的数据。该命令执行后,则按字节 显示或修改数据,可通过“空格”键进入下一高地址单元数据的修改,使用“- 键则进入下一地地址单元进行数据的修改,并可填入新的数据来修改地址单元的内容。若输入回车,则结束 e 命令。

 -q  退出返回操作系统。

例如,对A1.ASM源文件进行调试,如图1-4-11-4-21-4-3所示。

 

 

1-4-1  A1.ASM 调试和反汇编

 

1-4-2  查看寄存器的内容和查看数据

 

1-4-3  单步调试观察寄存器的值

 

 

四、心得体会:

 

win10系统不能正常使用DOS 只能借助DOSBOX软件来进行操作  这些之前在汇编语言课程已经学过  都是挺简单的操作   EDIT编译比较麻烦  如果有修改 不怎么方便修改,在电脑创建TXT文件 然后在TXT文件打入代码后 在把文件名改成asm文件这样就好运行了

 

 

DOS 输入代码时  要注意英文的符号 和中文的符号有所不同 比如 MSG DB Hello, word.,0DH,0AH,$ 这条语句中 ‘   两个是不同的符号  前者是英文符号 后者是中文符号  DOS系统中 无法识别中文符号,如果打入中文符号 程序就出现报错  MASM之后无法生成.OBJ文件  那么 后面的 link 步骤无法运行  所以也就不能生成且运行.EXE文件

 

 

 

猜你喜欢

转载自blog.csdn.net/qq_41398448/article/details/84109986