利用帝國(guó)軟件如何做網(wǎng)站怎么開(kāi)一個(gè)網(wǎng)站平臺(tái)
一個(gè)變量如果包含的是另一個(gè)變量的地址, 則該變量就稱(chēng)為指針(pointer) 。指針是操作數(shù)組和數(shù)據(jù)結(jié)構(gòu)的極好工具,因?yàn)樗牡刂吩谶\(yùn)行時(shí)是可以修改的。
?
.data
arrayB byte 10h, 20h, 30h, 40h
ptrB dword arrayB
ptrB1 dword OFFSET arrayBarrayW WORD 1000h,2000h,3000h
ptrW DWORD arrayW
32位匯編時(shí),指針都是32位的
TYPEDEF定義指針類(lèi)型
?
.386
.model flat,stdcall
option casemap:none
.stack 4096PBYTE TYPEDEF PTR BYTE ;PBYTE指向8位數(shù)據(jù)的指針類(lèi)型
;這樣的聲明通常放在靠近程序開(kāi)始的地方, 在數(shù)據(jù)段之前, 使得接下來(lái)就可以用PBYTE 來(lái)定義變量
PWORD TYPEDEF PTR WORD ;指向字的指針類(lèi)型
PDWORD TYPEDEF PTR DWORD ;指向雙字的指針類(lèi)型.data
arrayB BYTE 10h,20h,30h,40h
ptr6 PBYTE ? ;指針變量ptr6末初始化
ptr1 PBYTE arrayB ;指針變量ptr2指向arrayB數(shù)組arrayW WORD 1, 2, 3
arrayD DWORD 4, 5, 6
ptr2 PWORD arrayW
ptr3 PDWORD arrayDExitProcess PROTO,dwExitCode:DWORD .code
main PROC mov esi, ptr1 ;把ptr1的值(arrayB的地址)給esimov al, [esi] ;al=10hmov esi, ptr2 mov ax, [esi] ;ax=0001hmov esi, ptr3mov eax, [esi] ;eax=00000004INVOKE ExitProcess,0
main ENDP
END main