当前位置: 首页 > news >正文

汇编-指针

一个变量如果包含的是另一个变量的地址, 则该变量就称为指针(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  

http://www.lryc.cn/news/237722.html

相关文章:

  • 常见Web安全
  • milvus数据库搜索
  • HEVC参考帧技术
  • QT小记:The QColor ctor taking ints is cheaper than the one taking string literals
  • 机器人走迷宫问题
  • 轻量封装WebGPU渲染系统示例<36>- 广告板(Billboard)(WGSL源码)
  • Java 多线程进阶
  • CentOS上搭建SVN并自动同步至web目录
  • .Net中Redis的基本使用
  • 使用cli批量下载GitHub仓库中所有的release
  • 深入分析TaskView源码之触摸相关
  • 键盘快捷键工具Keyboard Maestro mac中文版介绍
  • Dubbo开发系列
  • 周赛372(正难则反、枚举+贪心、异或位运算、离线+单调栈)
  • 存储区域网络(SAN)之FC-SAN和IP-SAN的比较
  • Leetcode_45:跳跃游戏 II
  • 给新手教师的成长建议
  • 新手教师如何迅速成长
  • 竞赛选题 深度学习验证码识别 - 机器视觉 python opencv
  • 提升工作效率,使用AnyTXT Searcher实现远程办公速查公司电脑文件——“cpolar内网穿透”
  • mybatis使用foreach标签实现union集合操作
  • 请问DasViewer是否支持与业务系统集成,将业务的动态的数据实时的展示到三维模型上?
  • [ruby on rails]rack-cors, rack-attack
  • 猫12分类:使用多线程爬取图片的Python程序
  • 《深度学习500问》外链笔记
  • 机器学习技术栈—— 概率学基础
  • 使用Redis实现分布式锁
  • linux 服务器进程、端口查找,nginx 配置日志查找,lsof 命令详解
  • 汽车标定技术--A2L格式分析
  • Linux操作系统使用及C高级编程-D9D10Linux 服务搭建与使用