我是装配新手,我正在试图找出如何将数组打印到屏幕上。我有一个名为“Array”的数组,大小为10个元素。
这是我的其余代码:
section .data
msg db "The array: "
len equ $- msg
Array DB '1', '2', '3', '4', '5', '6', '7', '8', '9', '10'
section .text
global _start
_start:
mov eax, 4
mov ebx, 1
mov ecx, msg ;prints msg
mov edx, len
int 0x80
jmp printArray ;calls print array function
jmp Exit ;calls exit function
printArray:
mov ebx, offset Array ;address array with ebx
mov ecx, 10 ; load counter with 10
jmp Again ; go to Again function
ret
Again:
mov eax, 4
mov ebx, 1
int 0x80
inc ebx ;increments ebx to get next element in array
dec ecx
;; compares the counter to 0
cmp ecx, 0
jnz Again
Exit:
mov eax, 1
mov ebx, 0
int 0x80
它打印msg并构造数组,但我需要帮助循环遍历数组并将元素打印到屏幕上。
我希望这样一个简单的例子对于刚开始的人有用。 谢谢你的帮助!