0
DATA SEGMENT
MSG1 DB 10,13,"ENTER THE FIRST NUMBER: $"
MSG2 DB 10,13,"ENTER THE SECOND NUMBER: $"
MSG3 DB 10,13,"ANSWER: $"
ENDS
CODE SEGMENT
ASSUME DS:DATA,CS:CODE
START:
MOV AX,DATA
MOV DS,AX
LEA DX,MSG1
MOV AH,09H
INT 21H
MOV AH,01H
INT 21H
CALL INPUT8
MOV CL,AL
ROL CL,04H
MOV AH,01H
INT 21H
CALL INPUT8
ADD CL,AL
LEA DX,MSG2
MOV AH,09H
INT 21H
MOV AH,01H
INT 21H
CALL INPUT8
MOV BL,AL
ROL BL,04H
MOV AH,01H
INT 21H
CALL INPUT8
ADD BL,AL
ADD CL,BL
MOV BL,CL
ROL CL,04H
AND CL,0FH
LEA DX,MSG3
MOV AH,09
INT 21H
CALL OUTPUT8
MOV CL,BL
AND CL,0FH
CALL OUTPUT8
INPUT8 PROC
SUB AL,30H
RET
ENDP
OUTPUT8 PROC
ADD CL,30H
MOV DL,CL
MOV AH,02
INT 21H
RET
ENDP
MOV AH,4CH
INT 21H
ENDS
END START
出力:2番目の数字の2桁目を入力しても何も起こりません。コードの何が間違っていますか?コマンドプロンプトで
ようこそ。あなたはデバッグを試みましたか? –
'MOV AH、09'に' H'がありません。 – jboockmann
私はtasmとtlinkを参照しています...ボーランドも "Turbo Debugger"を作りました。試してみてください。あなたがそれを購入していないなら、多分あなたはSWを盗むのをやめて、アセンブラ(例えばnasm)のための多くの自由な置き換えがあると考えるべきです。あなたのOSを直接。そうでない場合は、dosboxを試してください。デバッガなしでASM内の何かをコーディングすることは、目隠しされたロボットを組み立てることです。 – Ped7g