下面一段汇编程序,结果是16进制,请问怎样把结果改为10进制?

来源:百度知道 编辑:UC知道 时间:2024/05/21 12:54:07
DATA SEGMENT
Grade dw 88,75,95,63,98,78,87,73,90,60
Rank dw 10 dup(?)
Data ends

Program segment
Main proc far
Assume cs:program,ds:data
Start:
Push ds
Sub ax,ax
Push ax

Mov ax,data
Mov ds,ax
Mov di,10
Mov bx,0
Loop1:
Mov ax,grade[bx]
Mov dx,0
Mov cx,10
Lea si,grade
Next:
Cmp ax,[si]
Jg no_count
Inc dx
No_count:
Add si,2
Loop next
Mov rank[bx],dx
Add bx,2
Dec di
Jne loop1
Ret
Main endp
Program ends
End start

你这段我运行不了,你检查一下是不是Mov rank[bx],dx
这条写错了
还有建议你,下次要么都用大写要么都用小写,这样看起来很别扭

如果只是调整结果为十进制可以尝试
DAA(是加法的十进制调整指令,必须跟在ADD或ADC指令之后使用)
DAS(是减法的十进制调整指令)
其余的将16进制转换为十进制的转换方法我就不知道了