微机原理实验报告

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

实验一汇编语言的编译、链接和调试

一、实验目的

1、学会使用masm对汇编源程序进行编译、链接、调试、运行。

2、掌握汇编语言的程序格式。

3、巩固所学的汇编语言指令。

二、实验环境

1、硬件:PC 微机

2、软件:宏汇编MASM 软件

三、实验原理

1、汇编语言程序的上机与处理过程

2、汇编语言的程序格式

(1)汇编程序一般由若干段组成,每个段都有一个名字,以SEGMENT作为段的开始,以ENDS作为段的结束,这两者前要冠以相同的名字作为段名。

(2)代码段和堆栈段必不可少,数据段和附加段可根据需要设置。堆栈段的SEGMENT之后有关键字STACK。代码段中有伪指令ASSUME告诉汇编程序,在各种指令执行时所要访问的各段寄存器将分别对应哪一段。

(3)源程序的每一段是由若干行汇编语句组成,每一行只有一条语句,且不能超过128个字符,但一条语句允许有后续行,最后均以回车结束。

(4)整个源程序必须以END语句结束,它通知汇编程序停止汇编。

四、实验内容

进入DOS环境中相应的目录下。

如汇编软件的文件来为:D:\MASM,则对应的操作为

(1)选择windows的“开始”→“程序”→“附件”→“命令提示符”

(2)在DOS命令提示符下输入如下命令(其中带下划线部分为输入内容)。

C:\Documents and Settings\new>D:

D:\>CD MASM

D:\MASM>EDIT TEXT.ASM

进入编辑程序,在其环境下输入编好的源程序,然后在盘上生成一个扩展名为.asm的文件。程序示例

DATA SEGMENT

DA1 DB 10H,20H,30H,40H

DA2 DB 0F0H,0B0H,0A0H,90H

DA3 DB 00H,00H,00H,00H

DATA ENDS

STACK1 SEGMENT PARA STACK

DB 10 DUP(?)

STACK1 ENDS

CODE SEGMENT

ASSUME CS:CODE,DS:DATA,SS:STACK1

START: MOV AX,DATA

MOV DS,AX

MOV AL,[DA1]

ADD AL,[DA2]

MOV [DA3],AL

MOV AL,[DA1+1]

ADC AL,[DA2+1]

MOV [DA3+1],AL

MOV AL,[DA1+2]

ADC AL,[DA2+2]

MOV [DA3+2],AL

MOV AL,[DA1+3]

ADC AL,[DA2+3]

MOV [DA3+3],AL

CODE ENDS

END START

3. 用宏汇编程序MASM,将扩展名为.ASM的源程序汇编成目标程序,即生成盘上扩展名为.OBJ的文件。若编过程出现错误,则无法生成目标程序,需要回到编辑程序进行修改,修改后重新汇编直到无错出现。

4. 用连接程序LINK,将扩展名为.OBJ的目标程序连接装配成可执行文件,即在盘上生成扩展名为.EXE的文件。

5. 用调试程序DEBUG,调试扩展名为.EXE的文件。

1)用-N 命令指定要调试程序名称。

2)用-L 命令调入程序。

3)用-U 命令反汇编看看是不是刚才写入的程序。

4)反复用-T命令单步执行程序,认真观察每一步执行后的寄存器的值和相关存储器单元

内容的变化情况。(任意记录连续的3次显示情况)

5)执行完相关的程序段后,用-D DS:0000命令观察记录开始的12个字节内容。

6)总结该程序实现了什么功能,考虑用循环的方式改写程序调试。

五、实验报告要求

1、程序说明:说明程序的功能、结构、包括:程序名、功能、算法说明、主要符号,并对所用到的寄存器进行说明。

2、调试说明:包括上机调试的情况、上机调试步骤、调试过程中所遇到的问题是如何解决的,并对调试过程中的问题进行分析,对执行结果进行分析。

实验二顺序程序、分支程序编程实验

一、实验目的:

学习掌握顺序程序、分支程序的编写。

二、实验内容:

编写一个程序,在屏幕上显示:Input one number:

然后输入一个数字(0-9)

当输入的数大于4,屏幕显示:It’s big!

当输入的数小于等于4,屏幕显示:It’s small!

当输入的数不是数字,屏幕显示:It’s not number!

提示:可以将显示内容设置为一个数据段中的三个字符串:

程序基本结构框架可为:

DATA SEGMENT

STR DB ‘Input one number:$’

STR1 DB ‘It’s big!$’

STR2 DB ‘It’s small!$’

STR3 DB ‘It’s not number!$’

DATA ENDS

STACK1 SEGMENT PARA STACK

DB 20H DUP(?)

STACK1 ENDS

CODES SEGMENT

ASSUME CS:CODES,SS:STACK1,DS:DATA

START:MOV AX,DATA

MOV DS,AX

MOV AH,4CH

INT 21H

CODES ENDS

END START

利用DOS功能调用来完成输入数据、屏幕显示字符串来完成。

三、实验要求:

1、编写好程序,再上机调试。

2、记录调试成功通过的源程序。

3、画出源程序对应的程序流程图。

4、说明程序中用到了哪几个DOS系统功能,分别是什么功能。

相关文档
最新文档