Assembler - zmienianie wczytanego ciągu znaków

0

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

0

który wczytany ciąg znaków zmieni na zapis dziesiętny i wypisze to co otrzymaliśmy

Co to znaczy "ciąg znaków na zapis dziesiętny"?
Podaj przykładowe wejście i wyjście.

PS. w przypadku assemblera zawsze trzeba podać architekturę procesora i system operacyjny.
To z twojego listingu na oko wygląda na Linux x86, ale to nie jest oczywiste.

0

Tak to jest Linux x86, to powinno działać tak, że jeśli podamy np. AAA, to zwróci to w zapisie dziesiętnym: 65 65 65

1 użytkowników online, w tym zalogowanych: 0, gości: 1