Skip to content

TRI-27 emulator: SACR takes its mode from an immediate the decoder never reads for SACR #1170

Description

@dmitrii-f-t27

Where: decoder.zig and executor.zig at 976df51.

What happens.

  • SACR takes its mode from the immediate, but the decoder never reads the immediate for SACR (SACR_MODE_RULE in specs/isa/ternary_encoding.t27).
  • Every decoded SACR therefore adds modulo 19683.
  • Modes 2, 3 and 4 run only from Instruction values the owner's tests construct directly.

Source: specs/isa/tri27_machine.t27, FINDINGS; the modes are in the spec's the_sacred_operation_modes test (line 400).

Expected.

  • The encoding carries the SACR mode in a field the decoder reads.
  • A test encodes and decodes SACR in every mode.

Vector. sacred in conformance/trinity/tri27_programs.json: the decoded SACR adds modulo 19683 whatever mode the source wrote.

Found while writing the S05 specs of #988 (gHashTag/t27#3581); until now it lived only in the spec's FINDINGS. The vectors are replayed by tools/trinity_tri27.py in gHashTag/t27. Tracked in #1164.

Activity

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

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