EXPT 4 - To Find Largest of Given Number.
EXPT 4 - To Find Largest of Given Number.
4
Write an X86/64 ALP to find the largest of given Byte/Word/Doubleword/64bit
numbers.
section .data
welmsg db 10, 'The maximum number in the array is :',
len1 equ $-welmsg
array dQ 8abc123456781234h, 90ff123456781234h,7700123456781234h
arrcnt equ 3
section .bss
dispbuff resb 2
buf resb 16
%macro print 2
mov eax,4
mov ebx, 1
mov ecx, %1
mov edx, %2
int 0X80
%endmacro
section .text
global _start
_start:
print welmsg, len1
mov esi, array
mov rax, [esi]
mov ecx, arrcnt
up1:
add esi, 8
mov rbx, [esi]
cmp rax, rbx
jnc skip
mov rax, rbx
mov edi, buf
skip:
loop up1
mov rbx, rax
mov edi, buf
mov ecx, 16
dispup1:
rol rbx, 4
mov dl, bl
and dl, 0fh
add dl, 30h
cmp dl, 39h
jbe dispskip1
add dl, 07h
dispskip1:
mov [edi], dl
inc edi
loop dispup1
print buf, 16
ret