I want to iterate over the characters of a string and convert every single character to its respective ASCII value. So far I have created this program that takes input from the user and then stores it in the buffer. I have also created a loop that reads the character from the buffer (esi) and stores it within the al register. After supposedly converting the character in al to ASCII, it increments esi to go to the next character and runs the loop_start routine again.
section .data
prompt db "Enter your message: "
prompt_len equ $-prompt
newline db 10, 0
section .bss
buffer resb 255
section .text
_start:
mov eax, 4
mov ebx, 1
mov ecx, prompt
mov edx, prompt_len
int 0x80
mov eax, 3
mov ebx, 2
mov ecx, buffer
mov edx, 255
int 0x80
mov esi, buffer
loop_start:
mov al, byte [esi]
cmp al, 0
je done
cmp esi, buffer
je print_char
print_char:
; do something
inc esi
jmp loop_start
done:
mov eax, 1
mov ebx, 0
int 0x80
ret
How do I make it so that I am able to print out the ASCII value of the character as the loop iterates over it. Thank you in advance!