好文档 - 专业文书写作范文服务资料分享网站

微机原理及汇编语言程序设计实验一

天下 分享 时间: 加入收藏 我要投稿 点赞

如有帮助,欢迎支持。

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

一、实验目的及要求

1.学习及掌握汇编语言源程序的书写格式和要求,明确程序中各段的功能和相互之间的关系。 2.学会使用EDIT、MASM、LINK、DEBUG等软件工具。 3.熟练掌握在计算机上建立、汇编、连接、调试及运行程序的方法。

二、实验内容

1.汇编语言源程序的建立

本例中给出的程序是要求从内存中存放的10个无符号字节整数数组中找出最小数,将其值保存在AL寄存器中。设定源程序的文件名为ABC。

DATA DATA STACK STACK CODE START: LP: NEXT: CODE

SEGMENT

BUF DB 23H,16H,08H,20H,64H,8AH,91H,35H,2BH,7FH CN EQU $-BUF ENDS

SEGMENT STACK ’STACK’ STA DB 10 DUP(?) TOP EQU $-STA ENDS

SEGMENT

ASSUME CS:CODE,DS:DATA,SS:STACK PUSH DS XOR AX,AX PUSH AX

MOV AX,DATA

MOV DS,AX MOV BX,OFFSET BUF MOV CX,CN DEC CX MOV AL,[BX] INC BX CMP AL,[BX] JBE NEXT MOV AL,[BX] INC BX DEC CX JNZ LP MOV AH,4CH INT 21H ENDS END START

键入以下命令:

1

如有帮助,欢迎支持。

C:\\>EDIT ABC.ASM

此时屏幕的显示状态如图1所示。

图1 用EDIT编辑ABC.ASM程序窗口

程序输入完毕后一定要将源程序文件存入盘中,以便进行汇编及连接,也可以再次调出源程序进行修改。

2. 将源程序文件汇编成目标程序文件

一般情况下,MASM汇编程序的主要功能有以下3点: (1)检查源程序中存在的语法错误,并给出错误信息。

(2)源程序经汇编后没有错误,则产生目标程序文件,扩展名为.OBJ。 (3)若程序中使用了宏指令,则汇编程序将展开宏指令。

源程序建立以后,在DOS状态下,采用宏汇编程序MASM对源程序文件进行汇编,其操作过程如图2所示。

图2 MASM宏汇编程序工作窗口

汇编过程的错误分警告错误(Warning Errors)和严重错误(Severe Errors)两种。其中警告错误是

2

如有帮助,欢迎支持。

指汇编程序认为的一般性错误;严重错误是指汇编程序认为无法进行正确汇编的错误,并给出错误的个数、错误的性质。这时,就要对错误进行分析,找出原因和问题,然后再调用屏幕编辑程序加以修改,修改以后再重新汇编,一直到汇编无错误为止。

3.用连接程序生成可执行程序文件

经汇编以后产生的目标程序文件(.OBJ文件)并不是可执行程序文件,必须经过连接以后,才能成为可执行文件(即扩展名为.EXE)。

连接过程如图3所示。

图3 LINK连接程序工作窗口

上述提示行回答以后,连接程序开始连接,如果连接过程中出现错误,则显示出错误信息,根据提示的错误原因,要重新调入编辑程序加以修改,然后重新汇编,再经过连接,直到没有错误为止。连接以后,便可以产生可执行程序文件(.EXE文件)。

4.程序的执行

当我们建立了正确的可执行文件以后,就可以直接在DOS状态下执行该程序。 如:C:\\>ABC

本程序当中没有用到DOS中断调用指令,所以在屏幕上看不到程序执行的结果。 我们可以采用调试程序DEBUG来进行检查,相关内容请参见实验二。

三、实例分析

下面通过一个汇编语言源程序的实际例子,来了解汇编语言源程序的建立、汇编、连接、运行的完整过程。给出的程序是从键盘输入10个字符,然后以与键入相反的顺序将10个字符输出到显示屏幕上。设定源程序名为STR.ASM。

1.用EDIT建立汇编语言源程序

在DOS状态下,调用EDIT编辑程序建立文件名为STR.ASM的汇编源程序,如图4所示。

3

如有帮助,欢迎支持。

图4 用EDIT建立汇编语言源程序

2.用MASM汇编生成目标文件

源程序文件建立完毕后,调用宏汇编程序MASM对STR.ASM进行汇编,如图5所示。

图5 用MASM汇编生成目标文件

3.用LINK进行连接生成可执行文件

汇编完毕,程序正确,则可调用LINK进行连接,以生成可执行文件STR.EXE,连接过程如图6所示。

图6 用LINK连接生成可执行文件

4.程序的运行

在DOS状态下,直接键入可执行的程序文件名STR,然后从键盘输入“0123456789”10个数字,

4

如有帮助,欢迎支持。

输入回车键后,计算机将10个数字倒序排列输出,即“9876543210”。再次键入可执行的程序文件名STR,从键盘输入“abcdefghIj”10个字符,输入回车键后,计算机将10个字符倒序排列输出,即“jihgfedcba”。

运行过程及其结果如图7所示。

图7 程序的运行状态及结果

参考程序:显示字符串

data segment

msg db 'hello world!',0dh,0ah,24h

data ends

stack segment stack 'stack'

db 16 dup('stack')

stack ends

code segment

assume cs:code,ds:data,ss:stack

main proc far

start: mov ax,data ;初始化数据段

mov ds,ax mov dx,offset msg ;字串首地址送DX

mov ah,09h ;调用DOS系统功能 int 21h ;显示字串 mov ax,4c00h ;返回DOS int 21h

main endp code ends end start

5

微机原理及汇编语言程序设计实验一

如有帮助,欢迎支持。实验一汇编语言上机环境及基本操作一、实验目的及要求1.学习及掌握汇编语言源程序的书写格式和要求,明确程序中各段的功能和相互之间的关系。2.学会使用EDIT、MASM、LINK、DEBUG等软件工具。3.熟练掌握在计算机上建立、汇编、连接、调试及运行程序的方法。二、实验内容
推荐度:
点击下载文档文档为doc格式
5i4324lp451jxus0hkxz44s0w0d4ij00w52
领取福利

微信扫码领取福利

微信扫码分享