作者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)