这是一段把字节DAT 里的十六进制6A印出来的代码
注译就不必了,因为这段程序是错的
错误1:
MOV AL, DL ;把DL存于AL
MOV CL, 4
SHR DL, CL
ADD DL, 30H
MOV AH, 02H
INT 21H
MOV DL, AL ;
取回存于AL的值,但这是时的AL,已不是原先存下来的DL值,而变成最后印出的DL字节值,即36,而不是6A,(这是INT21H, AH=02的特性)
所以之后不可能印出接下来的A
其实不用保存到AL,第2次再读DAT即可MOV DL,DAT
错误2:
代码简单化…..
全段代码只为印出6A而写,若印出的不是6A而是A6,
结果就是…..[ : = ] 没错,就是这两个符号