【急急急】用汇编语言 从键盘输入10个字符,每个对应这个ASCII值,编程找出 ASCII值最大的存入MAX单元

RT 我要汇编的代码.

assume cs:code,ds:data
data segment
MAX db 00h
data ends
code segment
start:mov ax,data
    mov  ds,ax
    mov cx,10
    mov bx,0 
l1: mov ah,1
    int 21h
    cmp  al,byte ptr [bx]
    jna l2 
    mov byte ptr [bx],al
l2:loop  l1    
    mov ax,004ch
    int 21h
code ends
end start

我没有试验,应该没问题

温馨提示:答案为网友推荐,仅供参考
第1个回答  2013-07-05
DATA SEGMENT
MAX DB 0H
STR DB 0ah,'The max ascll is:$'
DATA ENDS
CODE SEGMENT
ASSUME CS:CODE,DS:DATA
START: MOV AX,DATA
MOV DS,AX
MOV CX,10
MOV BL,MAX
LOP: MOV AH,01H
INT 21H
CMP BL,AL
JNB LOP1
MOV BL,AL
LOP1: LOOP LOP
MOV MAX,BL
LEA DX,STR ;以下是显示最大的ascll的,若不要显示可将其去掉
MOV AH,09H
INT 21H
MOV AL,BL
MOV DL,AL
MOV CL,4
SHR DL,CL
CMP DL,9
JBE NEXT1
ADD DL,7
NEXT1: ADD DL,30H
MOV AH,2
INT 21H
MOV DL,BL
AND DL,0FH
CMP DL,9
JBE NEXT2
ADD DL,7
NEXT2: ADD DL,30H
MOV AH,2
INT 21H ;结束显示
MOV AH,4CH ;退出程序
INT 21H
CODE ENDS
END START

调试通过,可以运行!
第2个回答  2013-07-05
DATA SEGMENT
MAX DB 0H
STR DB 0ah,'The max ascll is:$'
DATA ENDS
CODE SEGMENT
ASSUME CS:CODE,DS:DATA
START: MOV AX,DATA
MOV DS,AX
MOV CX,10
MOV BL,MAX
LOP: MOV AH,01H
INT 21H
CMP BL,AL
JNB LOP1
MOV BL,AL
LOP1: LOOP LOP
MOV MAX,BL
LEA DX,STR ;以下是显示最大的ascll的,若不要显示可将其去掉
MOV AH,09H
INT 21H
MOV AL,BL
MOV DL,AL
MOV CL,4
SHR DL,CL
CMP DL,9
JBE NEXT1
ADD DL,7
NEXT1: ADD DL,30H
MOV AH,2
INT 21H
MOV DL,BL
AND DL,0FH
CMP DL,9
JBE NEXT2
ADD DL,7
NEXT2: ADD DL,30H
MOV AH,2
INT 21H ;结束显示
MOV AH,4CH ;退出程序
INT 21H
CODE ENDS
END START

调试通过,可以运行!
相似回答
大家正在搜