gas

    2熱度

    3回答

    我最近買了一個Arduino Uno,它基本上是一個atMega328 avr處理器,具有所有的細節,如I/O和連接到計算機照顧你。 我已經成功地使用Arduino IDE和avr-gcc集合編寫了代碼。但是,我想爲它編寫純的彙編代碼,而且我已經遇到了死路,因爲似乎沒有任何關係。這就是說,我想寫'純'彙編,沒有內聯彙編等。我想要這樣做的指示,如果可能的話,還有一個示例程序(gcc-avr的彙編輸出

    0熱度

    1回答

    像al一樣會包含esi + ecx + 1的地址? movb (%esi, %ecx, 1), %al

    8熱度

    1回答

    我最近開始爲arm核心組裝編程。我的第一個小演示,只有.text部分,沒有任何問題。 作爲一個邏輯擴展,我想將彙編代碼構造成通常的部分:.text,.data,.bss。 所以我寫了下面的程序: .globl _start .section .text _start: b main b . b . b . b . b .

    1熱度

    1回答

    我從裝配開始,特別是GNU裝配,所以我玩的是寄存器,變量和值以及那種東西,但後來我注意到我不能使用3個以上的變量。首先,我寫了這個: .section .data chars: .ascii "something" stuff: .long 0 more: .long 1 .section .text .globl _start _s

    2熱度

    2回答

    我想了解GNU的以下行爲爲。 在OS X下面的試驗程序(蘋果cctools-822/GNU爲1.38) .globl foo jmp foo foo: ret 被編碼以 00000000 e900000000 jmp 0x00000005 foo: 00000005 c3 ret 而GNU爲在Linux(GNU爲2.22)編碼到 .g

    1熱度

    1回答

    根據百科全書Britanica彙編語言是 主要是特定計算機的機器語言的符號等價物。 如果這是真的,爲什麼彙編器像GAS輸出文件的頭? 我確定ELF/Mach-O/PE標題不是「機器語言」。 那麼,爲什麼不裝配只是組裝彙編語言和離開格式化二進制的鏈接?

    1熱度

    1回答

    我目前正在寫一個簡單的引導程序作爲個人項目。我有一個使用NASM作爲我的彙編程序構建的工作原型。但是我想更熟悉GNU工具,所以我試圖用他們重寫我的工作。 有這個小樣本的在線'Hello World' Bootloader演示寫入和建立「引導程序」使用的一些工具。然而,在閱讀之後,我的理解是'gas'是gcc的後端,不應該直接調用它。當我試圖在我的程序集文件中寫入表達式時,我遇到了這些信息,這些表達

    3熱度

    1回答

    在我努力理解如何使用GNU binutils構建一個簡單的引導裝載程序時使用了 gas我遇到過這個問題,你如何告訴鏈接器將數據放在哪裏,放在一個使用.org的文件中,以將文件大小保持在512字節的同時前進位置計數器。我似乎無法找到辦法做到這一點。 ,試圖做到這一點的彙編程序是: # Author: Matthew Hoggan # Date Created: Tuesday, Mar 6, 20

    1熱度

    1回答

    我試圖通過定義宏SYSV386_COMPAT 0以改變其生成某些FPU操作碼的方式來創建具有解鎖行爲的Gnu binutils。 我可以很容易地進入頭文件並手動設置值,但是如何調用配置腳本以便在命令行中指定等效的#define SYSV386_COMPAT 0?如果可能的話,我寧願在命令行上指定一些東西(僅僅是因爲該功能是傳遞性的,我不認爲我應該破解源代碼)。話雖如此,我試圖閱讀至少一些FM,但在

    3熱度

    3回答

    我有一個Linux的x86-32 GAS的彙編程序終止這樣的: movl $1, %eax movl $0, %ebx # argument for _exit int $0x80 當我退出這個樣子,該程序的功能,如正常,但如果我嘗試讀取標準輸出的輸出,我什麼也沒得到(使用即少或wc)。 我試着編譯一個最小的C程序並比較strace輸出。我發現唯一的區別是,GCC在strace輸出中使C程