小编120*_*arm的帖子

条件跳转到注册

请帮我解决我的问题.

我想得到这些命令:

jl some_label(%rip)
# or
jl *%rax
Run Code Online (Sandbox Code Playgroud)

在我的asm程序中,我正在为intel x64架构编写.

当我尝试编译这段代码时,GCC说"jl的操作数类型不匹配".

x86 assembly x86-64

3
推荐指数
1
解决办法
1223
查看次数

NASM中本地标签的地址是什么?

NASM汇编器中,可以使用.前缀声明本地标签。

  1. 那么,本地标签(以及所有汇编程序中的标签)的地址是什么?它是相对的还是绝对的,或者取决于使用情况?

我问是因为有些功能使我感到困惑。这是一个示例代码:

ORG 0x400000 ;origin of address for labels

start:       ;address here should be 0x400000
.....        ;some code here

     .loop   ;local label
     .....   ;some code here
     jmp short .loop ;<------- address is not taken as absolute
     jmp short start
Run Code Online (Sandbox Code Playgroud)

如果我使用一些普通标签(如start)进行引用,并将其与lea指令一起使用,则地址将被视为相对于原点的普通绝对地址。

  1. 但是,如果我带上标签并与之一起使用short(如最后一行所示),会发生什么情况?是否从绝对地址计算出跳转的偏移量?

我之所以这么问,是因为我的代码中有本地标签(.LNXYZ,是随机生成的),并且需要列出地址列表(从这些标签中),该地址列表将包含4字节的元素,其中包含用于跳转的绝对地址。这样有可能吗,还是我必须使用普通标签?有任何指令吗?

x86 assembly nasm memory-address

3
推荐指数
1
解决办法
2062
查看次数

如何在Haskell中使用'aux'关键字

好的,我看过大约4-5个提供教Haskell的网站,而不是其中一个解释了关键字aux.他们刚开始使用它.我只是真的研究过Java和C(如果它存在的话,从来没有看过它),而且我在这个类之前从未真正遇到过它我正在使用Haskell.我真正能说的是它提供了在函数中创建和存储值的实用程序.那究竟它究竟做了什么以及如何正确使用和格式化?特别是,你可以在递归时解释它的用法吗?我不认为它的用途有任何不同,只是为了确保我认为我会问.

haskell scope

3
推荐指数
1
解决办法
1792
查看次数

如何在Emacs中实现渐逝文本?

一些文字处理软件(例如Apple Words)具有支持渐逝文本的有趣特征.

这种文本在模板文件中用作占位符:如果我从模板开始新的报表,则某些条目会填充渐逝文本,当文本插入与文本或其边界对应的区域内时,该文本会消失.此文本也具有特殊外观.

如果可能的话,如何在Emacs中实现渐逝文本?在富文本或降价缓冲区中支持它可能就足够了.

emacs templates

3
推荐指数
1
解决办法
93
查看次数

如何在汇编编码时避免转到和跳转?

我知道这里和其他地方有很多关于避免使用高级编程语言的帖子.然而,从我在MIPS汇编中编写的(通常很小的)经验来看,在实现控制流时,似乎没有一种明显的方法可以避免在汇编中使用goto和jump语句.

例如,如何在程序集中实现此代码(C等效):

if (x < 2)
  { ans = 0; }
else
  { ans = 1; } 
Run Code Online (Sandbox Code Playgroud)

是否需要使用goto或jump语句,或者是否有适当的方法来避免它们支持更合适的代码实践?

assembly goto

3
推荐指数
1
解决办法
2799
查看次数

ESLint Airbnb ES6和Redux异步操作围绕箭头主体的意外阻止语句

在此输入图像描述

我究竟做错了什么?我有三个其他异步操作具有相同的问题,无法修复它.

thunk eslint arrow-functions redux

3
推荐指数
1
解决办法
4340
查看次数

如何在 Java 中使用 JSONObject 设置整数值?

如何在 Java 中使用 JSONObject 将键的值设置为整数?我可以使用设置字符串值JSONObject.put(a,b); 但是,我无法弄清楚如何使用.put()设置整数值。例如:我希望我的 jsonobject 看起来像这样: {"age": 35} 而不是 {"age": "35"}.

java json integer put jsonobject

3
推荐指数
1
解决办法
2万
查看次数

当我在子类中调用函数时,它会调用父类函数

我正在开展一个项目,其中有一系列儿童课程。我想从数组中调用重写的子函数,但它调用了父函数。

#include <iostream>

class Parent {
public:
    Parent(){}
    void print() {
        std::cout << "I'm the parent!" << std::endl;
    }
};

class ChildOne : public Parent {
public:
    ChildOne(){}
    void print() {
        std::cout << "I'm childOne!" << std::endl;
    }
};

class ChildTwo : public Parent {
public:
    ChildTwo() {}
    void print() {
        std::cout << "I'm childTwo!" << std::endl;
    }
};


int main(int argc, char const *argv[]) {
    Parent arr[] = {ChildOne(), ChildTwo()};
    int n = 2;

    for(int i = 0; i …
Run Code Online (Sandbox Code Playgroud)

c++ inheritance overriding c++11

3
推荐指数
1
解决办法
1321
查看次数

来自“const int”类型的表达式的“int&amp;”类型引用的初始化无效

当我写时for(auto &i: s),代码有效,当我写时for(int &i: s),代码失败:

[Error] invalid initialization of reference of type 'int&' from expression of type 'const int'.
Run Code Online (Sandbox Code Playgroud)

有人可以解释我上面的问题吗?

int main(){
    int x;
    unordered_set<int> s;
    for(int i=0; i<6; i++){
        cin >> x;
        s.insert(x);
    }
    for(int &i: s)
        cout << i << " ";
    return 0;
}
Run Code Online (Sandbox Code Playgroud)

c++

3
推荐指数
1
解决办法
78
查看次数

std::function vs 别名函数指针,为什么不能编译

想要调查std:function.

我有这个结构:

struct InstructionDescription
{
    std::string name;
    word mask;
    word code;
    std::function<void(Cpu*, word)> func;
    word flags;
};
Run Code Online (Sandbox Code Playgroud)

我像这样设置了一个向量

std::vector<InstructionDescription> instructions_{
{
    {"clr",     DD_MASK,        0005000,    &Cpu::Clr},
    {"clrb",    DD_MASK,        0105000,    &Cpu::Clr},
    {"com",     DD_MASK,        0005100,    &Cpu::Com},

.....
Run Code Online (Sandbox Code Playgroud)

工作正常。现在,如果我更改结构以使用函数指针:

using InstrFunc = void(*)(Cpu*, word);
struct InstructionDescription
{
    std::string name;
    word mask;
    word code;
    InstrFunc func;
    word flags;
};
Run Code Online (Sandbox Code Playgroud)

据我所知,这应该是等效的。然而我得到

1>C:\work\pdp\mysim\mysim\instructions.h(60,50): error C2664: 'std::vector<Cpu::InstructionDescription,std::allocator<Cpu::InstructionDescription>>::vector(std::initializer_list<_Ty>,const _Alloc &)': cannot convert argument 1 from 'initializer list' to 'std::initializer_list<_Ty>'
1>        with
1>        [
1>            _Ty=Cpu::InstructionDescription,
1>            _Alloc=std::allocator<Cpu::InstructionDescription> …
Run Code Online (Sandbox Code Playgroud)

c++

3
推荐指数
1
解决办法
67
查看次数