ファンクションコール 0AH
『高級言語プログラマのためのアセンブラ入門』 171ページあたり
ファンクションコール 0AH は、「コンソールからの文字列入力」
EXTERN PUT_AX:NEAR CODE SEGMENT PUBLIC ASSUME cs:CODE,ds:DATA,ss:STK START: mov ax,DATA mov ds,ax ;-----------------------codeここから mov BUF,3 mov dx,OFFSET BUF mov ah,0AH int 21H mov al,BUF call PUT_AX mov al,BUF[1] call PUT_AX mov al,BUF[2] call PUT_AX mov al,BUF[3] call PUT_AX mov al,BUF[4] call PUT_AX ;-----------------------codeここまで mov ah,4CH int 21H CODE ENDS DATA SEGMENT ;-----------------------dataここから BUF DB 5 DUP(?) ;-----------------------dataここまで DATA ENDS STK SEGMENT STACK DB 100H DUP(?) STK ENDS END START
(PUT_AX は d:id:noritsugu:20071202:MASM のをリンクして使用)
で、「A」「B」「改行」
0A03 0A02 0A41 0A42 0A0D
- 3文字目は「改行」しか入力できない?
- 最初「mov ax,BUF」とか書いて怒られた(エラーメッセージ「error A2070: invalid instruction operands」)。
- ファンクションコール 09H で出力できないと思ったら、「$」終端が必要だった…