文档详情

华北电力大学实验书答案.doc

发布:2017-04-02约1.6万字共21页下载文档
文本预览下载声明
科技学院 课程设计(综合实验)报告 ( 2015 -- 2016 年度第 1 学期) 名 称:汇编语言程序设计综合实验 题 目:汇编语言程序设计综合实验 院 系: 计算机系 班 级: 网络 学 号: 学生姓名: 指导教师: 熊海军 王蓝婧 设计周数: 一 周 成 绩: 日期:2015年 12 月 30 日 实验一 比较字符串sample 一、课程设计DEBUG有关命令的使用方法; 利用DEBUG掌握有关指令的功能;利用DEBUG运行简单的程序段。 进入和退出DEBUG程序; 学会DEBUG中的D命令、E命令、R命令、T命令、A命令、G命令等的使用。对于U命令、N命令、W命令等,也应试一下; 利用DEBUG,验证乘法、除法、加法、减法、带进位加、带借位减、堆栈操作指令、串操作指令的功能。 二、设计(实验)正文 (1)设计思路 通过实现简单的比较字符串的程序初步熟悉汇编程序的编写与功能实现。 (2)程序框图 (3)程序实现 DATAS SEGMENT string1 db Move the cursor backward. string2 db Move the cursor backward. mess1 db Match.,13,10,$ mess2 db No match!,13,10,$ DATAS ENDS CODES SEGMENT ASSUME CS:CODES,DS:DATAS,ES:DATAS,SS:STACKS START: main proc far ;设置堆栈为返回 push ds;保存旧数据段 sub ax,ax;清零 push ax;保存ax ;设置DS寄存器为当前数据段 mov ax,datas;数据段地址 mov ds,ax mov es,ax ;程序的主要部分 lea si,string1;设置串比较命令的初值,将string1的偏移地址放到si中,使si指向string1 lea di,string2 cld;清除方向标志 mov cx,25;进行25次字符比较 repz cmpsb;如果ds:si和es:di所指向的两个字节相等,则继续比较,否则停止循环 jz match lea dx,mess2 jmp short disp match: lea dx,mess1 disp: mov ah,09h int 21h ret;返回DOS main endp CODES ENDS END START (4)实验结果 三、课程设计(综合实验)总结或结论 本次试验利用例1.1比较字符串sample,熟悉了汇编编程环境,掌握了汇编程序的整体结构,为后继实验做了很好的准备。 四、参考文献 [1] 沈美明, 温冬婵.IBM-PC汇编语言程序设计. 清华大学出版社, 第二版. 2003.12 实验二 查找匹配字符串 一、课程设计DATAS SEGMENT keyadr label byte;改变变量类型 keymax db 20 keyact db ? keystring db 20 dup(?);定义一个20字节的缓冲区(关键字) senadr label byte senmax db 50 senact db ? secstring db 50 dup(?);定义一个50字节的缓冲区(句子) messkey db Enter keyword:,$ messsen db 0dh,0ah,Enter Sentence:,$ nomatch db 0dh,0ah,No match,$ match db 0dh,0ah,Match at location:,$ rest db H of the sentence.,$ DATAS ENDS CODES SEGMENT ASSUME CS:CODES,DS:DATAS,ES:DATAS,SS:STACKS START: main proc far push ds xor ax,ax;清零 push ax
显示全部
相似文档