华北电力大学
实验报告
实验名称汇编语言程序设计实验
课程名称IBMPC汇编语言程序设计
专业班级:
学生姓名:
学号:成绩:
指导教师:
实验日期
119
f实验一用表格形式显示字符
一、实验要求
按1516列的表格形式显示ASCⅡ码为10H100H的所有字符,即以行为主的顺序及ASCⅡ码递增的次序依次显示对应的字符。每16个字符为一行,每行中的相邻两个字符之间用空白符隔开。
二、设计说明
(1)显示每个字符可使用功能号为02的显示输出功能调用:Movah02hMovdl输出字符的ASCⅡ码I
t21h将dl初始化为10H,然后使用其加1以取得下一个字符的ASCⅡ码。
(2)显示空白符是,用其ASCⅡ码置0入dl寄存器。每行结束时,用回车和换行来结束本行并开始下一行。
(3)由于逐个显示相继的ASCⅡ码字符是,需要不断修改dl寄存器的内容,而显示空白、回车、换行也需要使用dl寄存器,为此可使用堆栈保存dx。
三、实验程序及调试结果
CODESSEGMENTmai
procfar
ASSUMECSCODESSTART
pushdssubaxaxpushax
movdi15movdl10hloomovcx16
extmovah02hi
t21hi
cdlpushdxmovdl0movah02hi
t21hpopdxloop
extpushdxmovdl0dhmovah02h
219
fi
t21hmovdl0ahmovah02hi
t21hpopdxdecdij
eloojeexitexitretmai
e
dpCODESENDSENDSTART
实验二查找匹配字符串一、实验要求
程序接受用户键入的一个关键字以及一个句子,如果句子中不包含关键字则显示“Nomatch”;如果句子中包含关键字则显示“match”,且把该字在句子中的位置用十六进制数显示出来。要求程序的执行过程如下:E
terkeywordabcE
terse
te
cewearestudyi
gabcMatchatlocatio
11Hofthese
te
ceE
terse
te
cexyzNomatchE
terse
te
ce
二、设计说明
程序由三部分组成:(1)输入关键字和一个句子,分别存入相应的缓冲区中。(2)在句子中查找关键字(3)输出信息。用功能调用09h分‘找到’和‘未找到两种情况分别显示不同的信息。
在“找到”时,显示关键字在字符串中位置。
319
f三、使用说明
根据提示输入关键字和句子,按回车键结束输入。程序将显示字符串中是否含有关键字,有则提示‘match’并显示关键字位置,无则提示‘
omatch’。
四、实验程序
DATASSEGMENTparadata
mess1dbmatch1310
mess2db
omatch1310
mess3dbe
terkeyword
mess4dbe
terse
te
ce
mess5dbmatchatlocatio
mess6dbHofthese
te
ce
stok
imlabelbyte
maxdb10
actdb
stok
db10dup
se
te
celabelbyte
madb100
acdb
stodb100dup
DATASENDS
STACKSSEGMENT
此处输入堆栈段代r