Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- ;------------------ASSEMBLY CODE TO SORT AN ARRAY IN ASCENDING ORDER------------------
- .MODEL SMALL
- .STACK 100H
- .DATA
- PROMPT1 DB "ENTER YOUR TEXT : $"
- PROMPT2 DB 0AH, 0DH, "IN ASCENDING ORDER IT IS : $"
- ;------------------ARRAY TO STORE CHARS-----------------
- A DB 100 DUP(?)
- ;-----------------ARRAY LENGTH VARIABLE-----------------
- SIZE DW 0
- .CODE
- MAIN PROC
- MOV AX, @DATA
- MOV DS, AX
- ;-------------FIRST PROMPT-------------
- MOV AH, 9
- LEA DX, PROMPT1
- INT 21H
- ;---------------TAKE INPUT-------------
- MOV AH, 1
- MOV DI, 0
- TAKE_INPUT:
- ;--------------INPUT LOOP--------------
- INT 21H
- CMP AL, 0DH
- JE NEXT
- MOV A[DI], AL
- INC DI
- JMP TAKE_INPUT
- NEXT:
- ;---------------INITIALIZE COUNTER REGISTERS-----------------
- MOV SIZE, DI
- MOV DI, 0
- MOV BX, 0
- MOV CX, 0
- ;-------------------NESTED FOR LOOP-------------------------
- ;--------ARRAY SORT ALGORITHM----------
- ;for (i = 0; i < n; ++i)
- ;{
- ; for (j = i + 1; j < n; ++j)
- ; {
- ; if (number[i] > number[j])
- ; {
- ; a = number[i];
- ; number[i] = number[j];
- ; number[j] = a;
- ; }
- ; }
- ;}
- ;------------ALGO IMPLEMENTATION---------
- LOOP1:
- MOV CX, BX
- ADD CX, 1
- LOOP2:
- MOV DI, BX
- MOV DH, A[DI]
- MOV DI, CX
- MOV DL, A[DI]
- CMP DH, DL
- JG EXCHANGE
- CONTINUE:
- INC CX
- CMP CX, SIZE
- JL LOOP2
- INC BX
- CMP BX, SIZE
- JL LOOP1
- JMP OUTPUT -
- EXCHANGE:
- ;-------------------SORT IN ASCENDING ORDER-----------------
- MOV DI, BX
- MOV A[DI], DL
- MOV DI, CX
- MOV A[DI], DH
- JMP CONTINUE
- ;-----------------OUTPUT LOOP-----------------
- OUTPUT:
- ;--------------SHOW OUTPUT PROMPT-------------
- MOV AH, 9
- LEA DX, PROMPT2
- INT 21H
- ;-----------PRINT SORTED ARRAY----------------
- MOV AH, 2
- MOV DI, SIZE
- SUB DI, 1
- MOV SIZE, DI
- MOV DI, 0
- OUTPUT_LOOP:
- ;-----------DISPLAY OUTPUT CHAR BY CHAR------------
- MOV DL, A[DI]
- INT 21H
- INC DI
- CMP DI, SIZE
- JL OUTPUT_LOOP
- MOV DL, A[DI+1]
- INT 21H
- ;-------------END PROGRAM-------------
- MOV AH, 4CH
- INT 21H
- MAIN ENDP
- END MAIN
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement