使用WASM(WebAssembly)学习(和教学)装配?

时间:2017-04-25 17:05:21

标签: javascript webassembly

鉴于WASMMVP达到February,是否有人花时间尝试使用WASM来实际学习/教授使用WebAssembly的更高级别的程序集?

经过一些材料后,它似乎仍然针对C / C ++开发(可能是由于潜在的流动状态仍然存在?)并且没有真正的材料直接谈到使用WASM作为学习集会编程原则。

WASM(至少可以)非常适合学习,教学,以非常通用的方式组装自身,如果需要,以后可以扩展到特定的硬件。学习WASM本身对于前进的一般努力和编写有趣且独特优化的程序非常有价值。

甚至可能看起来对使用WASM复活的旧演示场景感兴趣......

2 个答案:

答案 0 :(得分:1)

我不确定Wasm是否适合首先学习汇编语言。虽然它提炼了现代CPU中可用的许多基本操作,但它也是一种更高级别的抽象。例如:

  • 这是一台堆叠机。

  • 它有一组无数的虚拟寄存器。

  • 它具有结构化控制流程。

  • 它不提供对堆栈的访问。

  • 它无法访问代码。

  • 输入。

  • 将来可能会获得更多高级功能。

其中许多是使Wasm 安全可移植的先决条件,这本身与普通汇编语言非常不同。

(我碰巧同意那些说“WebAssembly”有点用词不当的人 - 实际上是“网络”部分和“汇编”部分。这是以前被称为“网络汇编语言“无处不在。”

答案 1 :(得分:0)

WASM就像普通的处理器组装一样,但是...对于网络:-)同样地,99.9%的人不需要学习装配,如果他们不想要,一个人没有&#39 ;需要学习WASM。

如果你想跳进低级别的东西,特别是如果你要处理编译器,那么WASM将非常有用。 WASM将是一个方便某人移植的方式,例如,C ++编译器的后端可以在浏览器中工作。因此,编译为x86 / x64 / ARM / etc的相同GCC / LLVM也可以为web编译。

请注意,除了名称Web" assembly"之外,这与像x86或x64这样的CPU架构没什么关系。所以"与WASM学习大会"不需要一个人将学习"裸机"。有时会有点混乱。