汇编
不练成自由倒立不改名
一步一步向前走,不后退就OK
展开
-
[汇编]汇编学习笔记(1):push,pop,call,jmp,retn
不知道为啥,学啥后面都会碰到汇编指令┑( ̄Д  ̄)┍,看书学习DirectX引擎开发(才第4章)也要碰到,怒了,开始刚汇编,记录一些学习上的问题,好回头看看。ESP:栈指针寄存器(extended stack pointer),永远指向系统栈最上面一个栈帧的栈顶EIP:指令寄存器,存放当前指令的下一条指令的地址(就是CPU从这边开始执行)push指令:把值压入栈中,ESP栈指...原创 2019-08-16 19:22:10 · 5490 阅读 · 0 评论 -
[汇编]汇编学习笔记(3):SIMD了解
《3D.Game.Engine.Programming》第4章主要讲的就是数学计算,一直在扯一个SIMD概念,SIMD全称Single Instruction Multiple Data,单指令多数据流。还有介绍Intel公司的MMX和AMD公司的3DNow的历史,以及SSE,SSE2指令,这些都需要自己去百度Google了解,因为作者都是简单介绍下。 举个对比的例...原创 2019-08-21 19:53:13 · 1011 阅读 · 0 评论 -
[汇编]汇编学习笔记(2):EBP寻址
刚看到ESP寻址和EBP寻址,个人理解其实2个寻址都是差不多的,都是利用偏移量来获取参数,一个搞懂另一个也明白了。只要记住ESP寻址有缺陷就OK了,缺陷就是在函数中使用push后会导致ESP一直在变,不好计算传入参数的地址而已。多写写就能记住。 练习:写个3数相加的函数。在敲代码之前,先画张图,理清下思路: 1.第一张图完成了计算,并将结果存入E...原创 2019-08-16 19:54:40 · 1233 阅读 · 0 评论 -
[汇编]汇编学习笔记(4):SHUFPS(洗牌)指令
《3D.Game.Engine.Programming》书上刚看到一个SHUFPS指令。这个SHUFPS指令类似洗牌功能,这个指令的功能还是比较难理解的。自己多次测试和百度Google后,大致理解这个指令的功能,记录一下。先借用一篇文章的内容:文章地址 《3D.Game.Engine.Programming》书上的代码例子是SHUFPS XMM0, XMM1,...原创 2019-08-22 12:49:20 · 1705 阅读 · 1 评论 -
[汇编]汇编学习笔记(5):支持x86和x64
《3D.Game.Engine.Programming》第4章都是数学计算相关的优化,大部分都是采用汇编代码,然而这本书有点老了,书上x86平台都是采用混编的方式,x64位的编译就会报出如下错误,不支持x64位,有点伤,又逼我面向百度和Google编程。 百度Google后,了解x64位需要写.asm文件,如果需要工程同时支持x86和x64位的话,需要一个宏定义...原创 2019-08-27 11:42:34 · 2605 阅读 · 0 评论 -
[汇编]汇编学习笔记(6):MASM32编译器编译链接16位汇编
在学习16位汇编的时候,需要用到MASM32编译器,为了方便编辑环境变量装了个XP的虚拟机来学习,刚好也可以用到debug.exe来调试16位汇编代码。 MASM32安装很简单。可以参考这篇文章,环境变量配置也有,ctrl+c,ctrl+v就OK,事先声明,MASM32版本下载的是masm32v11r。 参考文章中给了个Win32窗口的汇编代...原创 2019-09-21 14:23:17 · 1593 阅读 · 0 评论 -
[汇编]汇编练习(1):写个拳皇13修改器
学了汇编有一段时间了,不练练手不太好,刚好把之前留下来的坑填完--拳皇13的成就。PS:拳皇13在硬盘里躺了有一两年了(100对战胜利的成就拿到后就没玩了,剩下的都太烦了,需要100超必杀,100真超必杀,哪有这么多气,网络又不好,还有打一半退出的没素质货),最近硬盘快爆了,清下空间。 先举个简单一点的,修改战斗时间:利用Cheat Engine(我的版本是6.8....原创 2019-09-29 19:41:06 · 679 阅读 · 0 评论