注册 登录
编程论坛 汇编论坛

请看看这个怎么编?

psboy 发布于 2006-06-05 15:55, 690 次点击
"编写一个程序,从用户输入的3个数中找到最大值,并将该最大值输出"
我是菜鸟,麻烦高手把这个简单的题的答案发写上来吧,谢谢,
2 回复
#2
达达2006-06-09 22:54


.386

DATA SEGMENT USE16
A DB ?

MAX DB ?
STRING DB 0AH,0DH,'THE MAX =','$'
DATA ENDS

STACK SEGMENT USE16 STACK
DB 200 DUP(0)
STACK ENDS

CODE SEGMENT USE16
ASSUME CS:CODE,DS:DATA,SS:STACK
START: MOV AX,DATA
MOV DS,AX
MOV AX,0
MOV AH,1
INT 21H
MOV MAX,AL
INT 21H
CMP MAX,AL
JL QQ
BOY: INT 21H
CMP MAX,AL
JL PP
GIRL: LEA DX,STRING
MOV AH,9
INT 21H
MOV DL,MAX
MOV AH,2
INT 21H
JMP EXIT

QQ: MOV MAX,AL
JMP BOY
PP: MOV MAX,AL
JMP GIRL

EXIT: MOV AH,4CH
INT 21H
CODE ENDS
END START


直接输入数据(没有间隔)输入完毕即显示结果.

#3
xiaoping6222006-06-25 15:05
data segment
a db ?
Max db ?
buf db 0ah,0dh 'the max is: $'
data ends
stack segment
db 200 dup(0)
stack ends
code segment
assume cs:code,ds:data,ss:stack
start:mov ax,data
mov ds,ax
mov ax,0
mov ah,1
int 21h
mov max,al
int 21h
cmp max,al
jl kk
boy: int 21h
cmp max,al
jl pp

kk: mov max al
jmp boy
pp: mov max al
jmp oupput
oupput: lea dx,buf
mov ah,9
int 21h
mov dl,max
mov ah,2
int 21h
jmp exit
exti: mov ah,4ch
int 21h
code ends
end start
1