Warning: file_get_contents(/data/phpspider/zhask/data//catemap/4/postgresql/9.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
MIPS:我可以通过syscall从用户处获取未签名的int值吗?_Mips_System Calls_Unsigned Integer_Mips32 - Fatal编程技术网

MIPS:我可以通过syscall从用户处获取未签名的int值吗?

MIPS:我可以通过syscall从用户处获取未签名的int值吗?,mips,system-calls,unsigned-integer,mips32,Mips,System Calls,Unsigned Integer,Mips32,这个标题大致概括了这一点。我正在用32位MIPS汇编语言(使用MARS模拟器)为一个学校项目编写一个程序,并且我在int values>2147483647中的读取率为零 我花了相当多的时间在网上和书中搜寻,但都没有用。这不是作业的核心(如果你碰巧知道这是不可能的,你可能已经意识到),但好奇心正在杀死这只猫。既然我撞到了这堵砖墙,我肯定知道 注: 我特别想寻找一种方法来获取无符号int,而不是采用浮点或双精度 使用syscall获取int的标准代码: li $v0, 5 syscall move

这个标题大致概括了这一点。我正在用32位MIPS汇编语言(使用MARS模拟器)为一个学校项目编写一个程序,并且我在int values>2147483647中的读取率为零

我花了相当多的时间在网上和书中搜寻,但都没有用。这不是作业的核心(如果你碰巧知道这是不可能的,你可能已经意识到),但好奇心正在杀死这只猫。既然我撞到了这堵砖墙,我肯定知道

注:

  • 我特别想寻找一种方法来获取无符号int,而不是采用浮点或双精度
  • 使用syscall获取int的标准代码:

    li $v0, 5
    syscall
    move $t0, $v0
    
  • 在提示输入整数时传递250 000 000时发生的错误:

    Error in C:\DEV\....... line 57: Runtime exception at 
    0x004000034: invalid integer input (syscall 5)
    

  • 帮助我欧比万,你是我唯一的希望

    您需要使用不同的系统调用——MARS正在抛出异常,而不是MIPS CPU中的任何内容。例如,尝试系统调用8或12(读取字符串和读取字符)。请注意,结果是,您必须自己实现更多的解析才能使这些工作正常进行

    或者,您可以尝试读取double(syscall 7)并将其转换为整数

    以下是MARS系统调用的完整在线列表:


    您需要使用一个不同的系统调用——MARS抛出异常,而不是MIPS CPU中的任何东西。例如,尝试系统调用8或12(读取字符串和读取字符)。请注意,结果是,您必须自己实现更多的解析才能使这些工作正常进行

    或者,您可以尝试读取double(syscall 7)并将其转换为整数

    以下是MARS系统调用的完整在线列表:


    关于异常的来源,这是一个很好的观点。至于建议要么读入字符串并解析值,要么使用不同的数字格式——我已经考虑过这一点,如果这是作业的核心,我会;目前,我只是好奇是否有一种受支持的方法可以通过syscall读取未签名的int。我在回复中编辑了一个指向MARS syscall完整列表的链接。不幸的是,我没有看到任何看起来适用的东西。关于异常的来源,这是一个很好的观点。至于建议要么读入字符串并解析值,要么使用不同的数字格式——我已经考虑过这一点,如果这是作业的核心,我会;目前,我只是好奇是否有一种受支持的方法可以通过syscall读取未签名的int。我在回复中编辑了一个指向MARS syscall完整列表的链接。不幸的是,我没有看到任何适用的东西。