【发布时间】:2024-04-28 08:50:02
【问题描述】:
我正在尝试打印 Hi 10 次。这是我的代码。
section .data
msg db "Hi"
section .text
global _start
_start:
mov cx, 10
L1:
mov eax, 4
mov ebx, 1
mov ecx, msg
mov edx, 3
int 0x80
dec cx
jnz L1
mov eax, 1
mov ebx, 0
int 0x80
gdb 报告 mov edx, 3 将 cx 寄存器覆盖为某个疯狂的值,因此循环一直持续下去。
我做错了什么?是因为它们是同一个寄存器吗?
如何用这么少的寄存器进行汇编程序?
用nasm和ld在centos上编译
谢谢
【问题讨论】: