Panel użytkownika
Nazwa użytkownika:
Hasło:
Nie masz jeszcze konta?

Assembler - wczytywanie ze standardowego wejścia i konwersja

Ostatnio zmodyfikowano 2015-04-13 14:39
Autor Wiadomość
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
P-130796
« 1 »
  Strona 1 z 1