MPMC EXP 10 Code & Output Print
MPMC EXP 10 Code & Output Print
PROGRAMS:
Code
section .data SYS_READ n,1
prompt db "Enter number of
elements",10 call input
plen equ $-prompt call bubble_sort
prompt2 db "Enter elements",10 call display
p2len equ $-prompt2
prompt3 db "Elements are:",10 mov eax,1
p3len equ $-prompt3 mov ebx,0
newline db 10 int 80h
space db ' '
input:
section .bss SYS_WRITE prompt2,p2len
n resb 4 mov [i],dword '0'
arr resb 10 loop1:
i resb 4 mov esi,[i]
trash resb 1 cmp esi,[n]
jge after1
%macro SYS_WRITE 2
mov eax,4 sub esi,'0'
mov ebx,1 add esi,arr
mov ecx,%1 SYS_READ esi,1
mov edx,%2
int 80h inc dword[i]
%endmacro jmp loop1
after1:
%macro SYS_READ 2 ret
mov eax,3
mov ebx,2 display:
mov ecx,%1 SYS_WRITE prompt3,p3len
mov edx,%2 mov [i],dword '0'
int 80h loop2:
mov eax,3 mov esi,[i]
mov ebx,2 cmp esi,[n]
mov ecx,trash jge after2
mov edx,1
int 80h sub esi,'0'
%endmacro add esi,arr
SYS_WRITE esi,1
section .text SYS_WRITE space,1
global _start
inc dword[i]
_start: jmp loop2
SYS_WRITE prompt,plen after2:
pushad after5:
call display inc cl
popad jmp loop4
after4:
mov ecx,0 ;ecx is counter for inner inc al
loop, initialise to 0 jmp loop3
mov dl,bl after3:
sub dl,al ;dl is n-1-al ret
loop4:
cmp cl,dl ;repeat until cl<n-1-al
Output:
Code:
section .data mov eax,1
prompt db "Enter number of elements",10 mov ebx,0
plen equ $-prompt int 80h
prompt2 db "Enter elements",10
p2len equ $-prompt2 input:
prompt3 db "Elements are:",10 SYS_WRITE prompt2,p2len
p3len equ $-prompt3 mov [i],dword '0'
newline db 10 loop1:
space db ' ' mov esi,[i]
cmp esi,[n]
section .bss jge after1
n resb 4
arr resb 10 sub esi,'0'
i resb 4 add esi,arr
trash resb 1 SYS_READ esi,1
_start: insertion_sort:
SYS_WRITE prompt,plen mov eax,1 ;al is counter for outer loop,
SYS_READ n,1 initialise to 1
mov bl,[n] ;bl=n
call input sub bl,'0'
call insertion_sort loop3:
call display cmp al,bl ;repeat until al<n
jge after3
jge after4
pushad
call display mov dh,[arr+ecx]
popad mov [arr+ecx+1],dh ;arr[ecx], arr[ecx+1]
Code
section .data n resb 4
prompt db "Enter number of arr resb 10
elements",10 i resb 4
plen equ $-prompt trash resb 1
prompt2 db "Enter elements",10
p2len equ $-prompt2 %macro SYS_WRITE 2
prompt3 db "Elements are:",10 mov eax,4
p3len equ $-prompt3 mov ebx,1
newline db 10 mov ecx,%1
space db ' ' mov edx,%2
int 80h
%endmacro
section .bss
Nidhi Shanbhag 211105036 |P a g e
EXPERIMENT NO: 10 SORTING ALGORITHMS Date:29/05/2023
Output:
Conclusion:
All programs were executed successfully