从intel sdm开始认识汇编(0):引言

        开篇点题,一个字评价intel sdm:屎。内容对不对暂且不说,我反正看的是头大。这也是我要写这篇文章的原因之一。

        说起汇编,我当初要学习他有以下原因:(1)代码美观、整洁;(2)直接操控底层;(3)运行速度快,但现在看来是一个也沾不上边。首先,x86指令集属于cisc,这就注定了指令数目的庞大,书里按类归代码都能列举十几页,可见其恐怖。说到底,如果你一开始就抱着“能跑就行”的心态学这个玩意,那还是趁早算了吧,你只需要了解一些系统指令和运算就行了,什么浮点运算,sse,avx都别想了。例如,x86有一个指令:cmpxchg,我实在想不明白是干啥的。这指令完全等价于这几行:

%macro cmpxchg 2
    cmp eax,%1
    pushf
    jz @1
    mov eax,%1
    jmp @2
@1:
    mov %1,%2
@2:
    popf
%endmacro

        可能区别在于不调用栈?有懂的人告我一声。说回来,操控底层更别提了。当你学到一定阶段的时候,一堆问题就抛给你了:这内存怎么是这么排的?为什么我不能直接写内存?我为什么不能直接写cpu内部的东西?如今你终于知道了,intel不让你干的东西你就不能干,别想着整点花活。至于运行速度快与否,纯看你个人实力,你要是不能比c或者各种编译器写的还快那就是白搭,就算省了那几个周期的时间也没啥卵用。所以到这,不想学

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值