汇编实验报告9907976.docx
- 文档编号:28608661
- 上传时间:2023-07-19
- 格式:DOCX
- 页数:20
- 大小:179.44KB
汇编实验报告9907976.docx
《汇编实验报告9907976.docx》由会员分享,可在线阅读,更多相关《汇编实验报告9907976.docx(20页珍藏版)》请在冰豆网上搜索。
汇编实验报告9907976
(此文档为word格式,下载后您可任意编辑修改!
)
汇编语言程序设计实验报告
题目:
进制转换
学生姓名:
学生学号:
专业班级:
实验时间:
上课老师:
目录
1.实验目的;
2.实验要求和题目;
3.实验原理;
4.实验代码;
5.实验结果;
1、实验目的
(1) 掌握循环程序的设计方法
(2)掌握汇编语言源程序的编辑、汇编、连接及调试过程。
(3)进一步熟悉利用DEBUG程序修改参数的方法,并检查和验证结果的正确性。
(4) 学会针对不同的问题,选用不同的组织循环的方法。
二、实验要求和题目
掌握循环程序的过程和汇编实现原理,进一步熟练掌握DEBUG操作指令以及汇编语言源程序的编辑、汇编、连接及调试过程。
题目:
二进制到十六进制转换程序:
3、实验原理
允许用户从键盘输入0~16个0或1,判断输如以回车(20h)为输入结束,对每一个输入判断为1,还是为0,如果为1,设置cf=1然后带进位左移bx,如果为0,设置cf=0,也是带进位左移bx,bx开始时为0,如果输入10101的话,经过5次移位,bx=10101b了,输入完了后将bx按十六进制方式输出。
4、实验代码:
CODESSEGMENT
ASSUMECS:
CODES
START:
movbx,0
loop1:
clc;此指令清除cf标志位cf=0
movah,1h
int21h
cmpal,0dh;比较是不是回车键
jeprint;如果是表示输入完毕
cmpal,'0'
jzrotate
stc;此指令设置cf为1
rotate:
rclbx,1;注意这里是带进位左移,程序的思想所在
jmploop1
print:
movdl,0dh;接下来的六行指令打印回车和换行,避免输出的覆盖原来的输入
movah,2h
int21h
movdl,0ah
movah,2h
int21h
movcl,4;将bx的二进制数按十六进制显示出来
movch,4
loop2:
rolbx,cl
movdl,bl
anddl,0fh
adddl,30h
cmpdl,3ah
jbloop3
adddl,7h
loop3:
movah,2h
int21h
decch
jnzloop2
exit:
MOVAH,4CH
INT21H
CODESENDS
ENDSTART
5、实验结果:
汇编语言程序设计实验报告
题目:
字符串匹配
学生姓名:
曾惜
学生学号:
专业班级:
计算机科学与技术1102
实验时间:
12月28日
上课老师:
贺建飚
目录
1实验目的;
2实验要求和题目;
3实验原理;
4实验代码;
5实验结果;
1、实验目的
1)掌握串操作指令的使用方法。
2)掌握串处理程序的设计方法。
3)熟练使用各种程序结构。
2、实验要求和题目
掌握循环程序的过程和汇编实现原理,进一步熟练掌握DEBUG操作指令以及汇编语言源程序的编辑、汇编、连接及调试过程。
题目:
编制两个字符串比较子程序根据提示信息,
从键盘输入两个字符串,实现两个字符串的比较。
如两个字符串中有一个字符相同,则显示“MATCH”,否则显示“NOMATCH”
3、实验原理
4、实验代码
DATASEGMENT
MSG1DB'INPUTSTRING1:
',0DH,0AH,'$'
MSG2DB0DH,0AH,'INPUTSTRING2:
',0DH,0AH,'$'
MSG3DB0DH,0AH,'NOMATCH',0DH,0AH,'$'
MSG4DB0DH,0AH,'MATCH',0DH,0AH,'$'
STR1DB25,25DUP(?
)
STR2DB25,25DUP(?
)
DATAENDS
CODESEGMENT'CODE'
ASSUMECS:
CODE,DS:
DATA
START:
MOVAX,DATA
MOVDS,AX
MOVDX,OFFSETMSG1;输入字符串1
MOVAH,09H
INT21H
MOVDX,OFFSETSTR1
MOVAH,0AH
INT21H
MOVDX,OFFSETMSG2;输入字符串2
MOVAH,09H
INT21H
MOVDX,OFFSETSTR2
MOVAH,0AH
INT21H
MOVSI,OFFSETSTR1+2
MOVCL,[SI-1]
AGAIN1:
MOVDI,OFFSETSTR2+2
MOVDL,[DI-1]
MOVBX,00H
AGAIN2:
MOVAL,[SI+BX]
CMPAL,[DI]
JZOUT1
JNZOUT2
OUT1:
INCBX
INCDI
DECDL
CMPDL,00H
JZMATCH
JNZAGAIN2
OUT2:
INCSI
DECCL
CMPCL,00H
JZNOMATCH
JNZAGAIN1
MATCH:
MOVDX,OFFSETMSG4;输出字符串MATCH
MOVAH,09H
INT21H
JMPEXIT
NOMATCH:
MOVDX,OFFSETMSG3;输出字符串NOMATCH
MOVAH,09H
INT21H
EXIT:
MOVAX,4C00H
INT21H
CODEENDS
ENDSTART
5、实验结果
汇编语言程序设计实验报告
题目:
输入字符串分类显示
学生姓名:
曾惜
学生学号:
专业班级:
计算机科学与技术1102
实验时间:
12月28日
上课老师:
贺建飚
目录
1实验目的;
2实验要求和题目;
3实验原理;
4实验代码;
5实验结果;
一、实验目的
学习用汇编语言编写与设计分支循环程序。
二、实验要求和题目
程序接收用户键入的一行字符(字符个数不超过80个,该字符串用回车符结束),并按字母、数字及其他字符分类计数,然后将结果存入以letter、digit和other为名的存储单元中。
三、实验原理
㈠题目(老师给定或学生自定)
分类统计字符个数COUNT_CHAR
㈡设计的主要思路
根据字符的ASCLL对字符进行区分,分为字母、数字和其他字符。
㈢主要功能
程序接收用户键入的一行字符(字符个数不超过80个,该字符串用回车符结束),并按字母、数字及其他字符分类计数,然后将结果存入以letter、digit和other为名的存储单元中。
4、实验代码:
datasgsegment
stringlabelbyte
maxdb80
actdb?
stokndb80dup(?
)
digitdb0
Letterdb0
otherdb0
mess1db'Pleaseinputchars:
','$'
mess2db0dh,0ah,'$'
mess3db'digit:
','$'
mess4db'letter:
','$'
mess5db'other:
','$'
mess6db'h','$'
ndb3
datasgends
;
codesgsegment
assumecs:
codesg,ds:
datasg
COUNT_CHARprocfar
pushds
subax,ax
pushax
movax,datasg
movds,ax
leadx,mess1;输出字符串
movah,09
int21h
leadx,string
movah,0ah;换行
int21h
leadx,mess2
movah,09h;输出字符串
int21h
leasi,stokn
subch,ch
movcl,act
again:
;判断ASCLL
moval,[si]
cmpal,30h
jlother1
cmpal,3ah
jldigit1
cmpal,41h
jlother1
cmpal,5bh
jlletter1
cmpal,61h
jlother1
cmpal,7bh
jlletter1
other1:
;处理其他字符,计数加一
incother
incsi
loopagain
jmpprint
digit1:
;处理数字,计数加一
incdigit
incsi
loopagain
jmpprint
letter1:
;处理字母,计数加一
incletter
incsi
loopagain
print:
movch,2
movbl,digit
leadx,mess3
movah,09
int21h
rotate:
;转换16进制
movcl,4
rolbl,cl
moval,bl
andal,0fh
addal,30h
cmpal,3ah
jlprint1
addal,7h
print1:
movdl,al
movah,2
int21h
decch
jnzrotate
leadx,mess6
movah,09
int21h
decn
cmpn,2
jzletter2
cmpn,1
jzother2
jmpexit
letter2:
leadx,mess4
movah,09
int21h
movch,2
movbl,letter
jmprotate
other2:
leadx,mess5
movah,09
int21h
movch,2
movbl,other
jmprotate
exit:
;结束退出
ret
COUNT_CHARendp
codesgends
endCOUNT_CHAR
5、实验结果:
1、实验目的:
1)掌握串操作指令的使用方法。
2)掌握串处理程序的设计方法。
3)熟练使用各种程序结构。
2、实验要求
运用DOS系统功能的1号功能输入并保存N值。
计数器置零。
然后用循环结构,每一次循环输出一个响铃命令,并让计数器自加1,直到计数器数值达到N,便完成了响铃N次的目标。
三、实验原理
四、实验代码:
codeSEGMENT
ASSUMECS:
code
start:
MOVAH,1
INT21h
MOVAH,0
MOVCX,AX
begain:
MOVDL,7
MOVAH,2
INT21h
LOOPbegain
MOVAH,4ch
INT21h
codeENDS
END
5、实验结果:
(运行的铃声要怎么截图。
。
。
。
)
一、实验目的:
1、了解并逐步熟悉汇编语言的编辑方法及特点
2、复习8088汇编语言的段结构、常用的指令与伪指令、存储空间的分配等。
3、掌握汇编语言的编辑、汇编及连接的过程。
4、了解并逐步掌握运用DEBUG进行调试汇编语言程序。
5、掌握循环结构程序的设计编程
二、实验要求
输入一组原数组,按冒泡排序的方法输出排序后的数组。
三、实验原理
四、实验代码:
DATASEGMENT
ADW1234H,1844H,1763H,1FD6H,5BFFH
BDB'YUANSHUZU$'
EDB'PAIXUHOUDESHUZU$'
DATAENDS
CODESEGMENT
ASSUMECS:
CODE,DS:
DATA
START:
movAX,DATA
MOVDS,AX
MOVDX,OFFSETB
MOVAH,9
INT21H
MOVDL,10
MOVAH,2
INT21H
MOVDL,13
INT21H
CALLXS
LP1:
LEASI,A
ADDSI,9
MOVBL,0
MOVCX,4
LP2:
DECSI
MOVAX,[SI]
CMPAX,[SI-2]
JNGLP3
XCHGAX,[SI-2]
MOV[SI],AX
MOVBL,1
LP3:
DECSI
LOOPLP2
CMPBL,0
JNELP1
MOVDX,OFFSETE
MOVAH,9
INT21H
MOVDL,10
MOVAH,2
INT21H
MOVDL,13
INT21H
CALLXS
MOVAH,4CH
INT21H
XSPROCNEAR
MOVDI,OFFSETA
movsi,5
LOP1:
MOVBX,[DI]
MOVch,4
con:
MOVCL,4
ROLbx,CL
MOVAL,BL
andal,0Fh;屏蔽高4位
cmpal,9
jleasci
addal,07h
asci:
addal,30h;转换对应数字的ASSCII码
movah,02H
movdl,al
int21h;显示该数字
DECch
JNECON
MOVDL,48H
INT21H
decsi
cmpsi,0
jenext
MOVDL,2CH
INT21H
INCDI
INCDI
looplop1
NEXT:
MOVDL,10
INT21H
MOVDL,13
INT21H
RET
XSENDP
CODEENDS
ENDSTART
五、实验结果
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 汇编 实验 报告 9907976