汇编程序 - 标准输入和转换

时间:2015-04-13 13:59:41

标签: assembly hex ascii

我希望我的程序从标准输入读取字符并在kodd中总结。

然而,当我进入时,例如。值23,我只保存了第一个字符的以下ASCII值,即。 2没有3

第二个问题是如何将kodd中存储的值转换为十六进制代码? 还有如何正确初始化esiedi 我想到mov $kod, %edi 但是esi呢?



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




0 个答案:

没有答案