大家帮忙看看怎么回事~急,急,急,急~~~~~~~~
DATA SEGMENTDATA ENDS
STACK SEGMENT STACK
DB 200 DUP(0)
STACK ENDS
CODE SEGMENT
ASSUME CS:CODE,SS:STACK,DS:DATA,ES:DATA
ARRAY DB 8,7,6,5,4,3,2,1
RESULT DB 10 DUP(0)
START: PUSH DS
XOR AX,AX
PUSH AX
CLI ;关中断
MOV AX,SEG NEW65H ;输入中断65H的段基址
MOV DS,AX
MOV DX,OFFSET NEW65H ;输入中断65H的偏移地址
MOV AX,2565H ;调用中断25H设置中断矢量
INT 21H
STI ;开中断
INT 65H ;调用中断65H
MOV AH,4CH
INT 21H
NEW65H PROC FAR ;具有累加功能的中断65H
PUSH DX ;保护现场
PUSH CX
PUSH BX
PUSH AX
MOV BX,OFFSET ARRAY
MOV DI,OFFSET RESULT
MOV CL,8
LOP: MOV AL,CS:[BX] ;在ARRAY中选择一个数
PUSH BX
MOV DL,AL
MOV CH,AL
LOP1: DEC DL ;对在在ARRAY中选的数字进行累加
ADD AL,DL
DEC CH
JNZ LOP1
MOV CS:[DI],AL ;将一个数的类加结果输入RESULT中
INC DI
POP BX
INC BX
DEC CL
JNZ LOP
MOV CL,8
MOV DI,OFFSET RESULT ;将累加值送入RESULT中
LOP2: MOV BL,CS:[DI] ;输出RESULT中的数
CALL FT10 ;对数进行十进制输出
MOV AL,0AH ;输入一个空格
MOV AH,2
INT 21H
INC DI
DEC CL
JNZ LOP2
POP AX
POP BX
POP CX
POP DX
IRET
NEW65H ENDP
FT10 PROC NEAR ;输出十进制数的子程序
PUSH AX
PUSH DX
MOV AL,BL
MOV AH,0
MOV BL,10
DIV BL
MOV BX,AX
MOV DL,BL
ADD DL,30H
MOV AH,2 ;输出商
INT 21H
MOV DL,BH
ADD DL,30H
MOV AH,2 ;输出余数
INT 21H
POP DX
POP AX
RET
FT10 ENDP
CODE ENDS
END STAR
生成OBJ文件时候出现
out of memory
不知道怎么回事
高手指点下````
[[italic] 本帖最后由 allenzhutian 于 2007-12-25 17:16 编辑 [/italic]]