汇编实验第二次文档格式.docx
《汇编实验第二次文档格式.docx》由会员分享,可在线阅读,更多相关《汇编实验第二次文档格式.docx(12页珍藏版)》请在冰豆网上搜索。
![汇编实验第二次文档格式.docx](https://file1.bdocx.com/fileroot1/2022-11/23/d7af3c3b-4d98-4b0f-8161-a5f4a85efbe6/d7af3c3b-4d98-4b0f-8161-a5f4a85efbe61.gif)
ASSUMECS:
CODE
START:
MOVAH,1
INT21H
CMPAL,0DH
JZDONE
CMPAL,'
0'
JBNEXT
9'
JACHARUP
MOVDL,AL
MOVAH,2
INT21H
JMPSTART
CHARUP:
CMPAL,41H
CMPAL,5AH
JACHRDN
DISPC:
MOVDL,'
c'
NEXT:
JMPSTART
CHRDN:
CMPAL,61H
CMPAL,7AH
JANEXT
JMPDISPC
DONE:
MOVAH,4CH
CODEENDS
ENDSTART
实验清单:
实验一:
MOVAL,3EH
PUSHAX
MOVCL,4
SHRDL,CL
CMPDL,9
JBENEXT1
ADDDL,7
NEXT1:
ADDDL,30H
POPAX
ANDDL,0FH
JBENEXT2
NEXT2:
MOVAH,4CH
程序运行结果:
实验1:
实验2:
实验二统计不同成绩段学生的人数
实验说明:
设有十个学生成绩分别是76,69,84,90,73,88,99,63,100和80分。
试编制一个子程序,统计低于60分,60~69分,70~79分,80~89分,90~99分和100分的人数,并输出显示统计结果。
编程提示:
1、成绩分等部分采用分支结构,统计所有成绩则用循环结构完成,显示统计结果采用DOS功能调用。
2、统计学生成绩和显示统计结果两部分内容用子程序结构来完成。
结构图:
程序清单:
DATASEGMENT
GRADEDB76,69,84,90,73,88,99,63,100,80
ADB'
小于60分的人数:
'
'
$'
BDB0AH,0DH,'
在60~70之间的人数:
CDB0AH,0DH,'
在70~80之间的人数:
DDB0AH,0DH,'
在80~90之间的人数:
EDB0AH,0DH,'
在90~100之间的人数:
FDB0AH,0DH,'
满分的人数:
COUNTDB10
DATAENDS
STACKSSEGMENT
STACKSENDS
ASSUMECS:
CODE,DS:
DATA,SS:
STACKS
MAINPROCFAR
MOVAX,DATA
MOVDS,AX
XORAX,AX
XORBX,BX
XORCX,CX
XORDH,DH
CALLCOUNTGRADE
CALLOUTPUT
MAINENDP
COUNTGRADEPROCNEAR
MOVDI,0
L0:
CMPGRADE[DI],60
JBL1
CMPGRADE[DI],70
JBL2
CMPGRADE[DI],80
JBL3
CMPGRADE[DI],90
JBL4
CMPGRADE[DI],100
JBL5
INCAL
JMPCONTINUE
L1:
INCBH
L2:
INCBL
L3:
INCCH
L4:
INCCL
L5:
INCDH
CONTINUE:
INCDI
DECCOUNT
JNZL0
RET
COUNTGRADEENDP
OUTPUTPROCNEAR
MOVAH,0
PUSHDX
PUSHCX
PUSHBX
LEADX,A
MOVAH,9
POPBX
MOVDL,BH
ADDDL,30H
LEADX,B
MOVDL,BL
LEADX,C
LEADX,D
LEADX,E
INT21HMOVAH,2
LEADX,FINT21H
MOVAH,9RET
INT21HOUTPUTENDP
POPBXCODEENDS
MOVDL,BLENDSTART
程序运行截图:
实验三循环补充实验
从键盘输入一系列字符串(以回车符结束),按字母、数字和其它字符分类计数,最后显示出这三类的计数结果。
datasegment
adb0ah,0dh,'
字母个数:
'
bdb0ah,0dh,'
数字个数:
cdb0ah,0dh,'
其他字符个数:
dataends
codesegment
assumecs:
code,ds:
data
mainprocfar
start:
pushds
subax,ax
pushax
movax,data
movds,ax
subcx,cx
subbl,bl
lab0:
movah,1
int21h
lab4:
leadx,a
movah,9
movdl,cl
ordl,30h
movah,2
leadx,b
movdl,ch
leadx,c
movdl,bl
ret
mainendp
codeends
endstart
cmpal,0dh
jzlab4
cmpal,'
jblab3
jalab1
incch
jmplab0
lab1:
A'
Z'
jalab2
inccl
lab2:
a'
z'
jalab3
lab3:
incbl