作者Mgtmc ()
看板PangSir
標題[問題] 關於pointer
時間Sun Nov 7 11:30:05 2004
如課本上的例子:(ch04--pointer.asm)
; Create user-defined types.
PBYTE TYPEDEF PTR BYTE ; pointer to bytes
PWORD TYPEDEF PTR WORD ; pointer to words
PDWORD TYPEDEF PTR DWORD ; pointer to doublewords
.data
arrayB BYTE 10h,20h,30h
arrayW WORD 1,2,3
arrayD DWORD 4,5,6
如果我在.data的地方宣告
ptr1 PBYTE arrayB
ptr2 PWORD arrayW
ptr3 PDWORD arrayD
可以確定的是ptr1會指到arrayB的第一個byte..
可是..我自己試了一下...發覺 type of [ptr1 || ptr2 || ptr3] 都是4..
1.請問..只要assembler發現變數是用在pointer上..就會自動把變數的type 設為dword嗎?
------------------------------------------------
2.第二個就是..
PBYTE TYPEDEF PTR BYTE ; pointer to bytes
ptr1 PBYTE arrayB
那為什麼我這樣宣告會不過?
ptr1 PTR BYTE arrayB
是因為assembler會把PTR視為ptr1的type,把BYTE視為他的value嗎?
----------------------------------------------------
希望大家看懂我的問題~
謝謝各位回答囉~
--
※ 發信站: 批踢踢實業坊(ptt.cc)
◆ From: 140.112.247.77
※ 編輯: Mgtmc 來自: 140.112.30.61 (11/07 17:05)