Assembler - wczytywanie ze standardowego wejścia i konwersja
Ostatnio zmodyfikowano 2015-04-13 14:39
cryuff Temat założony przez niniejszego użytkownika |
Assembler - wczytywanie ze standardowego wejścia i konwersja » 2015-04-13 14:39:48 Chcę aby mój program wczytywał znaki ze standardowego wejścia i wszystkie sumował w 'kodd'. Jednak kiedy wpisuje np. wartość 23 dodaje wartość ascii tylko pierwszego znaku tj. 2 pomijając 3 Drugi problem to jak zamienić wartość przechowywaną w kodd na kod szesnastkowy? data kod: .space 1000 kodd: .long 0 kod_roz = 10000
.text
text: .ascii "Podaj ciag znakow zakoncz enterem" text_len = . -text
.align 32
SYSEXIT=1 SYSREAD=3 SYSWRITE=4 STDOUT=1 STDIN=0 EXIT_SUCCESS=0
.global _start
_start: mov $4, %eax mov $1, %ebx mov $text, %ecx mov $text_len, %edx int $0x80 s: mov $3, %eax mov $0, %ebx mov $kod, %ecx mov $kod_roz, %edx int $0x80 mov kod(%esi,1),%bl #poczatek cmp $'\n',%bl je koniec petla: mov kod(%edi,1),%bl #koniec add %ebx, kodd je s
fm: inc %edi jmp s koniec: mov $1,%eax mov $0,%ebx int $0x80
|
|
« 1 » |