菜鸟请教问题,各位大神帮帮忙,小弟感激不尽

tianxie358 2012-04-27 02:01:34
已知在内存数据段中GRADE开始单元连续存放着10个学生的成绩,试编程实现以下功能:
(1)在屏幕上显示提示字符串”Please input grade :”,等待用户输入一个两位数的成绩;
(2)查询是否有学生成绩与用户输入的成绩相等,若有,在屏幕中间(12行40列)显示“YES”,否则,显示“NO”。
(3)统计不及格的人数,存放在内存单元RESULT中;
(4)计算10个学生的平均成绩,商存放在AVG单元中。
要求采用子程序结构设计程序,请写出各个子程序的代码。
DSEG SEGMENT
GRADE DB 76,68,54,80,45,92,63,58,94,85
CNT DB 10
STR1 DB ‘Please input grade :$’
STR2 DB 0dh,0ah,'please input grade again:$'
MES1 DB ‘YES$’
MES2 DB ‘NO$’
RESULT DB ?
AVG DB ?
DSEG ENDS
...全文
188 4 打赏 收藏 转发到动态 举报
写回复
用AI写文章
4 条回复
切换为时间正序
请发表友善的回复…
发表回复
tianxie358 2012-05-15
  • 打赏
  • 举报
回复
[Quote=引用 2 楼 的回复:]
引用楼主 的回复:
已知在内存数据段中GRADE开始单元连续存放着10个学生的成绩,试编程实现以下功能:
(1)在屏幕上显示提示字符串”Please input grade :”,等待用户输入一个两位数的成绩;
(2)查询是否有学生成绩与用户输入的成绩相等,若有,在屏幕中间(12行40列)显示“YES”,否则,显示“NO”。
(3)统计不及格的人数,存放在内存单元RESULT中;
(4)……
[/Quote]



谢谢大哥了
gsy999 2012-04-30
  • 打赏
  • 举报
回复
[Quote=引用楼主 的回复:]
已知在内存数据段中GRADE开始单元连续存放着10个学生的成绩,试编程实现以下功能:
(1)在屏幕上显示提示字符串”Please input grade :”,等待用户输入一个两位数的成绩;
(2)查询是否有学生成绩与用户输入的成绩相等,若有,在屏幕中间(12行40列)显示“YES”,否则,显示“NO”。
(3)统计不及格的人数,存放在内存单元RESULT中;
(4)计算10个学生的平均成……
[/Quote]

;提供一部分,供参考
;-----------------------------------------------------------
; 宏:显示一个串
;-----------------------------------------------------------
QUTST macro string ;
push dx
push ax
mov dx,offset string
mov ah,09h
int 21h
pop ax
pop dx
ENDM
;-----------------------------------------------------------
stack segment stack
db 256 dup(0)
stack ends
;-----------------------------------------------------------
DSEG SEGMENT
GRADE DB 76,68,54,80,45,92,63,58,94,85
CNT DB 10
STR1 DB 'Please input grade :$'
STR2 DB 0dh,0ah,'please input grade again:$'
MES1 DB 13,10,'YES$'
MES2 DB 13,10,'NO$'
RESULT DB ?
AVG DB ?
DSEG ENDS
;-----------------------------------------------------------
code segment
assume cs:code,ds:DSEG,es:DSEG,ss:stack
start:
;初始化段寄存器
mov ax,dseg
mov ds,ax
mov es,ax
;输入数
call input
;比较
call ask
;终止程序
mov ax,4c00h
int 21h
;-----------------------------------------------------------
; (2)子程序INPUT
; 功能:等待用户输入两位数成绩,若不是数字,
; 则调用QUTST显示STR2,并重新等待输入
; 入口参数:无
; 出口参数:BL=两位数成绩
;-----------------------------------------------------------
input proc
qutst STR1 ;显示串
xor bx,bx ;用来记以前已输入的值,初始值为0
input0:
mov ah,1 ;接收一个字符
int 21h
cmp al,0dh ;是回车符吗?
jz @@02 ;是就跳
cmp al,'0' ;
jb @@01
cmp al,'9'
jg @@01

;否则,转换
mov ah,0 ;ah清0
sub al,'0' ;由ASCII转换为原值
shl bx,1 ;初始值为0,第二次是上次ax*2
mov dx,bx ;将这个乘以2的值暂存dx中
mov cl,2 ;
shl bx,cl ;bx * 4 ,(初始为0,这一步是实现上一次的值乘以8)
add bx,dx ;初始0,(再与上一次的二倍相加,完成乘以10的任务)
add bx,ax ;bx初始为ax(再加上这一次)
jmp input0 ;接收下一个字符
@@01:
qutst STR2
jmp input0
@@02:
ret
input endp
;-----------------------------------------------------------
; (4)子程序ASK
; 功能:将学生成绩与用户输入的成绩比较,若相等,
; 显示QUTST MES1,否则显示QUTST MES2。
; 入口参数:BL=两位数成绩
; 出口参数:无
;-----------------------------------------------------------
ask proc
xor cx,cx
mov cl,CNT ;循环变量
mov di,offset GRADE ;取数组首地址
mov al,bl ;al = bl
cld
repne scasb
jne @@10
qutst MES1 ;相等
jmp @@99
@@10:
qutst MES2 ;不相等
@@99:
ret
ask endp
code ends
end start

yh_no_code 2012-04-30
  • 打赏
  • 举报
回复
楼主你还是自己先写一下,遇到问题再来问吧!
dlpzgr 2012-04-30
  • 打赏
  • 举报
回复
最好是先写写,有问题再来问
本套餐将包括两个重磅性的课程与一个赠送学习的课程,分别为SpringBoot实战视频教程与RabbitMQ实战教程跟SSM整合开发之poi导入导出Excel。目的是为了让各位小伙伴可以从零基础一步一个脚印学习微服务项目的开发,特别是SpringBoot项目的开发,之后会进入第二个课程:RabbitMQ的实战,即消息中间件在实际项目或者系统中各种业务模块的实战并解决一些常见的典型的问题!核心的知识点分别包括 一、SpringBoot实战历程课程 (1)SpringBoot实战应用场景的介绍与代码实战 (2)发送邮件服务、上传下载文件服务、Poi导入导出Excel (3)单模块与多模块项目构建、项目部署打包、日志、多环境配置、lombok、validator以及mybatis整合实战跟多数据源实战 (4)Redis缓存中间件的实战与缓存雪崩跟缓存穿透等问题的解决实战 (5)RabbitMQ消息中间件在业务模块异步解耦、通信、消息确认机制以及并发量配置等的实战 二、RabbitMQ实战教程课程 (1)RabbitMQ的官网权威技术手册拜读,认识并理解各大专有名词,如队列,交换机,路由,死信队列,消息确认机制等等 (2)RabbitMQ在业务服务模块之间的异步解耦通信实战,如异步记录日志与发送邮件等 (3)商城系统抢单高并发情况下RabbitMQ的限流作用与代码实战 (4)消息确认机制与并发量配置并用来实战商城用户下单 (5)死信队列深入讲解与DLX,DLK,TTL等概念的讲解并用来实战 “支付系统用户下单后支付超时而失效其下单记录”实战 详情,各位小伙伴可以查看两个课程的目录。相信学完该套餐相关课程后,你的实战能力将大大提升!涨薪将不再遥遥无期! 最后,赠送的SSM整合开发之POI导入导出Excel目的是为了让各位小伙伴也可以学习Spring+SpringMVC+Mybatis整合开发的项目,让大家一对比SpringBoot与SPring的项目开发流程以及复杂程度!!! 相信学完之后,你会对SpringBoot爱不释手!!

21,459

社区成员

发帖
与我相关
我的任务
社区描述
汇编语言(Assembly Language)是任何一种用于电子计算机、微处理器、微控制器或其他可编程器件的低级语言,亦称为符号语言。
社区管理员
  • 汇编语言
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧