mov bl,0 jmp l4 l5: cmpal,'Z' jbe l4 cmpal,'a' jae l7 mov bl,0 jmp l4 l7: cmpal,'z' jbe l4 mov bl,0 l4: incsi loop again add dl,30h mov ah,2h int 21h mov ax,4c00h int 21h mainendp
end
四、 运行测试
实验三、数组元素排序
一、 实验内容
实现从键盘输入两个数字并存入数组中,对数组中元素进行排序并打印在屏幕上。
二、算法分析
对于从键盘输入的每个数字都将其存进数组的一个内存单元中,并将数组第一个元素的有效地址置入DI,之后采用冒泡排序算法对数组元素进行排序。
二、 源代码
CODE SEGMENT
ASSUME CS:CODE ORG 100H START:
PUSH CS POP DS PUSH CS POP ES CALL INPUTNUM MOV AX,NUM MOV N,AX CALL BUBBLESORT MOV AH,2
MOV DL,10 INT 21H MOV DL,13 INT 21H MOV CX,N LEA SI,ARRAY @M1:
MOV AX,[SI] CALL DISPAX INC SI INC SI LOOP @M1
MOV AH,4CH INT 21H
N DW ?
;============================================ BUBBLESORT PROC NEAR LEA BX,ARRAY LEA SI,NUM MOV AX,SI
SUB AX,BX ROR AX,1
MOV WORD PTR[NUM],AX DEC WORD PTR[NUM]
MOV WORD PTR[I],0 ; 冒泡排序
LEA DI,ARRAY LINE1:
INC WORD PTR[I] MOV AX,WORD PTR[I] CMP AX,WORD PTR[NUM] JG LINE3
MOV WORD PTR[J],0 LINE2:
INC WORD PTR[J] MOV AX,WORD PTR[NUM] INC AX
SUB AX,WORD PTR[I] CMP WORD PTR[J],AX JG LINE1
MOV BX,WORD PTR[J]
以下采用