gpt4 book ai didi

assembly - 在汇编 x86 中打印寄存器

转载 作者:行者123 更新时间:2023-12-02 18:59:35 25 4
gpt4 key购买 nike

遵循了几个在线文档,但是当我尝试打印我存储在寄存器 %ecx 中的数字时,没有任何反应。这可能是因为我本质上是在执行计算然后尝试在循环中打印吗?

   mov     $48, %ecx  #Convert to ascii
mov $1, %edx #Print Byte
add %eax, %ecx

mov $4, %eax #Output To Console
mov $1, %ebx #File Descriptor - Standardout
int $0x80 #Call the Kernel

最佳答案

write 系统调用需要一个指向要打印的数据的指针。据我所知,你有一个数字。您可以将其临时存储在堆栈上以进行打印,如下所示:

mov     $48, %ecx  #Convert to ascii
mov $1, %edx #Print Byte
add %eax, %ecx
push %ecx # store on stack
mov %esp, %ecx # load address
mov $4, %eax # Output To Console
mov $1, %ebx # File Descriptor - Standardout
int $0x80 # Call the Kernel
pop %ecx # clean up stack

请记住,您需要一个更好的多位数转换例程。

关于assembly - 在汇编 x86 中打印寄存器,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/22621780/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com