Muszę napisać program, który wczytany ciąg znaków zmieni na zapis dziesiętny i wypisze to co otrzymaliśmy, na razie działa mi echo, jak zrobić żeby dzięki skokom poruszał się po komórkach pamięci, które mają ulegać zmianie?
.align 32
SYSEXIT = 1
SYSREAD = 3
SYSWRITE = 4
STDOUT = 1
STDIN =0
EXIT_SUCCESS = 0
.data
bufor: .space 1000
bufor_len = 10
num: .int =10
numm: .int =1
.text
text: .ascii "Podaj ciag znakow"
text_len = . - text
.global _start
_start:
mov $SYSWRITE, %eax
mov $STDOUT, %ebx
mov $text, %ecx
mov $text_len, %edx
int $0x80
mov $SYSREAD, %eax
mov $STDIN, %ebx
mov $bufor, %ecx
mov $bufor_len, %edx
int $0x80
ety_1:
mov $bufor, %eax
mov $al, %ecx
imul $num, %ecx
ety_2:
shr $numm, %eax
mov $al, %ebx
imul $num, %ebx
add %ebx, %eax
cmp %al,lf
jne ety_2
int $0x80
mov $SYSWRITE, %eax
mov $STDOUT, %ebx
mov $bufor, %ecx
mov $bufor_len, %edx
int $0x80
mov $SYSEXIT, %eax
mov $EXIT_SUCCESS, %ebx
int $0x80