微机实验1.docx
《微机实验1.docx》由会员分享,可在线阅读,更多相关《微机实验1.docx(3页珍藏版)》请在冰豆网上搜索。
![微机实验1.docx](https://file1.bdocx.com/fileroot1/2023-1/29/19211ee7-dc8f-45d0-ab0a-62bd2e07b71e/19211ee7-dc8f-45d0-ab0a-62bd2e07b71e1.gif)
微机实验1
实验一:
汇编语言的调试
一.实验目的
学习程序设计的基本方法和技能,熟练掌握用汇编语言设计、编写、调试和运行程序的方法。
二.实验设备
1.PC微机一台
三.实验内容、步骤
1、汇编语言程序上机操作方法实验
举例如下:
例1.1比较字符串bjchx
试编写一程序,比较两个字符串string1和string2所含的字符是否相同,若相同则显示‘Match’,否则,显示‘Nomatch’。
我们可以用串比较指令来完成题目所要求的功能。
上机过程如下:
(1)建立asm文件
在windows系统环境下,应用写字板编辑程序建立源文件。
(2)用汇编程序MASM对源文件汇编产生目标文件.OBJ
在windows环境下,点击masm文件,而后输入.asm的文件名:
C:
>MASMABC.ASM↙
如汇编指示出错则需重新调用编辑程序修改错误,直到汇编通过为止。
如调试时需要用Lst文件,则应在汇编过程中建立该文件。
(3)用连接程序LINK产生可执行文件EXE
在windows环境下,点击link文件,而后输入*.obj的文件名:
C:
>LINKABC.OBJ↙
(4)执行程序
在windows环境下,点击*.exe文件运行程序,也可在dos的环境下执行程序如下:
C:
>ABC↙
Match.
屏幕终端上显示出程序运行结果。
四、软件流程图和程序清单
datareasegment
string1db'Iamateacher'
string2db'Iamastudent'
yesdb'MATCH$'
nodb'NOMATCH$'
datareaends
codesegment
mainprocfar
assumecs:
code,ds:
datarea,es:
datarea
start:
pushds
subax,ax;ax清零
pushax
movax,datarea
movds,ax
moves,ax
begin:
leasi,string1;装入string1地址到si中
leadi,string2;装入string2地址到di中
movcx,string2-string1;比较字符
repecmpsb
jnediffer;不同则跳转
leadx,yes
movah,9
int21h
ret
differ:
leadx,no
movah,9
int21h
ret
mainendp
codeends
endstart
【调试说明】
六.实验心得
第一次做微机实验,学习程序设计的基本方法和技能,了解了用汇编语言设计、编写、调试和运行程序的方法。
对于指令,我还有很多不能理解的地方,希望在以后的实验里可以学到更多!