当前位置:首页 > 编程笔记 > 正文
已解决

汇编-指针

来自网友在路上 11128112提问 提问时间:2023-11-21 13:21:08阅读次数: 112

最佳答案 问答题库1128位专家为你答疑解惑

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

.data   
arrayB byte 10h, 20h, 30h, 40h 
ptrB dword arrayB
ptrB1 dword OFFSET arrayBarrayW WORD 1000h,2000h,3000h
ptrW DWORD arrayW

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

TYPEDEF定义指针类型
 


.386  
.model flat,stdcall 
option casemap:none
.stack 4096PBYTE 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 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  

查看全文

99%的人还看了

猜你感兴趣

版权申明

本文"汇编-指针":http://eshow365.cn/6-41258-0.html 内容来自互联网,请自行判断内容的正确性。如有侵权请联系我们,立即删除!