汇编语言:一维数组的动态访问
来源:互联网 发布:为什么淘宝登陆不上去 编辑:程序博客网 时间:2024/04/28 22:34
笔者使用的是win7 和Masm for Windows集成环境共享版2012.5
对于一维数组的访问,或许听上去简单的不得了,但是笔者也是用了将近两个小时才做到的,说来惭愧啊,怕以后忘记了,所以在这儿做个记录
如果对于一维数组特定位置的访问,用我们的话说,就是索引是以立即数的方式给出,还是以变量的方式给出,现在我们说的是变量方式的动态访问
.386.model flat,stdcalloption casemap:noneinclude windows.incinclude user32.incinclude kernel32.incincludelib user32.libincludelib kernel32.lib.dataszBuffer db "test",0szCaption db "abcd",0i dd 48j dd 0.codestart:.while j<4lea eax,szBufferadd eax,jmov bl,byte ptr [eax]inc blmov byte ptr[eax],blinc j.endwinvoke MessageBox,NULL,offset szBuffer,offset szCaption,0invoke ExitProcess,0end start
好了,现在说下原理吧,其实把szBuffer[i]变换了一种访问方式,我们知道szBuffer是地址,换句话说就是数组的基址,而i,则是该数组基址上的偏移量,如果是szBuffer[2]的话就可以直接访问,但是将2变成了变量的话,便是不成了,所以我们要变换方式,通过计算获得数组元素地址,然后进行访问即可,即1.得到szBuffer的地址,放在EAX当中2.将索引加到EAX当中,这样EAX中存放的就是数组元素的地址3.通过EAX中的地址直接进行访问,读或者写都行!!
- 汇编语言:一维数组的动态访问
- 一维动态数组
- 动态一维数组
- 动态一维数组的使用
- 动态一维数组的实现
- 动态的汇编语言?
- C语言 通过指针访问一维数组的几种方式,通过数组名访问一维数组
- 动态生成一维数组
- 一维数组的五种访问方法
- 一维数组的两种访问方式
- c语言中关于一维数组的指针访问
- C动态一维数组,二维数组
- 动态数组的使用(一维动态数组、二维、三维、N维)
- 一维动态数组和二维动态数组的创建和使用
- 如何动态的建立大小可变的一维数组
- 汇编语言中数组的应用
- C语言实现动态一维/二维数组的申请
- 关于定义一维动态数组的问题
- 如何尽快熟悉一个行业
- Ubuntu编译Linux内核过程
- dr
- HTTP协议(RFC2616)的两种认证机制(Basic和Digest)
- KMP模板
- 汇编语言:一维数组的动态访问
- 黑马程序员-java学习之多线程
- UNIX网络编程--实现并发UDP服务器
- 详细介绍c++/vc++标准模板库(STL)中的map的使用攻略!
- Qt-QTableWidget
- AndroidManifest.xml文件解析
- 最大堆和最小堆找中位数
- Turning Vim into a modern Python IDE
- cocos2d-x学习日志(8) --瓦片地图集