att

    0熱度

    1回答

    我正在使用AT & T語法。我寫了代碼,它從c調用函數mmap2。 這是我的C文件: #include <stdio.h> int* callloc(int length); int main(){ int *adres = callloc(1000); printf("%u\n",adres); return 0; } 這是我的彙編函數: #define PROT_READ 0

    -1熱度

    1回答

    我創建具有以下簽名的函數任意號碼: int function_test (char *something, ...); 讓我們假設在*的東西有什麼東西,讓我知道有多少參數爲通過(就像printf與'%'一樣)。 所以我存儲在%ebx當前參數號爲4的倍數,從8日開始,這樣我就可以得到8(%ebp),12(%ebp)等 我如何做才能得到該參數的內容?當我嘗試時: movl %ebx(%ebp),v

    2熱度

    1回答

    我正在爲教育目的構建一個內核。 右鍵我的操作系統啓動如下:GRUB -> boot.S -> init.c 在boot.S我要加載中斷描述符表。這是我的文件的摘錄: # load_idt - Loads the interrupt descriptor table (IDT). # stack: [esp + 4] the address of the first entry in the ID

    4熱度

    1回答

    我正在寫AT & T語法。 這個循環應檢查,如果情況是在範圍61-7A ASCII(這意味着這個小字母) - 如果沒有,然後將其轉換爲空間''。 change: movb (%esi), %bh #move case temporary to bh register cmp $0x61,%bh #compare 'a' ASCII and case from bh reg

    0熱度

    1回答

    我是新來的,所以請耐心等待! ;) 我想在彙編器上返回一個字符串。我有堆棧中的字符串,正確終止。 然後我movl %esp到%eax並返回該函數。 我的想法是從AC函數調用它,並且使用該彙編函數是這樣的: extern char* getthestring (void); int main() { char *m; m=getthestring(); printf ("The stri

    7熱度

    2回答

    我讀我的書,它有代碼交換功能: 在C: int exchange(int *xp, int y) { int x = *xp; *xp = y; return x; } 在x86彙編與註釋: // xp is at %ebp + 8, y at %ebp + 12 movl 8(%ebp), %edx // get xp movl (%edx), %eax // get x a

    0熱度

    1回答

    我必須在彙編中編寫一個函數來完成以下c代碼。 int main(){ int hist[26]={0}; int i; charHistogram("This is a string", hist); for (i=0; i<26; i++) printf("%c:%d ", i+’a’, hist[i]); printf("\n"); } return 0; } 這

    0熱度

    1回答

    我在具有intel語法的asm中有代碼。我可以重寫它的AT & T語法。 但現在我堅持與.org和bits關鍵字。如果我使用這些指令,則會引發錯誤。 AT & T等價於.org和bits? 我正在使用as彙編器。 Intel語法: .org 100h bits 16 AT & T語法: ?? 我想互聯網上搜索。但沒有給出參考。 編輯:我得到了.org的解決方案。現在位仍然存在。

    1熱度

    1回答

    我想知道如何查看傳遞給使用gdb函數的命令行參數。 爲了驗證這一點,我整理了以下代碼 .global main main: pushl %ebp movl %esp, %ebp movl $1, %eax movl $0, %ebx int $0x80 與 gcc -Wall -Wextra -g -m32 args.s 調用匯編器和鏈接

    1熱度

    1回答

    好吧,這可能是一個愚蠢的問題,但我想我和其他人可能在學習的過程: 我與32位彙編工作,並在& T語法。 假設我想dinamically生成一個字符串,保存它的內容到堆棧: .data str: .long 0 string: .string "value is %s.\n" .globl main movb $0,str+3 #terminate the string movb $67