• Top
    • Documentation
    • Books
    • Boolean-reasoning
    • Projects
      • Apt
      • Zfc
      • Acre
      • Milawa
      • Smtlink
      • Abnf
      • Vwsim
      • Isar
      • Wp-gen
      • Dimacs-reader
      • Pfcs
      • Legacy-defrstobj
      • C
      • Proof-checker-array
      • Soft
      • Farray
      • Rp-rewriter
      • Instant-runoff-voting
      • Imp-language
      • Sidekick
      • Ethereum
      • Leftist-trees
      • Java
      • Riscv
        • Specification
        • Executable
        • Specialized
          • Specialized-rv64im-le
            • Rv64im-le-semantics
              • Exec64-bltu
              • Exec64-bgeu
              • Exec64-blt
              • Exec64-bge
              • Exec64-bne
              • Exec64-beq
              • Exec64-jalr
              • Exec64-branch
              • Exec64-jal
              • Exec64-op-imms-32
              • Exec64-op-32
              • Exec64-op
              • Exec64-op-imm-32
              • Exec64-op-imm
              • Exec64-auipc
              • Exec64-srlw
              • Exec64-sraw
              • Exec64-sltiu
              • Exec64-remuw
              • Exec64-op-imms
              • Exec64-load
              • Exec64-store
              • Exec64-srliw
              • Exec64-sraiw
              • Exec64-sra
              • Exec64-sllw
              • Exec64-remw
              • Exec64-divuw
              • Exec64-xori
              • Exec64-srl
              • Exec64-slti
              • Exec64-remu
              • Exec64-rem
              • Exec64-ori
              • Exec64-divw
              • Exec64-divu
              • Exec64-andi
              • Exec64-addiw
              • Exec64-srli
              • Exec64-srai
              • Exec64-sltu
              • Exec64-slliw
              • Exec64-sll
              • Exec64-mulhsu
              • Exec64-lhu
              • Exec64-div
              • Exec64-addi
              • Exec64-slt
              • Exec64-slli
              • Exec64-mulhu
              • Exec64-lwu
              • Exec64-lw
              • Exec64-lh
              • Exec64-xor
              • Exec64-sw
              • Exec64-sh
              • Exec64-sd
              • Exec64-mulw
              • Exec64-mulh
              • Exec64-lbu
              • Exec64-and
              • Exec64-addw
              • Exec64-subw
              • Exec64-sub
              • Exec64-sb
              • Exec64-or
              • Exec64-mul
              • Exec64-ld
              • Exec64-lb
              • Exec64-add
              • Exec64-instr
              • Eff64-addr
              • Exec64-lui
            • Rv64im-le-states
            • Rv64im-le-execution
            • Rv64im-le-features
          • Specialized-rv32im-le
        • Optimized
      • Taspi
      • Bitcoin
      • Zcash
      • Des
      • X86isa
      • Sha-2
      • Yul
      • Proof-checker-itp13
      • Regex
      • ACL2-programming-language
      • Json
      • Jfkr
      • Equational
      • Cryptography
      • Axe
      • Poseidon
      • Where-do-i-place-my-book
      • Aleo
      • Bigmems
      • Builtins
      • Execloader
      • Solidity
      • Paco
      • Concurrent-programs
      • Bls12-377-curves
    • Debugging
    • Community
    • Std
    • Proof-automation
    • Macro-libraries
    • ACL2
    • Interfacing-tools
    • Hardware-verification
    • Software-verification
    • Math
    • Testing-utilities
  • Specialized-rv64im-le

Rv64im-le-semantics

Semantics of instructions for RV64IM.

We define state-transforming functions that model the effect of each instruction on the state.

For now we only support little endian access to memory, in load and store instructions. Also, for now we do no alignment checks.

Subtopics

Exec64-bltu
Semantics of the BLTU instruction [ISA:2.5.2].
Exec64-bgeu
Semantics of the BGEU instruction [ISA:2.5.2].
Exec64-blt
Semantics of the BLT instruction [ISA:2.5.2].
Exec64-bge
Semantics of the BGE instruction [ISA:2.5.2].
Exec64-bne
Semantics of the BNE instruction [ISA:2.5.2].
Exec64-beq
Semantics of the BEQ instruction [ISA:2.5.2].
Exec64-jalr
Semantics of the JALR instruction [ISA:2.5.1].
Exec64-branch
Semantics of the instructions with the BRANCH opcode [ISA:2.5.2].
Exec64-jal
Semantics of the JAL instruction [ISA:2.5.1].
Exec64-op-imms-32
Semantics of a shift instruction with the OP-IMM-32 opcode [ISA:4.2.1].
Exec64-op-32
Semantics of the instructions with the OP-32 opcode [ISA:4.2.2] [ISA:12.1] [ISA:12.2].
Exec64-op
Semantics of the instructions with the OP opcode [ISA:2.4.2] [ISA:4.2.2] [ISA:12.1] [ISA:12.2].
Exec64-op-imm-32
Semantics of the non-shift instructions with the OP-IMM-32 opcode [ISA:4.2.1].
Exec64-op-imm
Semantics of the non-shift instructions with the OP-IMM opcode [ISA:2.4.1].
Exec64-auipc
Semantics of the AUIPC instruction [ISA:4.2.1].
Exec64-srlw
Semantics of the SRLW instruction [ISA:4.2.2].
Exec64-sraw
Semantics of the SRAW instruction [ISA:4.2.2].
Exec64-sltiu
Semantics of the SLTIU instruction [ISA:2.4.1].
Exec64-remuw
Semantics of the REMUW instruction [ISA:12.2].
Exec64-op-imms
Semantics of the shift instructions with the OP-IMM opcode [ISA:2.4.1].
Exec64-load
Semantics of the instructions with the LOAD opcode [ISA:2.6] [ISA:4.3].
Exec64-store
Semantics of the instructions with the STORE opcode [ISA:2.6] [ISA:4.3].
Exec64-srliw
Semantics of the SRLIW instruction [ISA:4.2.1].
Exec64-sraiw
Semantics of the SRAIW instruction [ISA:4.2.1].
Exec64-sra
Semantics of the SRA instruction [ISA:4.2.2].
Exec64-sllw
Semantics of the SLLW instruction [ISA:4.2.2].
Exec64-remw
Semantics of the REMW instruction [ISA:12.2].
Exec64-divuw
Semantics of the DIVUW instruction [ISA:12.2].
Exec64-xori
Semantics of the XORI instruction [ISA:2.4.1].
Exec64-srl
Semantics of the SRL instruction [ISA:4.2.2].
Exec64-slti
Semantics of the SLTI instruction [ISA:2.4.1].
Exec64-remu
Semantics of the REMU instruction [ISA:12.2].
Exec64-rem
Semantics of the REM instruction [ISA:12.2].
Exec64-ori
Semantics of the ORI instruction [ISA:2.4.1].
Exec64-divw
Semantics of the DIVW instruction [ISA:12.2].
Exec64-divu
Semantics of the DIVU instruction [ISA:12.2].
Exec64-andi
Semantics of the ANDI instruction [ISA:2.4.1].
Exec64-addiw
Semantics of the ADDIW instruction [ISA:4.2.1].
Exec64-srli
Semantics of the SRLI instruction [ISA:2.4.1].
Exec64-srai
Semantics of the SRAI instruction [ISA:2.4.1].
Exec64-sltu
Semantics of the SLTU instruction [ISA:2.4.2].
Exec64-slliw
Semantics of the SLLIW instruction [ISA:4.2.1].
Exec64-sll
Semantics of the SLL instruction [ISA:4.2.2].
Exec64-mulhsu
Semantics of the MULHSU instruction [ISA:12.1].
Exec64-lhu
Semantics of the LHU instruction [ISA:2.6].
Exec64-div
Semantics of the DIV instruction [ISA:12.2].
Exec64-addi
Semantics of the ADDI instruction [ISA:2.4.1].
Exec64-slt
Semantics of the SLT instruction [ISA:2.4.2].
Exec64-slli
Semantics of the SLLI instruction [ISA:2.4.1].
Exec64-mulhu
Semantics of the MULHU instruction [ISA:12.1].
Exec64-lwu
Semantics of the LW instruction [ISA:4.3].
Exec64-lw
Semantics of the LW instruction [ISA:4.3].
Exec64-lh
Semantics of the LH instruction [ISA:2.6].
Exec64-xor
Semantics of the XOR instruction [ISA:2.4.2].
Exec64-sw
Semantics of the SW instruction [ISA:4.3].
Exec64-sh
Semantics of the SH instruction [ISA:2.6].
Exec64-sd
Semantics of the SD instruction [ISA:4.3].
Exec64-mulw
Semantics of the MULW instruction [ISA:12.1].
Exec64-mulh
Semantics of the MULH instruction [ISA:12.1].
Exec64-lbu
Semantics of the LBU instruction [ISA:2.6].
Exec64-and
Semantics of the AND instruction [ISA:2.4.2].
Exec64-addw
Semantics of the ADDW instruction [ISA:4.2.2].
Exec64-subw
Semantics of the SUBW instruction [ISA:4.2.2].
Exec64-sub
Semantics of the SUB instruction [ISA:2.4.2].
Exec64-sb
Semantics of the SB instruction [ISA:2.6].
Exec64-or
Semantics of the OR instruction [ISA:2.4.2].
Exec64-mul
Semantics of the MUL instruction [ISA:12.1].
Exec64-ld
Semantics of the LW instruction [ISA:4.3].
Exec64-lb
Semantics of the LB instruction [ISA:2.6].
Exec64-add
Semantics of the ADD instruction [ISA:2.4.2].
Exec64-instr
Semantics of instructions.
Eff64-addr
Effective address for a load or store instruction [ISA:2.6].
Exec64-lui
Semantics of the LUI instruction [ISA:4.2.1].