当前位置:首页 > 微原软件实验报告
loop s3
display:dec statictotal mov cx,statictotal mov bx,offset student mov al,49
s6: mov byte ptr [bx],al mov word ptr [bx+20],0a0dh inc al add bx,22 loop s6 mov byte ptr [bx],al mov byte ptr [bx+20],36 mov dx,offset string3 mov ah,09h int 21h mov ax,4c00h int 21h specialcase: mov byte ptr [bx],49 mov byte ptr [bx+20],36 mov dx,offset string3 mov ah,09h int 21h mov ax,4c00h int 21h exchange:
字节) mov di,offset eg mov si,bx mov cx,22 cld rep movsb mov di,bx mov si,di add si,22 mov cx,22 cld rep movsb mov si,offset eg mov di,bx add di,22 mov cx,22 cld rep movsb
;后期处理,将排序后的学生信息输出
;若后面的数大于前面的数,则交换两个学生的信息(22个
mov cx,circlenumber jmp s5 datacmp proc
cmp byte ptr [bx],48 jb wromes cmp byte ptr [bx],57 ja wromes inc bx ret
datacmp endp
fullcmp1 proc cmp byte ptr [bx],102 je s8 cmp byte ptr [bx],48 jb wromes cmp byte ptr [bx],57 ja wromes s8: inc bx ret
fullcmp1 endp fullcmp2 proc cmp byte ptr [bx],117 je s9 cmp byte ptr [bx],48 jb wromes cmp byte ptr [bx],57 ja wromes s9: inc bx ret
fullcmp2 endp
spacecmp proc cmp byte ptr [bx],32 jne wromes inc bx ret
spacecmp endp
wromes: mov ah,09h mov dx,offset string2 int 21h jmp input stringcmp proc cmp byte ptr [bx],122 ja wromes
;将内层的cx恢复出来
;数字检测模块,检测是否为数字
;成绩检测模块,并包含特殊字符(f)的检测
;成绩检测模块,并包含特殊字符(u)的检测 ;空格检测模块,检测是否为空格
;错误信息显示模块
;字符检测模块,检测是否为小写字母
cmp byte ptr [bx],97 jb extracmp s2: inc bx ret
stringcmp endp
extracmp:cmp byte ptr [bx],90 ja wromes cmp byte ptr [bx],65 jb wromes jmp s2
code ends end init
;字符检测模块,检测是否为大写字母
四 程序流程图
输入的格式为:两位学号 姓名 两位的成绩(满分用fu代替),回车键结束。 例如 19 wangxudong 89
在student内存区存放的一个学生占用22个字节,其格式为:
总的流程图:
开始调用中断,输入学生学号,姓名,成绩否检测输入是否都正确是将输入信息赋到student内存区对student内存区的学生进行排序输出排序后的结果结束
检测模块流程图:
共分享92篇相关文档