请帮我注释一下下面的语言,汇编语言 我真看不懂 求大神 在线等 谢谢
datasegmentcreditdw76,69,84,90,73,88,99,63,60,25mes1db'60-69:$'mes2db'70-79:$'mes3db'...
data segment
credit dw 76,69,84,90,73,88,99,63,60,25
mes1 db '60-69:$'
mes2 db '70-79:$'
mes3 db '80-89:$'
mes4 db '90-99:$'
mes5 db '0-59:$'
v1 db ?
v2 db ?
v3 db ?
v4 db ?
v5 db ?
data ends
code segment
assume cs:code,ds:data
main proc far
start:
mov ax,data
mov ds,ax
call count
mov ah,4ch
int 21h
ret
main endp
count proc near
lea si,credit
mov cx,0ah
m1:mov bx,[si]
add si,2
cmp bx,60
jg m7
inc v5
jmp m6
m7:cmp bx,69
jg m2
inc v1
jmp m6 ;60-69
m2:cmp bx,79
jg m3 ;70-79
inc v2
jmp m6
m3:cmp bx,89
jg m4 ;80-89
inc v3
jmp m6
m4:cmp bx,99
jg m6 ;90-99
inc v4
jmp m6
m6:loop m1
mov dx,offset mes1 ;数据输出
mov ah,09h
int 21h
mov dl,v1
add dl,30h
mov ah,02h
int 21h
call crlf
mov dx,offset mes2
mov ah,09h
int 21h
mov dl,v2
add dl,30h
mov ah,02h
int 21h
call crlf
mov dx,offset mes3
mov ah,09h
int 21h
mov dl,v3
add dl,30h
mov ah,02h
int 21h
call crlf
mov dx,offset mes4
mov ah,09h
int 21h
mov dl,v4
add dl,30h
mov ah,02h
int 21h
call crlf
mov dx,offset mes5
mov ah,09h
int 21h
mov dl,v5
add dl,30h
mov ah,02h
int 21h
call crlf
exit:
ret
count endp
crlf proc near
mov dl,0ah
mov ah,02h
int 21h
mov dl,0dh
mov ah,02h
int 21h
ret
crlf endp
code ends
end start 展开
credit dw 76,69,84,90,73,88,99,63,60,25
mes1 db '60-69:$'
mes2 db '70-79:$'
mes3 db '80-89:$'
mes4 db '90-99:$'
mes5 db '0-59:$'
v1 db ?
v2 db ?
v3 db ?
v4 db ?
v5 db ?
data ends
code segment
assume cs:code,ds:data
main proc far
start:
mov ax,data
mov ds,ax
call count
mov ah,4ch
int 21h
ret
main endp
count proc near
lea si,credit
mov cx,0ah
m1:mov bx,[si]
add si,2
cmp bx,60
jg m7
inc v5
jmp m6
m7:cmp bx,69
jg m2
inc v1
jmp m6 ;60-69
m2:cmp bx,79
jg m3 ;70-79
inc v2
jmp m6
m3:cmp bx,89
jg m4 ;80-89
inc v3
jmp m6
m4:cmp bx,99
jg m6 ;90-99
inc v4
jmp m6
m6:loop m1
mov dx,offset mes1 ;数据输出
mov ah,09h
int 21h
mov dl,v1
add dl,30h
mov ah,02h
int 21h
call crlf
mov dx,offset mes2
mov ah,09h
int 21h
mov dl,v2
add dl,30h
mov ah,02h
int 21h
call crlf
mov dx,offset mes3
mov ah,09h
int 21h
mov dl,v3
add dl,30h
mov ah,02h
int 21h
call crlf
mov dx,offset mes4
mov ah,09h
int 21h
mov dl,v4
add dl,30h
mov ah,02h
int 21h
call crlf
mov dx,offset mes5
mov ah,09h
int 21h
mov dl,v5
add dl,30h
mov ah,02h
int 21h
call crlf
exit:
ret
count endp
crlf proc near
mov dl,0ah
mov ah,02h
int 21h
mov dl,0dh
mov ah,02h
int 21h
ret
crlf endp
code ends
end start 展开
1个回答
2014-12-05
展开全部
data segment
credit dw 76,69,84,90,73,88,99,63,60,25
mes1 db '60-69:$'
mes2 db '70-79:$'
mes3 db '80-89:$'
mes4 db '90-99:$'
mes5 db '0-59:$'
v1 db ?
v2 db ?
v3 db ?
v4 db ?
v5 db ?;v1,2,3,4,5分别记录,对应60-69...
data ends
code segment
assume cs:code,ds:data
start:
mov ax,data
mov ds,ax
call count
mov ah,4ch
int 21h
ret
count proc
lea si,credit
mov cx,0ah
m1:mov bx,[si] ;取一个数
add si,2
cmp bx,60 ;>60?
jg m7
inc v5
jmp m6
m7:cmp bx,69
jg m2
inc v1
jmp m6 ;60-69
m2:cmp bx,79
jg m3 ;70-79
inc v2
jmp m6
m3:cmp bx,89
jg m4 ;80-89
inc v3
jmp m6
m4:cmp bx,99
jg m6 ;90-99
inc v4
jmp m6
m6:loop m1 ;循环
mov dx,offset mes1 ;fb数据输出
mov ah,09h
int 21h
mov dl,v1
add dl,30h
mov ah,02h
int 21h
call crlf
mov dx,offset mes2
mov ah,09h
int 21h
mov dl,v2
add dl,30h
mov ah,02h
int 21h
call crlf
mov dx,offset mes3
mov ah,09h
int 21h
mov dl,v3
add dl,30h
mov ah,02h
int 21h
call crlf
mov dx,offset mes4
mov ah,09h
int 21h
mov dl,v4
add dl,30h
mov ah,02h
int 21h
call crlf
mov dx,offset mes5 ;输出v5
mov ah,09h
int 21h
mov dl,v5
add dl,30h
mov ah,02h
int 21h
call crlf
exit:
ret
count endp
crlf proc near ;换行
mov dl,0ah
mov ah,02h
int 21h
mov dl,0dh
mov ah,02h
int 21h
ret
crlf endp
code ends
end start
追问
您好 我分别想了解 mes1是什么意思 v1是什么意思
lea 具体就是想知道 为什么要这样写
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询