Цикл Loop не для в nasm

Когда 10 раз пробуют печатать привет мир я cicla в nasm здесь код какая-то помощь, чтобы знать, что он происходит, так как я новый здесь

section . data

msg db "hola mundo",0xA,0xD

len equ $ - msg

section .text

global _start

_start:

mov ecx,1

etiqueta1:

mov eax,4
mov ebx,1
mov ecx,msg
mov edx len
int 0x80

loop etiqueta1

mov eax,1
int 0x80
0
задан 02.04.2019, 08:15
1 ответ

Имейте в виду, что в Ваш cГіdigo, реестр ECX используется так как счетчик, как чтобы переносить стоимость в призыв к системе. Будь должен сохранять стоимость ECX до вывода цепи и это возвращать раньше loop ECX:

section .data

msg db "hola mundo",0xA,0xD
len equ $ - msg

counter dd 0

section .text

global _start

_start:

mov ecx,10

etiqueta1:

mov [counter], ecx

mov eax,4
mov ebx,1
mov ecx, msg
mov edx, len
int 0x80

mov ecx, [counter]

loop etiqueta1

mov eax,1
int 0x80
0
ответ дан 02.12.2019, 04:36