汇编-指针

一个变量如果包含的是另一个变量的地址, 则该变量就称为指针(pointer) 。指针是操作数组和数据结构的极好工具,因为它包含的地址在运行时是可以修改的。

复制代码
.data   
arrayB byte 10h, 20h, 30h, 40h 
ptrB dword arrayB
ptrB1 dword OFFSET arrayB

arrayW WORD 1000h,2000h,3000h
ptrW DWORD arrayW

32位汇编时,指针都是32位的

TYPEDEF定义指针类型

复制代码
.386  
.model flat,stdcall 
option casemap:none
.stack 4096


PBYTE TYPEDEF PTR BYTE      ;PBYTE指向8位数据的指针类型
;这样的声明通常放在靠近程序开始的地方, 在数据段之前, 使得接下来就可以用PBYTE 来定义变量
PWORD TYPEDEF PTR WORD     ;指向字的指针类型
PDWORD TYPEDEF PTR DWORD   ;指向双字的指针类型

.data   
arrayB BYTE 10h,20h,30h,40h 
ptr6 PBYTE ?         ;指针变量ptr6末初始化
ptr1 PBYTE arrayB     ;指针变量ptr2指向arrayB数组

arrayW WORD 1, 2, 3
arrayD DWORD 4, 5, 6
ptr2 PWORD arrayW 
ptr3 PDWORD arrayD


ExitProcess PROTO,dwExitCode:DWORD      

.code  
main PROC   
	
	mov esi, ptr1     ;把ptr1的值(arrayB的地址)给esi
	mov al, [esi]     ;al=10h
	mov esi, ptr2     
	mov ax, [esi]     ;ax=0001h
	mov esi, ptr3
	mov eax, [esi]    ;eax=00000004


INVOKE ExitProcess,0  
main ENDP   
END main  
相关推荐
wechatbot8882 天前
解决企业微信官方 API 短板:iPad 协议全功能对接方案
java·汇编·windows·http·微信·企业微信
学逆向的4 天前
汇编——JCC指令
开发语言·汇编·网络安全
一只旭宝4 天前
【汇编入门】寄存器、MOV/LEA、JMP/CALL/RET、内存与指令本质
汇编
学逆向的7 天前
汇编——寻址方式
开发语言·汇编·网络安全
我不是QI7 天前
Master PDF Editor 逆向复现
汇编·安全·pdf
学逆向的7 天前
汇编——堆栈平衡
开发语言·汇编·网络安全
执迷不悟82312 天前
ARM--汇编指令
汇编·arm开发
Dlrb121113 天前
ARM指令集---汇编指令集的学习与应用:C程序与汇编的相互调用,处理器工作模式的改变等
汇编·arm开发·arm··arm指令集·汇编指令
学逆向的15 天前
汇编——函数
开发语言·汇编·网络安全
学逆向的16 天前
汇编——修改EIP的值
开发语言·汇编·网络安全