a+b=c如何用完整的汇编语言表示,汇编 编写程序,键入学生成绩(百分制),按A、B、C、D显示在屏幕上。 要完整可运行的程序...

满意答案

dcebd7a0de6265b6ccae5ead692f1eab.png

hprdveyzvj

2013.11.28

dcebd7a0de6265b6ccae5ead692f1eab.png

采纳率:41%    等级:12

已帮助:11869人

不知道你说的“输入多个成绩”是什么意思,所以我就写了死循环。至于第一个条件,凡是不是0~100的均报错,比如不是合法的正数等。

dsegsegment

MsgInputdb0ah, 0dh, 'Input a score: ', '$'

MsgErrordb'Invalid Input!', '$'

BufInputdb5, ?, 5 dup( ? )

Gradedb'EDCBA', '$'

dsegends

csegsegment

assume ds:dseg, cs:cseg

BEGIN:

movax,dseg

movds,ax

Init:

leadx,MsgInput

movah,9

int21h

leadx,BufInput

movah,0ah

int21h

movdl,0ah

movah,2

int21h

movax,0

leabx,BufInput + 2

LoopCalc:

cmpbyte ptr[bx],0dh

jeCompare

cmpbyte ptr[bx],'0'

jbError

cmpbyte ptr[bx],'9'

jaError

subbyte ptr[bx],'0'

movcx,10

mulcx

movcx,0

movcl,[bx]

add ax,cx

incbx

jmpLoopCalc

Compare:

cmpax,100

jaError

movcl,10

divcl

cmpal,9

jbeNext1

moval,9

Next1:

cmpal,5

jaeNext2

moval,5

Next2:

subal,5

leabx,Grade

xlat

movdl,al

movah,2

int21h

jmpInit

Error:

leadx,MsgError

movah,9

int21h

jmpInit

movah,04ch

int21h

csegends

endBEGIN

10分享举报

  • 0
    点赞
  • 2
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值