简单汇编
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
如何讲rank数组中的数据输出啊,,,
追问:电脑屏幕,,,,16进制
答案:在jne loop1语句和ret语句之间插入:
xor bx,bx
output:
mov dx,rank[bx]
or dl,30H
cmp dl,3AH
jl display
add dl,7H
display:
mov ah,02H
int 21H
add bx,2
cmp bx,20
jl output
即可。输出的数值为16进制,中间没空格。
其他:你要输出到哪里?标准输出(屏幕)还是文件?以什么形式(二进制还是十六进制)?
上一个:用c语言或汇编语言编写一个:将数组按由小到大的顺序排列的程序。要求1:数组元素的个数由键盘输入。
下一个:汇编语言程序设计实验-----子程序设计