NASM неожиданный вывод при печати - PullRequest
0 голосов
/ 02 сентября 2018

У меня новенькая очень маленькая проблема со сборкой NASM в linux. Я сделал простую программу для практики, которая, когда вы вводите текст, добавляет простое оформление в виде звезд. Ожидаемый результат:

*********EXAMPLE*********

вместо

*********EXAMPLE
*********

вот полный код программы (длинный). Я использовал edb, чтобы проверить код и проверить регистр EDX, если он совпадает с длиной, принятой нулевой проверкой байтов, чтобы напечатать правильное количество символов.

section .data
prompt db "Please enter a word (MAX: 10 Characters) : ", 0xa, 0xd 
plen equ $ - prompt
stars times 9 db "*"


section .bss
text resb 10

section .text
global _start
_start: 


mov eax, 4 
mov ebx, 1  
mov ecx, prompt 
mov edx, plen   
int 0x80    


mov eax, 3  
mov ebx, 0  
mov ecx, text   
mov edx, 11 
int 0x80    

xor ecx, ecx
mov esi, text    
mov ecx, 0

loop1:      
inc ecx 

cmp byte [esi + ecx], 0x00      

jne loop1   

push ecx        

jmp printexit   

printexit:  


    mov eax, 4
mov ebx, 1
mov ecx, stars
mov edx, 9
int 0x80


mov eax, 4
mov ebx, 1
mov ecx, text
pop edx
int 0x80


mov eax, 4
mov ebx, 1
mov ecx, stars
mov edx, 9 
int 0x80

mov eax, 1 
int 0x80    
...