Cs401 Assignment
Cs401 Assignment
[org 0x0100]
jmp start
id: db 1,5,0,4,0,2,8,8,9
greater: db 0
substractResult: db 0,0,0,0,0,0,0,0,0
sortResult: db 0,0,0,0,0,0,0,0,0
swap: db 0
start:
mov cx, 9
mov bl, 0
mov si, id
up:
mov al, [si]
cmp al, bl
jl next
mov bl, al
next:
inc si
dec cx
jnz up
mov [greater], bl
mov si, id
mov di, 0
mov cx, 9
mov bl, 0
subroutine:
mov al, [si]
mov bl, [greater]
sub bl, al
mov [substractResult + di], bl
mov [sortResult + di], bl
inc si
inc di
dec cx
jnz subroutine
main:
mov si, 0
mov byte [swap], 0
inner:
mov al, [bx + si]
cmp al, [bx + si + 1]
jbe noswap
noswap:
add si, 1
cmp si, cx
jne inner
cmp byte [swap], 1
je main
mov ax, 0x4c00
int 0x21
b) Screenshot of the result: