-2
안녕하세요, Nasm에서 루프를 만들려고합니다. 루프가 작동하지만 문자열이 바뀌면이 문자열을 변경하여이 작업을 수행하는 것처럼 보입니다.Nasm 문자열 만들기
나는이 작업이 :
main:
mov ebx,0 ; set ebx to 0
myloop: ;
inc ebx ;
mov [msg], 2Ah ; Immediate move * to msg
mov eax, 2Ah ;
push ecx ; save ecx as printf uses it
push OFFSET msg ; parameter used by printf
call printf ; print string msg
add esp, 4 ; remove pointer to msg
pop ecx ; restore ecx
cmp ebx,[len] ;
jl myloop ;
ret
.DATA
msg db "Hello, World+!", 0Ah, 0 ; 0A cariage return
; 0 end of string
star BYTE 2Ah ; 2A (hex) = Ascii *
len equ $ - (msg +1) ; length of string msg
end
을하며 *여보세요, 세계에 출력! 올바른 횟수로 출력하지만이 출력을 원합니다.
*ello, World!
**llo, World!
***lo, World!
****o, World!
등등.
누구든지 나를 도와 줄 수 있습니까?
출력을 위해 printf를 사용하려면 C 라이브러리에 링크되어 있다는 점에 유의해야합니다.
언급하지 않습니다? 더 많이 MASM – Gunner
Nasm와 Masm는 거의 같은 물건이다? – 1ftw1
미안하지만, 그들은 밤낮으로 다르다! – Gunner