私はアセンブリを学んでおり、もちろん古典的な 0x10 bios 割り込みを試しています。私が見たリソースはlodsb
、文字列を出力するために使用していることを示しているため、そのオペコードを理解するために、その動作を模倣しようとしています。これはでは問題lodsb
なく動作しますが、私が持っているものではうまくいきません。私は何を間違っていますか?:
始める: mov ah, 0Eh ; BIOS 割り込み用 mov si, text_string ;ソース インデックスを text_string の先頭に設定 。繰り返す: ; lodsb の動作をエミュレートして、それがどのように機能するかを学習しようとしています: mov al, [si] ; al レジスタの si に文字を入れる add si, 1 ;ソース インデックスをインクリメントする cmp al, 0 ;文字がゼロの場合 (文字列の終わり) 終了しました;実行を終了します int 10h ;文字を画面に表示するための bios 割り込み jmp .repeat text_string db 'Hello, World!', 0 終わり: 戻る