急~~~求助汇编语言中mov指令和add指令用法

2025-04-05 23:12:39
推荐回答(1个)
回答1:

  1、linux和windows的代码编写是不一样的,linux上的汇编风格是at&t风格,而windows上的汇编风格是intel风格。 其中的一个区别是intel 风格是关于源操作数和目的操作数的。以第一个为例

  //windows上的写法

  mov eax, data4

  //linux上的写法

  movl data4, eax

  所以,你使用的哪个平台你得闹明白。


  2、如果是汇编代码,直接用标识符就好,还是不同的风格问题,如果按你写的立即数模式。

  //windows上的写法

  mov eax, -1000

  //linux上的写法

  movl $-1000, eax

  在linux的at&t汇编风格中,它这个立即数是必须要加上$ 表示一个常量。 这个也是为什么你在C语言中一般不能使用$来做为标识符的一个原因哦。


  建议:查一下intel风格和at&t风格的汇编区别点。问题都很简单,为了更好的帮助你,我上传了一份,详细介绍intel汇编语言程序设计的电子书,中文版的,希望能帮到你!