2 yeruo yeruo 于 2015.07.13 20:40 提问

mov di,16h 和mov di,16有什么不同吗?代码中有注释哪里有问题

DATA SEGMENT
STRG DB 30H,31H,32H,33H,34H,35H,36H,37H,38H,39H
DB 41H,42H,43H,44H,45H,46H
DB 30H,31H,32H,33H,34H,35H,36H,37H,38H,39H
DB 41H,42H,43H,44H,45H,46H
DATA ENDS
CODE SEGMENT
ASSUME CS:CODE,DS:DATA
START: MOV AX,DATA
MOV DS,AX
MOV DI,16;*************************************这里如果改成16h结果又问题
XOR BX,BX
NEXT: LEA SI,STRG
ADD SI,BX
MOV CX,16
MOV AH,2
DISP: MOV DL,[SI]
INT 21H
MOV DL,' '
INT 21H
INC SI
LOOP DISP
MOV DL,0AH
INT 21H
MOV DL,0DH
INT 21H
INC BX
DEC DI
JNZ NEXT
MOV AH,4CH
INT 21H
CODE ENDS
END START

3个回答

a1193561652
a1193561652   Rxr 2015.07.13 21:27

回答这个?16h是16进制数,换成10进制为22。

a1193561652
a1193561652 回复yeruo: 16h表示22次,16才表示16次
2 年多之前 回复
yeruo
yeruo 回复纵横车: 恩恩 di是用来计数的。那个计数不是应该用16h减 然后减到00h就代表16次么。。为什么用十进制16来代表16次呢。就是这里有点不明白
2 年多之前 回复
a1193561652
a1193561652 那个di好像就是个计数的,并没有用它寻址。另外前面数据段里有两段一样的数据,感觉好浪费,可以改一下程序的逻辑,然后只使用一段数据。
2 年多之前 回复
bdmh
bdmh   Ds   Rxr 2015.07.13 21:38

进制不同,带h表示是16进制

Betterday
Betterday   2015.07.16 17:17

16 = 16;16H = 22

Csdn user default icon
上传中...
上传图片
插入图片