global _start
_start:
section .text
;display msg
mov rax,1
mov rdi,1
mov rsi,msg1
mov rdx,len1
syscall
;accept system syscall
mov rax,0
mov rdi,0
mov rsi,str1
mov rdx,length1
syscall
dec rax
mov [str_length1],rax
;display msg
mov rax,1
mov rdi,1
mov rsi,msg2
mov rdx,len2
syscall
mov rax,[str_length1]
call display
;exit
mov rax,60
mov rdi,0
syscall
display:
mov rsi,disparr+1
mov rcx,16
l2: mov rdx,0
mov rbx,10h
div rbx
cmp dl,09h
jbe l1
add dl,07h
l1: add dl,30h
mov [rsi],dl
dec rsi
dec rcx
jnz l2
mov rax,1
mov rdi,1
mov rsi,disparr
mov rdx,2
syscall
ret
section .data
msg1 db "Enter a string:",0ah
len1 equ $-msg1
msg2 db "length of the string : ",0ah
len2 equ $-msg2
section .bss
disparr resb 40
str1 resb 40
length1 resb 40
str_length1 resb 40
To embed this project on your website, copy the following code and paste it into your website's HTML: