Prac 2
Prac 2
02
Name:- Swapnil
Suryavanshi
Roll No:- S213074
Div:- C
Batch:- C2
Problem Statement:-
Write an X86/64 ALP to accept a string and to display its length.
Program:-
section .data
msg1 db "Enter a string: ", 0
len1 equ $ -msg1
newline db 10,0
msg2 db "Length of string: ", 0
len2 equ $ -msg2
section .bss
input resb 128
len_result resb 40
section .text
global _start
_start:
mov rax, 01
mov rdi, 01
mov rsi, msg1
mov rdx, len1
syscall
mov rax, 00
mov rdi, 00
mov rsi, input
mov rdx, 128
syscall
int_to_str:
xor rbx, rbx
mov rdi, 10
convert_loop:
xor rdx, rdx
div rdi
add dl, '0'
push rdx
inc rbx
test rax,rax
jnz convert_loop
write_digits:
pop rax
mov byte[rsi],al
inc rsi
dec rbx
jnz write_digits
mov byte[rsi],0
ret
Output:-