nasm

    1熱度

    2回答

    我在第13行中出現錯誤,名爲「逗號,冒號或行結束符」。我想寫一個程序,它會在X,Y的位置寫下ascii的心臟。正如你可以看到我使用模式 (Y * 80 + X)* 2 org 100h MOV AX,0A000H MOV ES,AX MOV AX,poz_y MOV BX,80 MUL BX ADD AX,poz_x MOV BX,2 MUL BX MOV DI,AX MOV

    -1熱度

    1回答

    從linux中的可執行文件中刪除信息時出現問題。該信息如下: 08048060 <__bss_start-0x100a>: 8048060: 31 db xor %ebx,%ebx 8048062: 53 push %ebx 8048063: bb 75 a2 45 7e mov $0x7e45a275,%ebx 8048068: ff d3 call *%e

    1熱度

    1回答

    我正在嘗試爲x86編寫一個簡單的引導程序,並且在理解組裝程序時NASM如何將標籤轉換爲偏移量時遇到問題。 (這僅僅是一個示範程序) bits 16 org 0x7C00 start: mov ax, 0x07C0 mov ds, ax mov si, msg call print hlt print: ; print char

    0熱度

    1回答

    我正在寫一個子程序,它應該打印rdi中傳遞給它的任何數據的十進制值。它適用於每個可以用32位表示的數字。一旦涉及64位值,事情就會崩潰。 如果我將4294967295或000000000000000000000000000011111111111111111111111111111111b作爲參數傳遞,按預期打印。但如果我做 mov rdi, 4294967295 inc rdi call P

    1熱度

    1回答

    這是我遇到的行爲的一個例子。 在組裝下面的程序: [BITS 32] mov eax, 0x1234 使用: nasm -f bin in.asm -o out.bin 我得到以下二進制輸出: B8 34 12 00 00 B8是操作碼 '進入EAX' 和它應該採取一個32位值並將其放在那裏(即應該只是B8 34 12)。但相反,它將額外的00 00視爲一個64位值。 我不知道這是

    0熱度

    1回答

    我對彙編很新,我一直在想是否有任何操作可以像EQU一樣執行,但使用寄存器?例如: - Boink EQU EAX 如果不存在這樣的操作,有沒有什麼辦法等同Boink與EAX,而不必使用RESB, RESD等等? 道歉,如果這個問題似乎有點愚蠢的你,並提前感謝你。 我正在使用NASM。

    0熱度

    2回答

    我是新的彙編語言,所以我是Dr. Paul Carter的pcasm教程( http://pacman128.github.io/pcasm/ )。 究竟PDF文件(http://pacman128.github.io/static/pcasm-book.pdf)頁面-33,和書籍的頁面-23 從該網站,我下載的Linux實例(http://pacman128.github.io/static/l

    0熱度

    1回答

    我正在關注教程和學習x64英特爾語法大會和我有這個代碼示例,假設編譯沒有問題,但我得到錯誤,所以我無法開始。 代碼示例: .code ASM_Debug proc mov rax, 55 ret ASM_Debug endp end 我使用NASM組件編譯器,使用MinGW的(G ++)代碼編譯,如果我編譯使用內聯組件使用64英特爾語法MASM我不得到任何錯誤。 有人

    0熱度

    1回答

    我想打印一個字符串,並且正在使用NASM Assembly,Bochs來運行程序,並且有兩個簡單文件。我正在做一個非常簡單的引導部門來開始學習Assembly。我試圖教我自己,並正在使用此PDF: https://www.cs.bham.ac.uk/~exr/lectures/opsys/10_11/lectures/os-dev.pdf 我正在嘗試創建我自己的字符串打印功能。 問題: ; Que

    0熱度

    1回答

    對於某些背景,我對彙編器很陌生,我的彙編器是NASM。對於我的第一個項目,我在Windows 8.1上使用了cygwin,並且試圖將來自第二個答案的信息從32位轉換爲64位:How to write hello world in assembler under Windows? 我正在使用gnu ld的鏈接。因爲我的系統上的kernel32.Lib似乎搞砸了,而且我更喜歡gnu ld。所以,這是我