|
插入排序法
- BRANCH_TAKEN MACRO
- DB 3EH
- ENDM
- BRANCH_NOT_TAKEN MACRO
- DB 2EH
- ENDM
- MAX_BYTE EQU 0FFH
- ;EBX:POINTER TO ARRAY
- ;ECX:ARRAY LENGTH
- INSERTIONSORT PROC
- LEA ESI,[EBX+ECX]
- PUSH DWORD PTR [ESI]
- PUSH ESI
- MOV BYTE PTR [ESI],MAX_BYTE
-
- SUB ECX,2
-
- LOOP1: LEA ESI,[EBX+ECX]
- MOV AL,[ESI]
- JMP LOOP2ENTRY
-
- LOOP2: MOV [ESI],DL
- ADD ESI,1
- LOOP2ENTRY: MOV DL,[ESI+1]
- CMP AL,DL
- ENDLOOP2: JA LOOP2
-
- MOV [ESI],AL
-
- SUB ECX,1
- BRANCH_TAKEN
- ENDLOOP1: JNC LOOP1
-
- POP ESI
- POP DWORD PTR [ESI]
- RET
- INSERTIONSORT ENDP
复制代码 |
评分
-
查看全部评分
|