首页 > 其他分享 >滴水 3.15 复习

滴水 3.15 复习

时间:2023-03-15 21:58:51浏览次数:36  
标签:复习 滴水 局部变量 3.15 mov eax ebp dword ptr

Note 2023-03-15T21.26.46

1、返回值是如何传递的?

通过寄存器 或者全局地址

return eax,0x111

2、参数传递的本质

	整数参数传递统一采用32位 int行 无论你是不是char类型 这是因为本机尺度

push 8 esp-4
(怎么找到压入的数据) 数据的复制
ebp+8 即可

3、局部变量的内存分配
小于32位的局部变量,空间在分配时,按32位分配.

参数与局部变量没有本质区别,都是局部变量,都在栈中分配.

完全可以把参数当初局部变量使用
局部变量 ebp-4

4、赋值语句的本质
比如
mov 【ebp-4】,12
其实也是值的复制

5、数组的本质
1、一组相同类型的变量,为了方便读写,采用另外一种表示形式.

2、数组在声明的时候,必须用常量来指明长度,不能使用变量.

数组在反汇编中的本质
实践1
10: int a[5] = { 1,2,3,4,5 };
00333E85 mov dword ptr [a],1
00333E8C mov dword ptr [ebp-14h],2
00333E93 mov dword ptr [ebp-10h],3
00333E9A mov dword ptr [ebp-0Ch],4
00333EA1 mov dword ptr [ebp-8],5
就是很简单的 开辟空间

1、一维数组与多维数组在反汇编上没有区别.

2、数量如果不够,其他的值会补零.

3、不允许超过维度的最大长度.

4、可以省略里面的{ }

5、可以省略第一维的值

2维数组寻值
19:
20: {1,2,1,4,5,6,7,8,9,1,2,3} //4
00EA525F mov dword ptr [ebp-34h],1
00EA5266 mov dword ptr [ebp-30h],2
00EA526D mov dword ptr [ebp-2Ch],1
00EA5274 mov dword ptr [ebp-28h],4
00EA527B mov dword ptr [ebp-24h],5
00EA5282 mov dword ptr [ebp-20h],6
00EA5289 mov dword ptr [ebp-1Ch],7
00EA5290 mov dword ptr [ebp-18h],8
00EA5297 mov dword ptr [ebp-14h],9
00EA529E mov dword ptr [ebp-10h],1
00EA52A5 mov dword ptr [ebp-0Ch],2
00EA52AC mov dword ptr [ebp-8],3
21:
22: };
23:
24: ///编译分配空间:
25:
26: printf("%d", arr[1][1]);
00EA52B3 mov eax,30h
00EA52B8 shl eax,0
00EA52BB lea ecx,arr[eax]
00EA52C2 mov edx,4
00EA52C7 shl edx,0
00EA52CA mov eax,dword ptr [ecx+edx]
00EA52CD push eax ///打印的参数

eax=30 数组总大小
SHL逻辑左移;左移,最低位补0,最高位进入CF。
获取第一年第9个月的数据

arr[0][8]

编译器是如何找到这个数据的

arr[0*12 + 8]

标签:复习,滴水,局部变量,3.15,mov,eax,ebp,dword,ptr
From: https://www.cnblogs.com/Agtw/p/17220215.html

相关文章

  • 2023.3.15
    合作对象:粘艺凡昨天完成了数据表的建立和数据库连接今天完成了一部分dao包的编写和一些html页面,所写代码如下。其中substasion函数用于在一条线上给定两个参数,然后将他门之......
  • 2023.3.15蓝桥杯集训·每日一题
    AcWing200.Hankson的趣味题题目描述Hanks博士是BT(Bio-Tech,生物技术)领域的知名专家,他的儿子名叫Hankson。现在,刚刚放学回家的Hankson正在思考一个有趣的问题。今天......
  • 3.15总结
      赶快学习,再不学就跟不上进度了,能做的的事情极其有限,缺乏相关知识,学习劲头没有多少,恶性循环呗......
  • 每日总结-23.3.15
    今日新建一个类数组后,对其内容赋值出现了以下问题。Pd[]pdd=newPd[20];Cannotassignfield"mingcheng"because"pdd2[0]"isnull翻阅资料后得知当我从数组中......
  • 2023.3.15每日总结
    今天主要看了游标以及StringBuilder的使用以及代码 游标(Cursor)的定义游标就是一个标识,用来标识数据取到了什么地方具体参考https://blog.csdn.net/weixin_44234912/arti......
  • 闲话 23.3.15
    闲话好耶我春季赛退役!但是T3挂成60分怎么说都不太合适是吧?你说我这60分要是前12个点也好至少证明我暴力没问题为啥第4个点挂了啊然后回家就发烧了第一晚......
  • 【2023.03.15】是否要经过彻底的清算才能得到科技进步
    对国内的一些科研领域一直不报有太强的信心,昨晚在听马督公在讲征兵制引用《曹刿论战》的时候我终于豁然开朗,视频的链接放在这里。https://www.bilibili.com/video/BV18k4y1......
  • Day 14 英语单词复习
    computer-intergratedmanufacturing计算机集成制造link环节dissemination散播、传播、普及shopfloor车间现场state-of-the-art达到最新技术发展水平threefold三倍、......
  • Web前端杂乱知识复习
    OSIOSI是OpenSystemInterconnect的缩写,意为开放式系统互联。其各个层次的划分遵循下列原则:​(1)同一层中的各网络节点都有相同的层次结构,具有同样的功能。​(2)同......
  • 计算机组成原理第一章复习
    1、计算机发展史第一代 1946-1957电子管计算机第二代 1958-1964晶体管计算机第三代 1965-1971中小规模集成电路计算机第四代 1972-1990大规模和超大规模集......