第1个回答 推荐于2016-08-24
code segment
assume cs:code
main proc far
;
repeat:
call read
call crlf
call change
call crlf
jmp repeat
main endp
;
read proc near
mov bx, 0
newchar:
mov ah, 1
int 21h
sub al, 30h
jl exit
cmp al, 9d
jg exit
cbw
;
xchg ax, bx
mov cx, 10d
mul cx
xchg bx, ax
add bx, ax
jmp newchar
exit:
ret
read endp
;
change proc near
mov ch, 4
for:
mov cl, 4
rol bx, cl
mov al, bl
and al, 0fh
add al, 30h
cmp al, 3ah
jl print
add al, 07h
print:
mov dl, al
mov ah, 02h
int 21h
dec ch
jnz for
change endp
crlf proc near
mov dl, 0dh
mov ah, 2
int 21h
mov dl, 0ah
mov ah, 2
int 21h
ret
crlf endp
code ends
end main
第2个回答 2010-01-19
CODE SEGMENT
ASSUME CS:CODE
BEGIN:
XOR BX,BX
L1: MOV AH,1
INT 21H
CMP AL,0DH
JE L2
CMP AL,30H
JB L1
CMP AL,39H
JA L1
AND AX,0FH
XCHG AX,BX
MOV CX,10
MUL CX
JC L5
ADD BX,AX
JC L5
JMP L1
L2: MOV AH,2
MOV DL,0DH
INT 21H
MOV AH,2
MOV DL,0AH
INT 21H
MOV CX,4
L3:
PUSH CX
MOV CL,4
ROL BX,CL
MOV DL,BL
AND DL,0FH
ADD DL,30H
CMP DL,39H
JBE L4
ADD DL,7
L4: MOV AH,2
INT 21H
POP CX
LOOP L3
JMP L6
L5:MOV AH,9
LEA DX,ERROR
INT 21H
L6:MOV AH,4CH
INT 21H
ERROR DB 0DH,0AH,"0VERFLOW",07,0DH,0AH,24H
CODE ENDS
END BEGIN
PS:楼主慢慢研究 :)