次のコードは、文字列で示されているよりも多くの文字を出力します。NASMを使用しています
section .text
global main
main:
mov ah,0x09
mov dx, varr
int 0x21 ; print string in dx
mov ah, 0x4c
mov al, 0x00
int 0x21 ; exit program code 0
section .data
varr db "asd",'$'
そして、asd文字列の後に続くランダムな文字を次のように出力します。
'♦V☺'♦'♦☺☺☺ ☻ 8♣µ Æ♣¶ ↑ Æ♣ ♣ ═! asd
どうしてこれなの?私が失敗していること。X 線で分解したところ、正しいように見えます。varrのアドレス(0x10) は、文字列の先頭に対応しています。