看板 PangSir 關於我們 聯絡資訊
如課本上的例子:(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)