程序代码:
;
;This Program Compiled Sucess by Masm 6.15
;
assume cs:code,ds:data,ss:stack
data segment
buff db 6,0,6 dup (0) ;输入缓冲区,输入不大于6位数字
num1 dw 0
num2 dw 0
msg db 'Max=$'
data ends
stack segment stack ;可有可无
db 64 dup (0)
stack ends
code segment
start:
mov ax,data ;定义数据段
mov ds,ax
call input ;调用输入子程序
mov num1,ax ;将数值存放至num1
call crlf ;换行
call input ;调用输入子程序
mov num2,ax ;将第二个数放在num2
call crlf ;
mov dx,offset msg ;显示提示信息
mov ah,9
int 21h
mov ax,num1 ;开始比较,将大数存放至dx
cmp ax,num2
jae a
mov dx,num2
jmp b
a:
mov dx,ax
b:
call disp ;调用显示子程序,将大数显示出来
mov ah,4ch
int 21h
;crlf
crlf proc uses ax dx
mov ah,2
mov dl,13
int 21h
mov dl,10
int 21h
ret
crlf endp
;
;input
input proc
mov dx,offset buff
mov ah,10
int 21h
mov cl,buff+1
mov ch,0
mov si,offset buff+2
s1:
mov ax,0
s2:
mov dx,10
mul dx
and byte ptr [si],0fh
add al,[si]
adc ah,0
inc si
loop s2
ret
input endp
;
;display
disp proc
mov ax,dx
xor dx,dx
mov bx,10
mov cx,0
d1:
cmp ax,10
jb ok
div bx
add dl,30h
push dx
xor dx,dx
inc cx
jmp d1
ok:
add al,30h
push ax
inc cx
d2:
pop dx
mov ah,2
int 21h
loop d2
ret
disp endp
;
code ends
end start
图片附件: 游客没有浏览图片的权限,请
登录 或
注册
本程序没有对输入做检测。只接受数字的输入。
[
本帖最后由 ansic 于 2011-5-30 18:05 编辑 ]