Я пытаюсь написать код для печати, используя язык ассемблера, предложение хранится в регистре% edi, и я хочу показать его в терминале, используя код C, но я не могу! Я не знаю, где проблема! Может кто-то помочь мне, пожалуйста?
Код:
.data
# buffer:
# .space 22
.bss
.lcomm buffer, 1024
.globl Myprintf
.text
Myprintf:
addl %edi, buffer
mov $buffer, %r10
do_chaine:
movb (%r10), %r8b
incb %cl
inc %r10b
cmp %r8b, fin
jz chaines
jmp do_chaine
chaines:
movl %ecx, %edx
movl $0, %ecx
movl (%r10), %ecx
movl $4, %eax
movl $1, %ebx
int $0x80
jmp done
done:
mov $1, %eax
mov $0,%ebx
int $0x80