我正在嘗試編寫一個程序,允許我打印多個字符(字符串或整數)。我遇到的問題是我的代碼只打印其中一個字符,然後換行並停留在無限循環中。這是我的代碼:linux nasm打印多個字符
SECTION .data
len EQU 32
SECTION .bss
num resb len
output resb len
SECTION .text
GLOBAL _start
_start:
Read:
mov eax, 3
mov ebx, 1
mov ecx, num
mov edx, len
int 80h
Point:
mov ecx, num
Print:
mov al, [ecx]
inc ecx
mov [output], al
mov eax, 4
mov ebx, 1
mov ecx, output
mov edx, len
int 80h
cmp al, 0
jz Exit
Clear:
mov eax, 0
mov [output], eax
jmp Print
Exit:
mov eax, 1
mov ebx, 0
int 80h
有人能指出我做錯了什麼嗎?
感謝,
Rileyh
此外,從'read'系統調用的返回值應該被用來確定有多少字節已實際投入的緩衝區。 – Jester
感謝堆。很好的答案。 – Progrmr