gpt4 book ai didi

linux - 如何在汇编循环中打印整数

转载 作者:太空宇宙 更新时间:2023-11-04 09:08:23 24 4
gpt4 key购买 nike

<分区>

我正在试验 assembly 。现在我有一个简单的 while 循环,从 eax = 1 开始,然后循环直到 eax = 10。在循环中,我使用打印宏来打印进度(应该打印 1 - 10),但它不起作用..

section .bss
buffer resd 1

section .text
global _start


%macro write 3
mov eax, 4
mov ebx, %1
mov ecx, %2
mov edx, %3
int 80H
%endmacro

_start:
xor eax, eax
inc eax

while:
cmp eax, 10
jg end

mov [buffer], eax

write 1, [buffer], 1

mov eax, [buffer]

inc eax
jmp while

end:
mov eax, 1
xor ebx, ebx
int 0x80

C 等价物是:

#include <stdio.h>

int main(void)
{
unsigned int i = 1;
while(i <= 10)
{
printf("%d", i);
i++;
}

return 0;
}

所以我的问题是..我如何使用写入宏来打印值?我需要更改什么?

谢谢

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