上記のSCAS命令またSCAS命令の使い方がよくわからないので教えてください。
SCASB命令とは・・・
ALレジスタの内容とDIレジスタの内容を比べて
どっちかのほうが大きかった場合
EFLAGSレジスタのステータスフラグ(SF符号フラグのこと?)を変更する。
・・・ですか?
実験①
コード DI > AL
MOV DI,0x02 MOV AL,0x01 SCASB JS SAMPLE1 ;SFフラグが立っている場合 SAMPLE1へジャンプ SAMPLE2: ;"JS NO JMP"を表示" MOV SI,SAMPLE_DATA_BUFFER2 CALL DisplayMessage JMP $ SAMPLE1: ;"JS JMP"を表示 MOV SI,SAMPLE_DATA_BUFFER1 CALL DisplayMessage JMP $
結果
緑色の枠の中に"JS NO JMP"が表示されました。
実験② AL > DI
MOV DI,0x01 MOV AL,0x02 SCASB JS SAMPLE1 ;SFフラグが立っている場合 SAMPLE1へジャンプ SAMPLE2: ;"JS NO JMP"を表示" MOV SI,SAMPLE_DATA_BUFFER2 CALL DisplayMessage JMP $ SAMPLE1: ;"JS JMP"を表示 MOV SI,SAMPLE_DATA_BUFFER1 CALL DisplayMessage JMP $
・・・SCASB命令の使い方 動作そのものがよくわかりませんので教えてください。
回答2件
あなたの回答
tips
プレビュー
バッドをするには、ログインかつ
こちらの条件を満たす必要があります。
2020/10/28 01:36 編集