четверг, 1 января 2015 г.

Сортировка пузырьком на Ассемблере

.MODEL SMALL
.DATA
x db 9,7,2,0,6,3,1,4,5,8
.CODE
program:
MOV AX,@DATA
MOV DS,AX
;--------------
MOV AX,0
MOV BX,0
MOV BX, 9
MOV SI, BX
MOV DI, BX

L1:
   MOV AL, x[BX]
   DEC BX
   MOV AH, x[BX]

   CMP AL, AH
   JB SWAP
   CMP BX,0   
   JE LNext
   JMP L1
   
SWAP:
     MOV x[BX], AL
     INC BX
     MOV x[BX], AH
     
     DEC BX
     CMP BX, 0
     JE LNext
     JMP L1

LNext:
      MOV BX, SI
      DEC DI
      CMP DI,0
      JE FINISH
      JMP L1
;--------------
FINISH:
MOV AX, 4C00H
INT 21H
END program

Результат в компиляторе AsmEdit