教学文库网 - 权威文档分享云平台
您的当前位置:首页 > 文库大全 > 实用文档 >

2014-汇编-综合实验报告

来源:网络收集 时间:2026-09-11
导读: 综合实验报告 ( 2014 -- 2015 年度第 一 学期) 名 称: 《汇编语言程序设计》综合实验 题 目: 院 系: 班 级: 学 号: 学生姓名:指导教师:设计周数: 成 绩: 日期: 2015 年 1 月 4 日 实验一 一、课程设计(综合实验)的目的与要求 用表格形式显示字符

综合实验报告

( 2014 -- 2015 年度第 一 学期)

名 称: 《汇编语言程序设计》综合实验 题 目: 院 系: 班 级: 学 号: 学生姓名:指导教师:设计周数:

成 绩:

日期: 2015 年 1 月 4 日

实验一 一、课程设计(综合实验)的目的与要求

用表格形式显示字符

按15*16列的表格形式显示ASCⅡ码为10H—100H的所有字符,即以行

为主的顺序及ASCⅡ码递增的次序依次显示对应的字符。每16个字符为一行,每行中的相邻两个字符之间用空白符隔开。

二、设计(实验)正文

(1) 显示每个字符可使用功能号为02的显示输出功能调用: Mov ah,02h

Mov dl,输出字符的ASCⅡ码 Int 21h

将dl初始化为10H,然后使用其加1以取得下一个字符的ASCⅡ码。 (2) 显示空白符是,用其ASCⅡ码置0入dl寄存器。每行结束时,用回车和

换行来结束本行并开始下一行。 (3) 由于逐个显示相继的ASCⅡ码字符是,需要不断修改dl寄存器的内容,

而显示空白、回车、换行也需要使用dl寄存器,为此可使用堆栈保存dx。

三、实验程序及程序运行结果

DATAS SEGMENT DATAS ENDS CODES SEGMENT

ASSUME CS:CODES,DS:DATAS,SS:STACKS START:

MOV AX,DATAS MOV DS,AX mov ax,10h mov dx,ax push dx

next: mov cx,10h loop1: mov ah,02h; int 21h inc dx push dx mov dx,0 int 21h pop dx

loop loop1; zongji:

push dx mov dl,13; int 21h mov dl,10

int 21h pop dx

cmp dx,100h jb next

exit: MOV AH,4CH INT 21H CODES 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:

二、设计(实验)正文

程序由三部分组成:

(1) 输入关键字和一个句子,分别存入相应的缓冲区中。 (2) 在句子中查找关键字

(3) 输出信息。用功能调用09h分‘找到’和‘未找到两种情况分别显示不同

的信息。在“找到”时,显示关键字在字符串中位置。

三、使用说明

根据提示输入关键字和句子,按回车键结束输入。程序将显示字符串中是否含有关键字,有则提示‘match’并显示关键字位置,无则提示‘no match’。 四、实验程序及运行结果

datasg segment para 'data' mess1 db 'Enter keyword:','$' mess2 db 'Enter sentence:','$' stoknkeyword db 10 act1 db ?

stokn1 db 10 dup(?) stoknsenten db 50 act2 db ?

stokn2 db 50 dup(?)

mess3 db 'Match at location:','$' mess4 db 'No match!',0dh,0ah,'$'

mess5 db 'H of the sentence.',0dh,0ah,'$' mess7 db 0dh,0ah,'$' flag dw 0 tongji dw 30h datasg ends

;******************************************************************** codesg segment para 'code' main proc far

assume cs:codesg,ds:datasg,es:datasg start::

mov ax,datasg mov ds,ax mov es,ax

; lea dx,mess1 ;输入字符提示 mov ah,09 int 21h

lea dx,stoknkeyword ;输入字符 mov ah,0ah int 21h

lea dx,mess7 ;输出回车换行 mov ah,09 int 21h loop1:

mov ax,30h mov tongji,ax

lea dx,mess2 ;输出输入句子提示

mov ah,09 int 21h

lea dx,stoknsenten ;输入句子 mov ah,0ah int 21h

lea dx,mess7 ;输入回车换行 mov ah,09 int 21h ;

mov al,act1 cmp al,act2

jg print lea si,stokn1 lea bx,stokn2 loop2:

mov di,bx

mov cl,act1 lea si,stokn1 cld

repz cmpsb jz next inc bx dec act2 jnz loop2 test flag,0ffffh jz print

mov dx,tongji mov ah,02h int 21h

lea dx,mess7 mov ah,09h int 21h jmp loop1 print:

lea dx,mess4 mov ah,09 int 21h mov ah,02h mov dx,tongji int 21h mov ah,09h lea dx,mess7 int 21h

;比较字符长度 ;若act1大于act2则跳 ;吧字符地址给si ;把句子地址给bx ;比较句子中有无字符 ;相等则跳到next ;移到下一字符比较

测试地址有无变化无则输出不匹配 ;输出不匹配语句 ;

jmp loop1 ;返回到loop1重新输入句子 next:

lea dx,mess3 ;输出匹配句子 mov ah,09h int 21h

mov flag,bx ;记录此时匹配的地址 push bx ;匹配地址进栈 lea dx,stokn2 ;获取句子地址

sub bx,dx ;获得字符在句子的位置 inc bx

push cx ;字符长度进栈 mov ch,4 rotate:

mov cl,4 rol bx,cl mov al,bl and al,0fh add al,30h cmp al,3ah jl print2 add al,7h print2:

mov dl,al mov ah,2 int 21h inc bx dec ch

jnz rotate ;二进制转换十六进制 pop cx pop bx tongge:

mov ax,0 mov ax,tongji inc ax

mov tongji,ax

lea dx,mess5 ;输出匹配句子 mov ah,09h int 21h ; mov ah,02h ;mov dx,13 ;int 21h

;mov dx,tongji ;int 21h

;lea dx,mess7

;mov ah,09h ;int 21h tonjijieshu: inc bx

dec act2 ;句子长度减二

jnz loop2 ;若长度不等于0则转loop2继续寻找匹配 shuchu:

;mov dx,tongji ; mov ah,02h ;int 21h jmp loop1 main endp

;-------------------------------------------------------------------- codesg ends

;********************************************************************

end start

实验三分类统计字符个数

一、 实验要求

程序 …… 此处隐藏:8801字,全部文档内容请下载后查看。喜欢就下载吧 ……

2014-汇编-综合实验报告.doc 将本文的Word文档下载到电脑,方便复制、编辑、收藏和打印
本文链接:https://www.jiaowen.net/wenku/1115549.html(转载请注明文章来源)
Copyright © 2020-2025 教文网 版权所有
声明 :本网站尊重并保护知识产权,根据《信息网络传播权保护条例》,如果我们转载的作品侵犯了您的权利,请在一个月内通知我们,我们会及时删除。
客服QQ:78024566 邮箱:78024566@qq.com
苏ICP备19068818号-2
Top
× 游客快捷下载通道(下载后可以自由复制和排版)
VIP包月下载
特价:29 元/月 原价:99元
低至 0.3 元/份 每月下载150
全站内容免费自由复制
VIP包月下载
特价:29 元/月 原价:99元
低至 0.3 元/份 每月下载150
全站内容免费自由复制
注:下载文档有可能出现无法下载或内容有问题,请联系客服协助您处理。
× 常见问题(客服时间:周一到周五 9:30-18:00)