- 主题:大厂汇编+GNU AS 通用汇编语言是真相,Intel的二元论就是胡说
语法是差不多的。但是每种机器的指令是不一样的。
很明显,X86 和 ARM 的寄存器名字都不一样。内存访问方式也不一样。你为 x86 写的汇编,没法编译到 arm 里面跑。
【 在 darkk (darkk体国经野 义尚光大) 的大作中提到: 】
: 就是统一了,虽然差异还在
--
修改:hgoldfish FROM 110.81.13.*
FROM 110.81.13.*
我给的 mark 哈。
楼主的大体意思也没错吧。
【 在 philbloo (philbloo) 的大作中提到: 】
: 喷了 谁给这个帖子加的精?整个胡说八道
: 你写过程序没?能分清 syntax 和 semantics 的区别吗?你肯定没写过汇编,估计也没读过吧?搞得懂 inline asm 跟 asm 的区别吗?知道后端是怎么 lower 跟 emit 的吗?为什么各种架构都用一样的 codegen 来描述,你明白不?能分清 compiler 跟 assembler 吗?各种架构的
--
FROM 110.81.13.*
楼主这是学习笔记吧,用了多少个“似乎”
把不确定的东西搞清楚为好
--
FROM 114.240.244.*
Intel的汇编实际上是一种更古老的,省存储器的风格,6502汇编甚至阿波罗11号源代码也是类似的风格。早期计算机资源很贵,源代码多一个符号,老板就要少N个美元
【 在 hgoldfish (老鱼) 的大作中提到: 】
: 语法是差不多的。但是每种机器的指令是不一样的。
: 很明显,X86 和 ARM 的寄存器名字都不一样。内存访问方式也不一样。你为 x86 写的汇编,没法编译到 arm 里面跑。
--
FROM 27.91.71.*
一个错误答案是最好的鱼饵,就像ruanyifeng
【 在 hgoldfish (老鱼) 的大作中提到: 】
: 我给的 mark 哈。
: 楼主的大体意思也没错吧。
--
FROM 111.163.120.*
你所谓的统一了不过是编译器识别的语法“统一”了,加引号是因为不同的编译器之间也不统一
这点小问题在指令集的差异面前不值一提
【 在 darkk 的大作中提到: 】
: 就是统一了,虽然差异还在
:
--
FROM 111.198.57.*
发现好多软件的编译过程依赖nasm 或 yasm
这两种和在C代码里内嵌的那种什么区别呢? 是不是能跨arm x86 mips呢
【 在 eggcar 的大作中提到: 】
: 你所谓的统一了不过是编译器识别的语法“统一”了,加引号是因为不同的编译器之间也不统一
: 这点小问题在指令集的差异面前不值一提
:
--
FROM 135.148.33.*
这么说吧,能跨指令集的那叫C,不叫汇编
【 在 peterpark 的大作中提到: 】
: 发现好多软件的编译过程依赖nasm 或 yasm
: 这两种和在C代码里内嵌的那种什么区别呢? 是不是能跨arm x86 mips呢
: :
--
FROM 111.198.57.*
nasm和yasm用的是类Intel文法的x86汇编,但和masm用的文法有点区别。
C代码的内嵌汇编是和工具链支持的汇编文法相关的。
想跨体系结构的话,除了用标准的语言特性之外,你可以用编译器的内建函数(假如你不需要跨编译器支持)。
【 在 peterpark (peterpark) 的大作中提到: 】
: 发现好多软件的编译过程依赖nasm 或 yasm
: 这两种和在C代码里内嵌的那种什么区别呢? 是不是能跨arm x86 mips呢
--
FROM 103.90.178.*