第七色在线视频,2021少妇久久久久久久久久,亚洲欧洲精品成人久久av18,亚洲国产精品特色大片观看完整版,孙宇晨将参加特朗普的晚宴

為了賬號安全,請及時(shí)綁定郵箱和手機(jī)立即綁定
已解決430363個(gè)問題,去搜搜看,總會有你想問的

您如何使用gcc以Intel語法生成匯編代碼?

您如何使用gcc以Intel語法生成匯編代碼?

catspeake 2019-10-15 14:47:34
該gcc -S選項(xiàng)將以AT&T語法生成匯編代碼,是否可以以Intel語法生成文件?還是有辦法在兩者之間轉(zhuǎn)換?
查看完整描述

3 回答

?
料青山看我應(yīng)如是

TA貢獻(xiàn)1772條經(jīng)驗(yàn) 獲得超8個(gè)贊

你有嘗試過嗎?


gcc -S -masm=intel test.c

未經(jīng)測試,但我在這個(gè)論壇上找到了它,有人聲稱它為他們工作。


我只是在Mac上嘗試過,但失敗了,因此我在手冊頁中進(jìn)行了查找:


   -masm=dialect

       Output asm instructions using selected dialect.  Supported choices

       are intel or att (the default one).  Darwin does not support intel.

它可能在您的平臺上運(yùn)行。


對于Mac OSX:


clang++ -S -mllvm --x86-asm-syntax=intel test.cpp


查看完整回答
反對 回復(fù) 2019-10-15
?
守候你守候我

TA貢獻(xiàn)1802條經(jīng)驗(yàn) 獲得超10個(gè)贊


gcc -S -masm=intel test.c

和我一起工作。但是我可以說另一種方式,盡管這與運(yùn)行g(shù)cc無關(guān)。編譯可執(zhí)行文件或目標(biāo)代碼文件,然后使用objdump以Intel asm語法反匯編目標(biāo)代碼,如下所示:


 objdump -d --disassembler-options=intel a.out

這可能會有所幫助。


查看完整回答
反對 回復(fù) 2019-10-15
?
瀟瀟雨雨

TA貢獻(xiàn)1833條經(jīng)驗(yàn) 獲得超4個(gè)贊

我在CPP文件中有以下代碼:


#include <conio.h>

#include <stdio.h>

#include <windows.h>


int a = 0;

int main(int argc, char *argv[]) {

    asm("mov eax, 0xFF");

    asm("mov _a, eax");

    printf("Result of a = %d\n", a);

    getch();

    return 0;

 };

該代碼與此GCC命令行一起工作:


gcc.exe File.cpp -masm=intel -mconsole -o File.exe

它將生成* .exe文件,并且按照我的經(jīng)驗(yàn)可以正常工作。


Notes:

immediate operand must be use _variable in global variabel, not local variable.

example: mov _nLength, eax NOT mov $nLength, eax or mov nLength, eax


A number in hexadecimal format must use at&t syntax, cannot use intel syntax.

example: mov eax, 0xFF -> TRUE, mov eax, 0FFh -> FALSE.

就這樣。


查看完整回答
反對 回復(fù) 2019-10-15
  • 3 回答
  • 0 關(guān)注
  • 981 瀏覽

添加回答

舉報(bào)

0/150
提交
取消
微信客服

購課補(bǔ)貼
聯(lián)系客服咨詢優(yōu)惠詳情

幫助反饋 APP下載

慕課網(wǎng)APP
您的移動學(xué)習(xí)伙伴

公眾號

掃描二維碼
關(guān)注慕課網(wǎng)微信公眾號