华北电力大学汇编实验报告.docVIP

  • 24
  • 0
  • 约7.5千字
  • 约 13页
  • 2017-04-08 发布于贵州
  • 举报
华北电力大学汇编实验报告华北电力大学汇编实验报告

华北电力大学 实 验 报 告 | | 实验名称 汇编语言程序设计实验 课程名称 IBM-PC汇编语言程序设计 | | 专业班级:计科1103 学生姓名:李庆贺 学 号: 201109010307 成 绩: 指导教师: 王保义 实验日期:1月 实验一 用表格形式显示字符 实验要求 按15*16列的表格形式显示ASCⅡ码为10H—100H的所有字符,即以行为主的顺序及ASCⅡ码递增的次序依次显示对应的字符。每16个字符为一行,每行中的相邻两个字符之间用空白符隔开。 设计说明 显示每个字符可使用功能号为02的显示输出功能调用: Mov ah,02h Mov dl,输出字符的ASCⅡ码 Int 21h 将dl初始化为10H,然后使用其加1以取得下一个字符的ASCⅡ码。 显示空白符是,用其ASCⅡ码置0入dl寄存器。每行结束时,用回车和换行来结束本行并开始下一行。 由于逐个显示相继的ASCⅡ码字符是,需要不断修改dl寄存器的内容,而显示空白、回车、换行也需要使用dl寄存器,为此可使用堆栈保存dx。 实验程序及调试结果 prognam segment main proc far assume cs:prognam start: mov ah, 02h mov dl, 10h ;设置初始输出为ASCII的10h mov bl, 15 ;输出显示为15行 e: mov cx, 16;设置循环次数,16,表示输出显示为16列 l: int 21h ;显示输出 push dx ;推入堆栈 mov ah, 02h mov dl, 0 int 21h mov ah, 02h mov dl, 0 int 21h ;显示空白符 pop dx ;将栈顶元素推出 inc dl ;设置下一个元素 loop l ;循环输出每行的16个ASCII元素 push dx ;将下一行的首元素推入堆栈 mov ah, 02h mov dl, 0dh int 21h mov ah, 02h mov dl, 0ah int 21h ;输出换行 pop dx ;将栈顶元素推出 dec bl cmp bl, 0 ;比较确定是否已经输出15行元素 jne e ;若还未完成输出,则跳转至e,继续进行下一行元素的输出 je exit ;否则退出程序 exit: mov ax, 4c00h int 21h main endp prognam ends end ; start 实验二 查找匹配字符串 实验要求 程序接受用户键入的一个关键字以及一个句子,如果句子中不包含关键字则显示“No match!”;如果句子中包含关键字则显示“match!”,且把该字在句子中的位置用十六进制数显示出来。要求程序的执行过程如下: Enter keyword:abc Enter sentence:we are studying abc Match at location:11H of the sentence Enter sentence:xyz No match! Enter sentence: 设计说明 程序由三部分组成: 输入关键字和一个句子,分别存入相应的缓冲区中。 在句子中查找关键字 输出信息。用功能调用09h分‘找到’和‘未找到两种情况分别显示不同的信息。在“找到”时,显示关键字在字符串中位置。 使用说明 根据提示输入关键字和句子,按回车键结束输入。程序将显示字符串中是否含有关键字,有则提示‘match’并显示关键字位置,无则提示‘no match’。 实验程序 datarea segment ;输入数据段 keyadr label byte keymax db 20 keyact db ? keys

文档评论(0)

1亿VIP精品文档

相关文档