Skip to content

can system call 51 (InputDialogInt) take a hex input? #213

@jowens

Description

@jowens

Please forgive my non-knowledge of Java. In class I am using this simulator to teach RISC-V. Students input a value using system call 51 (InputDialogInt) at the start of an assembly program and then watch the simulator run the program with that input.

It is my understanding that this system call inputs a decimal number. For many test cases, students would appreciate the opportunity to instead input a hexadecimal number. Here's my understanding of what is happening:

  • rars/src/rars/riscv/syscalls/SyscallReadInt.java : SyscallReadInt calls SystemIO.readInteger
  • rars/src/rars/util/SystemIO.java: SystemIO.readInteger calls return Integer.parseInt(input.trim())
    • Integer.parseInt takes two arguments; the second is the base and is if not specified 10

If the first two characters of input are 0x, could they be removed and then result in a call like return SystemIO.readInteger(input[2:].trim(), 16)? Again, sorry, I don't know Java.

Metadata

Metadata

Assignees

No one assigned

    Labels

    No labels
    No labels

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions