我尝试使用汇编语言编写打印代码,该句子存储在%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