我在assembly8086上做了一点QUIZ 我无法打印测验的分数,它是1到10之间的数字。
在程序中,我将一个数字添加到寄存器BX中:
proc Grade
mov bx, offset score
add [bx], 1
ret
在程序结束时,我想打印基数为10的寄存器BX的值,我需要它在程序中。
如果你能帮助我,我会很高兴,美好的一天(:
答案 0 :(得分:1)
它是1到10之间的数字。
由于你的范围非常有限,你可以使用这个简单的解决方案:
mov dl, [bx] ;Score from 1 to 10
cmp dl, 10
jb IsBelow10
mov dl, 49 ;Display character "1"
mov ah, 02h
int 21h
mov dl, 0 ;Prepare to display character "0"
IsBelow10:
add dl, 48 ;Converts number into character
mov ah, 02h
int 21h
你标记了它8086所以我认为DOS要求输出是你需要的。