先看一段代碼:
DATE SEGMENT
DA1 DW 1234H
DA2 DB 56H,78H
DATA ENDS
。
。
。
MOV AX,DATA
MOV DS,AX
MOV DI,OFFSET DA1
MOV BX,OFFSET DA2
MOV AL,[DI]
ADD AL,[DI+2]
再看解釋與結(jié)果:(by cnzdgs@csdn)
MOV AX,DATA
MOV DS,AX
; 初始化DS,使其指向DATA段
MOV DI,OFFSET DA1
MOV BX,OFFSET DA2
; 讓DI指向DA1,BX指向DA2,DI=0,BX=2
MOV AL,[DI]
; 將DI指向的內(nèi)存中的1字節(jié)數(shù)據(jù)傳給AL,也就是把DA1的低字節(jié)給AL,因?yàn)榈臀辉谇埃允?4H
ADD AL,[DI+2]
; 將DI+2指向的內(nèi)存中的1字節(jié)數(shù)據(jù)與AL向加,結(jié)果放在AL里面,34H+56H=8AH
再看我的圖示:
內(nèi)存地址: 內(nèi)存內(nèi)容:
0x00000000 0x34 (dword的地位)
0x00000001 0x12 (dword的高位)
0x00000002 0x56
0x00000003 0x78