微机原理实验标准实验报告
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
实验一汇编语言上机实验
实验目的:
1、学习及掌握汇编语言源程序的书写格式和要求。
2、学会使用EDIT、MASM、LINK、DEBUG等软件工具。
3、熟练掌握在计算机上编辑、汇编、连接及运行汇编语言程序的方法。
实验仪器:
1、微型计算机一台(带DOS或WINDOWS操作系统)
2、MASM开发套件
实验原理:
1、调试程序DEBUG能进行汇编程序调试。
2、DOS功能调用
为了使用方便,将DOS层功能模块所提供的88个子程序统一顺序编号从00H到57H。DOS系统功能调用方式如:
(1)将子程序编号送入AH寄存器;
(2)置入口参数;
(3)执行中断指令:INT 21H。
实验步骤:
1、通过DEBUG编写、运行汇编程序
(1)DEBUG程序的启动
在DOS操作系统状态下,可直接调入DEBUG程序,键入命令格式如下:
A或C>DEBUG[d:][path][filename[.exe]
在启动DEBUG时,如果输入了文件名(filename),则DEBUG程序把指定文件装入内存。
(1)(2)键入程序并汇编
用DEBUG的A命令送入程序(下划线部分为程序员输入部分):
E:\huibian>debug↙
-a↙
1387:0100 mov al,32↙
1387:0102 mov dl,34↙
1387:0104 add dl,al↙
1387:0106 sub dl,30↙
1387:0109 mov ah,2↙
1387:010B int 21↙
1387:010D int 20↙
1387:010F↙
-
(要求学生截图)
当键入A命令时,自动产生所送内存单元的段地址和偏移地址。通过偏移地址可以看到每条指令占有内存单元多少个字节,当程序段键完后,只键入回车键,就退出汇编状态,回到DEBUG状态‘—’。其中送入数据为十六进制数,不需要键入H。
(2)将汇编程序段存入磁盘,其中‘e1’为文件名。
-n e1↙
-r cx↙
CX 0000
:000d↙
-w↙
Writing 0000D bytes↙
-
(要求学生截图)
(3)反汇编
可以用反汇编U命令将键入的程序调出,并且可以得到每条汇编指令的机器码。-u 100 10d↙
1387:0100 B032 MOV AL,32
1387:0102 B234 MOV DL,34
1387:0104 00C2 ADD DL,AL
1387:0106 80EA30 SUB DL,30
1387:0109 B402 MOV AH,02
1387:010B CD21 INT 21
1387:010D CD20 INT 20
-
(要求学生截图)
(4)执行程序
用DEBUG的G命令执行刚刚汇编的程序:
-g =100 10d↙
6
AX=0236 BX=0000 CX=000D DX=0036 SP=FFEE BP=0000 SI=0000 DI=0000 DS=1387 ES=1387 SS=1387 CS=1387 IP=010D NV UP EI PL NZ NA PE NC 1387:010D CD20 INT 20
(要求学生截图)
(5)-退出DEBUG返回DOS状态,输入q命令,回车。
-q↙
E:\huibian>
2、在屏幕上显示“Hello,world!”
(1)设定源程序的文件名为ABC.ASM。文件中的程序为:
DA TA SEGMENT
BUF DB 'Hello, world !$'
DA TA ENDS
STACK SEGMENT STACK
DW 36 DUP(?)
STACK ENDS
CODE SEGMENT
ASSUME CS:CODE,DS:DA TA,SS:STACK
START: MOV AX,DA TA
MOV DS,AX
MOV DX,OFFSET BUF
MOV AH,9
INT 21H
MOV AH,4CH
INT 21H
CODE ENDS
END START
(2)、在DOS状态下键入以下命令:C:\MASM> EDIT ABC.ASM
此时屏幕的显示状态如下图所示。
进入EDIT后,屏幕的第一行是菜单栏。可以选用Alt键激活菜单,然后用光标和回车键选择所需功能项,在弹出下拉菜单中选择所需功能,或按Esc键退出菜单选择,用File 主菜单下的“Save”存盘功能保存文件。最后通过选择File菜单下的Exit项退出EDIT编辑环境。
(3)将源程序文件汇编成目标程序文件
C:\MASM> MASM ABC.ASM
源程序建立以后,在DOS状态下,采用宏汇编程序MASM对源程序文件进行汇编,屏幕显示如下图。
(4)用连接程序生成可执行程序文件
经汇编以后产生的目标程序文件(.OBJ文件)并不是可执行程序文件,必须经过连接以后,才能成为可执行文件(即扩展名为.EXE)。
C:\MASM>LINK ABC
连接过程如下图所示。
(5)程序的执行
当我们建立了正确的可执行文件以后,就可以直接在DOS状态下执行该程序。
C:\MASM> ABC.EXE
如下图所示。
3、程序改错:
源程序:
data segment
out1 db 'Hello world'
ax db 'My name is DJX'
data ens
code segment