[问题] 请问这行组语是哪个指令集?

楼主: zzss2003 (brotherD)   2017-09-21 14:45:44
网址:https://blog.regehr.org/archives/28
问题:https://imgur.com/a/lPFBB
想请问,4(%esp), %eax
$3, %eax这两行是哪个指令集的组语。
另外abstract machine是什么意思?指的是还没经过编译器编译的high-level程式码吗?(因
为不同的编译器可以编译成好几种不一样的组合语言),所以只能用抽象的概念去形容这段
程式码的功能。
如我小弟的理解有错,欢迎大力的鞭>///<
作者: LPH66 (-6.2598534e+18f)   2017-09-21 15:01:00
AT&T 语法的 x86 组语
作者: johnjohnlin (嗯?)   2017-09-21 15:01:00
x86?
作者: LPH66 (-6.2598534e+18f)   2017-09-21 15:02:00
写回 Intel 语法是 mov eax, [esp+4]; add eax, 3www.imada.sdu.dk/Courses/DM18/Litteratur/IntelnATT.htmhttps://en.wikibooks.org/wiki/X86_Assembly/GAS_Syntax抽象机器的概念是这样的: 我们规定一段程式码在抽象机器上的运作方式, 然后观察这样运作之后它所产生的结果(这不只代表输出, 还包含部份附带效应)那实际上的编译器在编译时就需要对同样这段程式码产生能得到同样结果的机械码出来以你贴的图来说, 呼叫这个函数的结果是回传了 x+3 的值那编译器可以直接产生回传 x+3 的指令 (即是下面的组语)简单说就是: 结果对就好, 过程不论; 这就给最佳化提供空间
作者: VictorTom (鬼翼&娃娃鱼)   2017-09-22 00:52:00
推:)

Links booklink

Contact Us: admin [ a t ] ucptt.com