assembly

    1熱度

    1回答

    它可以包括源代碼,如下所示: extern "C" { #include "src.c" } #include "src.cpp" 是否有可能做這樣對於.ASM(組件)文件?

    1熱度

    1回答

    最近,我已經開始通過YouTube頻道學習大會,並有一些問題有關聲明中部分的標籤。數據 當我們寫下如下所示的內容:test db「hello world」,是標記「測試」,類似於程序語言中的指針嗎?(這意味着它保存文本「hello world」中第一個元素的內存地址) 當我們寫:mov rsi test,是否意味着我們把「hello world」的地址放入rsi寄存器中? 另一個問題是關於[]的用

    -6熱度

    2回答

    用匯編語言中的選擇排序對十個數字列表進行排序。 如何轉換我這個冒泡排序方法爲選擇排序方法 `[org 0x0100] jmp start data: dw 60, 55, 45, 50, 40, 35, 25, 30, 10, 0 swap: db 0 start: mov bx, 0 ; initialize array index to zero mov byte [swap], 0

    3熱度

    1回答

    我有二進制階段是不返回所需的結果,即12。 階段4 Dump of assembler code for function phase_4: 0x000000000040100b <+0>: sub $0x18,%rsp 0x000000000040100f <+4>: lea 0x8(%rsp),%rcx 0x0000000000401014 <+9>: le

    0熱度

    1回答

    有什麼影響?內核是用靜態庫編譯還是內在實現? 此外,根據this,內核代碼不能使用任何浮點操作。這是爲什麼?

    1熱度

    1回答

    這裏是我的代碼: section .data digit db 0,10 section .text global _start _start: call _printRAXDigit mov rax, 60 mov rdx, 0 syscall _printRAXDigit: add rax, 48

    1熱度

    1回答

    我目前正在學習大學的程序集,最近開始編寫程序集以點亮32x32 LED模擬器上的LED。 本週我們有一個實驗室,第一個問題是「創建一個程序,點亮隨機的單個LED並繼續,直到所有的LED點亮」。我有一個朋友告訴我他們是如何做到的,但我仍然對某些選項的工作方式感到困惑。 繼承人的代碼: .data x DWORD 0 y DWORD 0 row DWORD 0 row_copy D

    1熱度

    1回答

    我想將兩個8位寄存器組合在一起並打印結果。我想添加寄存器CL和CH。我用-1275填充了ECX,我想看看如果我減去這兩個寄存器會得到什麼結果,我該怎麼做? 這是我寫的,但是我在第13行得到一個錯誤,表示操作碼和操作數的無效組合。爲什麼不能使用PutInt從CL打印?我需要做什麼? %include "io.mac" .STACK 100H .DATA msg4 db "The re

    0熱度

    2回答

    所以,我有一個彙編函數,它在C中調用。它編譯並且沒有給出警告,但是當我嘗試運行它時,它給了我一個分段錯誤。我認爲這是因爲我不能將一個常量移動到一個寄存器中,但是使用mul/div命令它需要一個值在EAX寄存器中。 我如何在Assembly中乘兩個常量? 下面的代碼到目前爲止... .section .data .global n .equ A, 50 .equ B, 5 .section

    1熱度

    2回答

    我看彙編代碼看起來像這樣: addl %eax, -8(%rbp) 我知道寄存器%eax中有一個值,但-8(%RBP)尚未到這條線之前感動。我是否認爲它是空的,並且會將%eax + 0的值放入-8(%rbp)?