//程序功能是在屏幕上现实25+9=34
问题:对类型操作符的使用不是很清楚,什么情况下必须使用,是不是针对特定的某一类指令???
.486
DATA SEGMENT USE16
SUM DB ?,?
MESG DB '25+9='
DB 0,0,'$'
N1 DB 9
N2 DB 25
DATA ENDS
CODE SEGMENT USE16
ASSUME CS:CODE,DS:DATA
BEG :MOV AX , DATA
MOV DS ,AX
MOV BX ,OFFSET SUM
MOV AH,9
MOV AL,25
ADD AH ,AL
MOV[BX],AH\\此处为什么不用重新规定[bx]的类型属性为字节属性(即:为什么不改为mov byte ptr[bx],ah)?
CALL CHANG
MOV AH, 9
MOV DX , OFFSET MESG
INT 21H
MOV AH, 4CH
INT 21H
CHANG PROC
LAST: CMP BYTE PTR [BX], 10\\此行往下所有的byte ptr 去掉编译为什么会出错,谢谢详细解释!!!
JC NEXT
SUB BYTE PTR [BX ], 10
INC BYTE PTR [BX+7]
JMP LAST
NEXT: MOV DL , SUM
ADD [BX+8],DL
ADD BYTE PTR [BX+7],30H
ADD BYTE PTR [BX+8],30H
RET
CHANG ENDP
CODE ENDS
END BEG