小编use*_*532的帖子

如何在NASM中使用scanf?

我正在试图弄清楚如何使用scanf来获取用户输入.我知道要使用printf:我所要做的就是将我想要在屏幕上写入的数据推送到堆栈中,如下所示:

global _main
extern _printf
extern _scanf

section .data
msg db "Hi", 0

section .text
_main:
  push ebp
  mov ebp, esp  

  push msg
  call _printf

  mov esp, ebp
  pop ebp
ret
Run Code Online (Sandbox Code Playgroud)

但我无法弄清楚如何使用scanf.有人可以给我一个最简单的源代码scanf吗?我真的只想把用户输入的内容放入其中.

我不习惯32位大会.我只使用16位,我知道在16位(DOS)你可以这样做:

mov ah, 3fh
mov dx, input
int 21h

input rb 100d
Run Code Online (Sandbox Code Playgroud)

无论你键入什么,都会放在"输入"的地址.

assembly nasm

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

QEMU在ARM笔记本电脑上出现“ tgc致命错误”?

我正在尝试在ARM笔记本电脑上模拟x86 Debian机器。我在这里关注该教程:https : //wiki.debian.org/QEMU#Operation

问题是,当我运行此命令时:

    $ qemu-system-i386 -hda debian.img -cdrom debian-testing-i386-businesscard.iso -boot d -m 256
Run Code Online (Sandbox Code Playgroud)

它抛出此错误:

/build/buildd/qemu-kvm-1.0+noroms/tcg/arm/tcg-target.c:859:tcg致命错误

中止(核心已弃用)

我还没有找到任何解决方案。

arm qemu

5
推荐指数
1
解决办法
322
查看次数

为什么我的代码只读取文件的最后一行?

我正在编写一个应用程序,它会将一些预编译的软件包安装到ARM Chromebook上,而且每次添加新软件包时我都不想更新我的程序,因此我将其设置为只下载一个列表我拥有的所有软件包(我可以更新),然后检查它是否是我编译并上传到我的网站的软件包.

问题是,它似乎只是读取文件的最后一行.最让我困惑的是它只读取了这个特定文件的最后一行.大多数其他文件读取所有行都很好.

这是我的代码:

#include <iostream>
#include <cstdlib>
#include <string>
#include <fstream>
#include <cstdio>
using namespace std;

int main(int argc, char* args[]) {
    if (argc < 2) {
        cout << "Please specify an application name.\n";
        return 0;   
    }
    cout << "Fetching list...\n";
    system("wget -N www.charmbrew.tk/files/list --quiet");

    cout << "Reading application list...\n";
    string line;
    string package = args[1];   
    bool isInList = false;  

    ifstream list("list");
    while (getline(list,line)) {
        cout << line;
        if (line == package) isInList = true;
    }
    list.close();
...
} …
Run Code Online (Sandbox Code Playgroud)

c++

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

为什么JavaScript中的".sort()"将非常小的数字排列为难以置信的大数字?

如果我要运行"[6,3,8,7,5,2,1,9,4,0] .sort()"我得到"[0,1,2,3,4,5,6, 7,8,9]"作为你期望的输出.它将数字从最小到最大排序.但如果我要运行"[2,3,1,4e-20] .sort()",我会得到"[1,2,3,4e-20]"作为输出.为什么".sort()"函数将"4e-20"视为大于"3"?即使您运行"3> 4e-20",您也会得到"true"作为输出,表明JavaScript确实意识到"4e-20"是一个非常小的数字.但是sort函数将它视为一个非常大的数字.为什么是这样?是否有某些方法可以改变它,或者我只需要编写自己的函数?

javascript sorting numbers

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

标签 统计

arm ×1

assembly ×1

c++ ×1

javascript ×1

nasm ×1

numbers ×1

qemu ×1

sorting ×1