能力值:
( LV9,RANK:610 )
|
-
-
2 楼
asm的魅力怎么会是接近人类思维呢?高级语言干啥去了…
|
能力值:
( LV9,RANK:260 )
|
-
-
3 楼
汇编有时很直接,很方便。
有的时候,某些功能只有汇编能完成(比如改CR0,关中断,直接I/O,等等等等……)。但是说实话,不喜欢在不必要的情况下,故意使用汇编去“扭曲”程序。
btw,曾子曰:七月份的尾巴你是狮子座
|
能力值:
( LV9,RANK:320 )
|
-
-
4 楼
比如for(;;){}这样的循环,是C语言结构化的表示,,asm完全按人的思维想:
cmp eax,0
jl aa
aa:
输出‘eax<0’
输出‘eax>=0’
完全是正常的思维流程,,只要代码表示下就可以 了
所谓的masm的伪指令:
.if eax>0
xxxx
.else
yyyy
.endif
实际上这些伪指令做的就是优化结构的工作,和C是一样的道理。
只是我们习惯了,知道了if else这样的结构了,就觉得这样方便,,实际上不是我们的思维流程
asm是最贴切的思维流程
|
能力值:
( LV9,RANK:320 )
|
-
-
5 楼
可能你所的扭曲程序时指我发的第一篇,实际上第一篇的那个程序,我要表达的意思很多:堆栈,调用,指令替换,扭曲。。很多的意思,,这些要表达的东西放一起,可能会显得程序时在故意的扭曲,实际上没有那样的意思,所以我说那个程序别扭,但是得好好的看,会有收获的,,,你说的asm的应用时对的,,同感,,,
|
能力值:
( LV2,RANK:10 )
|
-
-
6 楼
恩。
强烈支持
|
能力值:
( LV6,RANK:80 )
|
-
-
7 楼
asm会了好处很多.至于再"深入"只不过是把asm当一个游戏玩而已.刚开始会觉得好玩有趣,最后玩熟了, 再去试试c/c++. 会觉得根本不是在写程序而是在"说话"
|
能力值:
( LV6,RANK:80 )
|
-
-
8 楼
再弱弱的说一句...= =! 楼主asm就两个月水平
|
能力值:
( LV9,RANK:320 )
|
-
-
9 楼
呼呼,过奖了,哪里有两个月啊,,只有一礼拜,,一礼拜都没有,,我根本不会。。
而且我也弱弱的说一句,我也就偶尔抽不玩asm的时候用vb.net写写管理软件,,,至于你说的玩玩c++那些高级的东西,,我想我比你玩的早吧,,什么是高级语言,我想我用的也不比你差。。
呼呼,,您真谦虚
|
能力值:
( LV2,RANK:10 )
|
-
-
10 楼
凑热闹123456
|
能力值:
( LV2,RANK:10 )
|
-
-
11 楼
学习之中~~
|
能力值:
( LV5,RANK:60 )
|
-
-
12 楼
非常弱的问句:你是什么水平?
|
能力值:
( LV2,RANK:10 )
|
-
-
13 楼
支持一下,写文章很累的!
期待 asm的魅力(三)
|
能力值:
( LV3,RANK:20 )
|
-
-
14 楼
不错. 语言只是个工具.喜欢哪个就用哪个.
|
能力值:
( LV2,RANK:10 )
|
-
-
15 楼
surport!!
|
能力值:
( LV4,RANK:50 )
|
-
-
16 楼
真累 呼呼。
一星期就能拿来做文章了 厉害。呼呼 。
|
能力值:
( LV9,RANK:320 )
|
-
-
17 楼
呼呼,,会说呼呼俩字的就是熟人喽,呼呼,,一星期达到这水平?呼呼,,你知道,,那是绝对不可能的,,呼呼
|
能力值:
( LV2,RANK:10 )
|
-
-
18 楼
深有感触,ASM就是业界的利刃!
|
能力值:
( LV2,RANK:10 )
|
-
-
19 楼
觉得楼主写得很不错啊。。。
|
能力值:
( LV2,RANK:10 )
|
-
-
20 楼
|
能力值:
( LV2,RANK:10 )
|
-
-
21 楼
我也喜欢asm~
|
能力值:
( LV12,RANK:360 )
|
-
-
22 楼
mov eax,(M ptr [ebx]).p.a;; 居然还能这么用..学习了
|
能力值:
( LV5,RANK:70 )
|
-
-
23 楼
继续磨剑。。。。。。。。
|
能力值:
( LV2,RANK:10 )
|
-
-
24 楼
觉得有问题...
asm中没有->这样的操作符,那怎么实现b->c.charme这样的访问呢?只好是像上面这样写了
结果显示p2.cc.charme的值是0,意图来看应该是显示20h。
错误在哪里?
OD调试看看,可以很清楚的看到,内存空间中:
P1.charme--------------------------0400xxxxh
Charme1
P2.cc.charme----------------------0400yyyyh
根本就是两个变量,怎么可能访问到呢,,照这样看来我们这样修改下:
mov ebx, p2.cc.charme+4,就输出20h,但实际上这只是投机,只是跳过了charme1的空间,访问了下p1.charme,一点也不能通用。
本身你实例化的时候p1, 和p2就没有半毛钱关系吧...你在实例化aa结构的时候里面在实例化bb结构..也就是那个cc.....然后你通过对aa结构中的cc赋值...然后想从实例化的p1中拿出来...
他们本身就应该是两个对象吧....
并不会因为你
p2 bb <> ;;;;;;;注意
p1 aa <> ;;;;;;;;注意
这样声明..那么p1和p2中的cc是同一个内存区域...在逻辑上他们也应该是独立的啊....
|
|
|