版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
中南大学
汇编实验报告
学院:信息科学与工程学院
班级:计科工试1501班
学号:__________________________
姓名:______________张雨欣_______________
指导老师:______________雷向东____________________
完毕时间:2023.06.09
目录
实验一、判断素数.............3
实验二、判断单词个数..........9
实验三、数组元素排序..........13
心得体会.......................21
实验一、判断素数
一、实验内容
根据从键盘输入的数字判断其是否是素数,并在屏幕上打
出判断结果。
二、算法分析
调用子程序判断素数
思绪:只能被1和它自身整除的数叫做素数,假设输入数
X(十进制)
1.先将我们输入的字符转换为10进制相应的数存入BX
2.判断是否小于2:假如这个数是2或1,则一定是素数
3.从2开始除到X-1,判断每一次的余数是否为0
4.若有一次的余数为0,则不是素数
5.若余数都不为0,循环次数为X-2,则是素数
三、源代码
datasegment
valdb'Thedataisaprimenumber!$'
va2db'-l$'
dataends
codesegment
assumecs:code/ds:data
start:
movax,data
movds,ax
cal1decibin;段内调用子程序
callcrlf
calljudge
callcrlf
movah,4ch
int21h
decibinprocnear;子程序从键盘接受十进制
movbx,0
newchar:
movah,1
int21h
suba1,30h;转为十进制
jlexit;小于0退出
cmpa1,9
jgexit次于9退出
cbw
xchgax,bx;将ax和bx中的内容互换
movex,10
mu1ex
xchgax,bx
addbx,ax
jmpnewchar
exit:
ret
decibinendp
judgeprocnear;判断程序
movcx,bx
subex,2
empbx,2
jleprint1
movd1,1
Jud:
movax,bx
incd1
divdl
empah,0
jzprint2
loopjud
jmpprintl
printl:
movah,09h
leadx,val
int21h
ret
print2:
movah,09h
leadx,va2
int21h
ret
judgeendp
crlfprocnear
movdl,Odh
movah,2h
int2lh
movdl,Oah
movah,02h
int21h
ret;返回
crIfendp
codeends
endstart
三、结果演示
置DOSBox0.74,Cpuspeed:3000cycles,Frameskip0,Program:DW...I巳
hedataisaprimenumber?
Pressanykeytocontinue_
蹴DOSBox0.74,Cpuspeed:3000cycles,Frameskip0,Program:DW...三回应
1/
1
Pressanykeytocontinue
实验二、判断单词个数
一、实验内容
给定句子,编写程序判断句子中单词的个数。
二、算法分析
设立bl标志位,当bl为1时表达当前元素是字母。设立循环
判断每一位的元素是否在二十六个字母的大小写范围内。运用
Si拟定到每一位元素,设立多个跳转条件。每判断一次就让
si力口一o
三、源代码
.mode1sma11
.data
stringdb"hello,theworld!”
endstringdb?
.code
mainprocfar
movax,@data
movds,ax
movex,(offsetendstring-offsetstri
ng)
movdl,0
movbl,0;标志位为1是字母
movsi,offsetstring
again:
cmpb1,0
jnz11;zf不为1跳转
moval,[si]
cmpal,'A'
jb14
cmpal,'Z'
ja13
movb1,1
incdl
jmp14
13:
cmpa1,'a'
jb14
cmpal,'z
ja14
movbl,1
incdl
jmp14
11:
moval,Esi]
cmpa1,'A'
jae15
movb1,0
jmp14
15:
cmpal,'Z'
jbe14
cmpa1,'a'
jae17
movb1,0
jmp14
17:
cmpa1,'z'
jbe14
movbl,0
14:
incsi
loopagain
adddl,30h
movah,2h
int21h
movax,4c00h
int21h
mainendp
end
四、运营测试
Xtt®gfy(8)TJUQ)ttffilH)
n
jiff停存R»1帖帖宣投3SKMifitt我袤AiKtiS
modelsnailnsngQ
.data
stringdb-hello,theworld*-特别提M・
endstringdb?
.code1同步*出OM«EeXtorWi>,fl(质实给落筑•
nainprocfar、事学的gech.CK*开设系短软件•用
AOUax.(Mata
nonds.ax户只要佥W.N.就可以轻松地学会侵肾它,
nouex.(offsetendstringoffsetstring)从百方♦增遂行(支总■««听6kcthe.C,.O)
nowdl,0的学习,为用户if一步学习军*ffhos开发打不食好的
:产者.侄为是字母
novbl.01ata-实・痛Rtt北的*想・
>由挎作1聆novsi.offsetstring
・曲褓修搐令jgain:2代伴支构DOSZ编(柒用\££XE6MJ»>•
,汇嚼《蝴泠enpbl.0WMws汇缰<亲用MLIXEi14M>
t曲nwm乐
Jnz11;”不为1跳转JrsBMW\v.«d«,xpacj:natiHA
*nmc*s匚!«其洌*祖用nou41,[si]5
防】勾送康通项即可,作用:就决在“位、,位、Veto-,-
MS功却用我(剜I)
”笛功蜀国用累(免费)及Windcw,8消IB看模堤街上不住王拿运行票弱给83,日
KBIK榆吟(免照)乐等汇境程序制魅。
,“(1息窗a-的作用:用户在图写程序的过程中亶面
£*»$(、DOS功度点冏褰、BIOS功能溷咫泉、控制字
n'ASCT#«*、查・1Zm列去文件1«<«•
5“信息第口”的使用方法是:依次・击打开“软件
•然乐双击要打开的内杏・就可
以在信复窗口H不谈内容,
C\Vren\Aix\Ilesktop\hh.ax>
当第81的急行假:59行号7列号T4安阳工希计算机科学与值制工尊用N求民
圈DOSBox0.74,Cpuspeed:3000cycles,Frameskip0,Program:DW...|_Q回用
Pressanykeytocontinue_
实验三、数组元素排序
一、实验内容
实现从键盘输入两个数字并存入数组中,对数组中元素进
行排序并打印在屏幕上。
二、算法分析
对于从键盘输入的每个数字都将其存进数组的一个内存
单元中,并将数组第一个元素的有效地址置入DI,之后采用冒
泡排序算法对数组元素进行排序。
二、源代码
CODESEGMENT
ASSUMECS:CODE
ORG100H
START:
PUSHCS
POPDS
PUSHCS
POPES
CALLINPUTNUM
MOVAX,NUM
MOVN,AX
CALLBUBBLESORT
MOVAH,2
MOVDL,10
INT21H
MOVDL,13
INT21H
MOVCX,N
LEASI,ARRAY
@M1:
MOVAX,[SI]
CALLDISPAX
INCSI
INCSI
LOOP@M1
MOVAH,4CH
INT21H
NDW?
—=—————————————-------二---=---———――=二二-------------
BUBBLESORTPROCNEAR
LEABX,ARRAY
LEASI,NUM
MOVAX,SI
SUBAX,BX
RORAX,1
MOVWORDPTR[NUM],AX
DECWORDPTR[NUM]
MOVWORDPTR[I],0
以下采用冒泡排序
LEADI,ARRAY
LINE1:
INCWORDPTR[I]
MOVAX,WORDPTR[I]
CMPAX,WORDPTR[NUM]
JGLINE3
MOVWORDPTR[J],0
LINE2:
INCWORDPTR[J]
MOVAX,WORDPTR[NUM]
INCAX
SUBAX,WORDPTR[I]
CMPWORDPTR[J],AX
JGLINE1
MOVBX,WORDPTR[J]
RORBX,1
MOVAX,WORDPTR[DI][B
X-2]
CMPAX,WORDPTR[DI][BX]
JAELINE2
MOVCX,W0RDPTR[DI][BX]
MOVWORDPTR[DI][BX],AX
MOVWORDPTR[DI][BX-2],CX
JMPLINE2
LINE3:
RET
IDW?
JDW?
BUBBLESORTENDP
;键盘输入数值数组子程序(数组名为array,元素个数存放在num
中)
INPUTNUMPROCNEAR
;输入的数据以一个空格分隔,以回车符结束输入
LEADLARRAY;将数组第一个元
素的有效地址置入DI
MOVWORDPTR[NUM],0
STIN:
MOVAX,0
PUSHAX
AGAIN1:
MOVAH,1
INT21H
MOVBYTEPTR[CHAR],AL
CMPAL,13
JELINEO
CMPAL,''
JELINEO
SUBAL,30H
MOVAH,0
MOVSI,AX
POPAX
MOVCL,10
MOVCH,0
MULCX
ADDAX,SI
PUSHAX
JMPAGAIN1
LINEO:
POPAX
MOVWORDPTR[DI],AX
INCWORDPTR[NUM]
CMPBYTEPTR[CHAR],13
JESTINEND
INCDI
INCDI
JMPSTIN
STINEND:
RET
ARRAYDW100DUP(O)
NUMDW0
CHARDB9
INPUTNUMENDP
DISPAXPROCNEAR
PUSHBX
PUSHCX
PUSHDX
PUSHSI
PUSHDS
PUSHCS
POPDS
PUSHAX
MOV
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 2025年中图版九年级地理下册月考试卷含答案
- 2025年沪科版高一物理下册月考试卷
- 2024版企业员工体检福利服务采购合同范本2篇
- 2025年人教A版二年级英语上册月考试卷
- 2024年生物样本研究服务合同
- 专业水泥销售协议:2024版细则版B版
- 2024年西安高新科技职业学院高职单招职业适应性测试历年参考题库含答案解析
- 2025年人民版七年级科学上册月考试卷
- 2025年牛津译林版九年级物理上册阶段测试试卷
- 2025年上外版选择性必修2生物下册阶段测试试卷
- 北京市海淀区2024-2025学年高一上学期期末考试历史试题(含答案)
- 常用口服药品的正确使用方法
- 2024年钻探工程劳务协作协议样式版B版
- 《心肺复苏机救治院内心搏骤停患者护理专家共识》解读
- 计算机二级WPS考试试题
- 智联招聘行测题库及答案
- 前程无忧测评题库及答案
- 2023中华护理学会团体标准-注射相关感染预防与控制
- PPVT幼儿语言能力测试题附答案
- 陕西省宝鸡市各县区乡镇行政村村庄村名居民村民委员会明细及行政区划代码
- 中华人民共和国职业分类大典电子版
评论
0/150
提交评论