practical 3
practical 3
mov rax, %1
mov rdi, %2
mov rsi, %3
mov rdx, %4
syscall
%endmacro
section .data
l1 equ $ - m1
m2 db "Length is : "
l2 equ $ - m2
l3 equ $ - m3
l4 equ $ - m4
m5 db "",10
l5 equ $ - m5
section .bss
input resb 50
count resb 1
_output resb 20
section .text
global _start
_start:
IO 1, 1, m1, l1
call takeInput
IO 1, 1, m3, l3
IO 1, 1, input, iLen
IO 1, 1, m4, l4
dec byte[count]
call hex_to_dec
IO 1, 1, _output, 16
IO 1, 1, m4, l4
dec byte[count]
call hex_to_dec
IO 1, 1, _output, 16
IO 1, 1, m5, l5
call exit
ret
takeInput:
IO 0, 0, input, iLen
mov [count], rax
ret
hex_to_dec:
mov rsi,_output+15
mov rcx,2
letter2:
xor rdx,rdx
mov rbx,10
div rbx
cmp dl,09h
jbe add30
add30:
add dl,30h
mov [rsi],dl
dec rsi
dec rcx
jnz letter2
ret
exit:
mov rax, 60
syscall
Output:
Enter the string : Entered string is :
String length is: 55