说明
有2个数组:
ary1 db 12,-35,0,126,-90,-5,68,120,1,-19
ary2 db 24,25,0,-38,-89,99,68,100,2,-20
比较两个数组的对应位,将大的数放在ary1数组中,小的数放在ary2中(要求采用子程序格式)
描述
通过寄存器传递参数,利用子程序格式解决问题
代码
DATA SEGMENT
ARR DB 12,-15,0,126,-90,-5,68,120,1,-19
ARR2 DB 24,25,0,-38,89,99,68,100,2,-20
CNT EQU $-ARR
DATA ENDS
CODE SEGMENT
ASSUME CS:CODE,DS:DATA
START:MOV AX,DATA
MOV DS,AX
MOV CX,CNT
MOV DI,0
MOV DL,'N'
LOP: INC DI
CMP DI,CNT-1
JE EXIT
CALL EXCH
EXIT2:
MOV AH,02H
INT 21H
MOV AH,4CH
INT 21H
EXCH PROC NEAR
MOV BH,ARR[DI]
MOV BL,ARR2[DI]
CMP BH,BL
JNGE LOP2
JMP LOP3
LOP2: MOV ARR[DI],BL
MOV ARR2[DI],BH
JMP LOP
LOP3: MOV ARR[DI],BH,
MOV ARR2[DI],BL
JMP LOP
EXCH ENDP
EXIT: MOV BH,ARR[4]
MOV BL,ARR2[4]
CMP BH,BL
JG EXIT3
JMP EXIT2
EXIT3:
MOV DL,'Y'
JMP EXIT2
CODE ENDS
END START
时间仓促,未来得及细化 有时间会添加实验报告