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

[求助]输入10个字型整数,并比较然后输出最大数

yujia402 发布于 2007-05-25 19:14, 1790 次点击

STACK SEGMENT STACK
DB 100 DUP(?)
STACK ENDS

DATA SEGMENT
X DW 10 DUP(?)
N DW 10
M DW 0
DATA ENDS

CODE SEGMENT
ASSUME CS:CODE,DS:DATA,SS:STACK
MAIN PROC FAR
PUSH DS
MOV AX,0
PUSH AX
MOV AX,DATA
MOV DS,AX
MOV CX,N
MOV SI,0
L1: CALL GETINT
MOV X[SI],AX
ADD SI,2
LOOP L1
CALL MAX
CALL PUTINT
RET
MAIN ENDP

GETINT PROC NEAR
MOV DI,10
MOV BX,M
L2: MOV AH,1
INT 21H
CMP AL,30H
JL L2
CMP AL,39H
JG L2
SUB AL,30H
MOV AH,0
MOV BX,AX
MOV AX,BX
MUL DI
ADD BX,AX

MOV AX,BX
RET
GETINT ENDP

MAX PROC NEAR
MOV SI,M
MOV AX,X
MOV CX,N
L4: CMP AX,X[SI]
JGE L5
MOV AX,X[SI]
L5: ADD SI,2
LOOP L4
RET
MAX ENDP

PUTINT PROC NEAR
MOV CX,M
MOV DL,10
L6: MOV DX,0
DIV DI
ADD DX,30h
PUSH DX
INC CX
CMP AX,0
JNE L6
L7: MOV AH,2
POP DX
INT 21H
LOOP L7
RET
PUTINT ENDP
CODE ENDS
END MAIN

5 回复
#2
爱以走远2007-05-25 21:58
堆栈不能以字节来放 只能是字 呵呵
小问题要注意
#3
爱以走远2007-05-25 22:05
不过好象在定义的时候都可以哈
呵呵 不好意思 才运行拉一哈
程序好象没问题
#4
g198710012007-06-04 22:23
为什么可以啊?PUSH后面不是只能+字的吗
#5
菜鸟上路2007-06-06 16:33
回复:(g19871001)为什么可以啊?PUSH后面不是只能+...
是啊
1