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)?