【发布时间】:2019-08-06 13:40:33
【问题描述】:
section .data:
msg1: db "Hello 10 times!"
msglen1: equ $-msg1
section .text:
global _initial:
global _start:
global _end:
_initial:
mov cx,10
_start:
dec cx
mov ecx,msg1
mov edx,msglen1
mov eax,4
int 80h
cmp cx,0
jz _end
jmp _start
_end
mov eax,1
int 80h
上面的代码必须产生“Hello 10 times”10次。但是它进入了无限循环,我不明白为什么? 我认为 cx 寄存器不会减少或其他什么?
【问题讨论】:
-
对不起,我听不懂,你是想说我应该把 cx 从 cx 改成 esi 吗?我刚才试过了,但死循环又出现了。可能是因为我是汇编初学者,但我不想学习。
标签: linux assembly x86 nasm system-calls