こんにちは、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! を出力します。正しい回数ですが、これを出力したい
*ello, World!
**llo, World!
***lo, World!
****o, World!
等々。
誰でも私を助けてください。
出力にprintfを使用するためにCライブラリにリンクされていることにも注意する必要があります。