A RetroSearch Logo

Home - News ( United States | United Kingdom | Italy | Germany ) - Football scores

Search Query:

Showing content from https://github.com/hyqneuron/asfermi/wiki/Opcode below:

Opcode · hyqneuron/asfermi Wiki · GitHub

Note: information here is not organised. Many parts may be unclear and confusing. Information may be inaccurate.

Currently 2 types of opcodes found: 4-byte and 8-byte. For instruction names and their identifier bits (na, nb), see Instructions, nanb.

General format:

LSB                                                                MSB
xxx0 xxxxxx xxxx xxxxxx xxxxxx xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx xxxxxx
  na    mod   pr    re0    re1                             imme     nb

The numbering of bit fields below, such as re0 3:5, start from the MSB, but the displayed binary digits start from the LSB. For instance, when pr is 0101, then "pr 2" will be 1 and "pr 0:2" will be 101.

These two bit fields specify the instruction name. Invalid bits result in invalid opcode.

Predicate bits

Field Meaning 0 Negate predicate. Eg: 1001: @!P1 1:3 Predicate register number. Eg: 0100: @P2

Note: Predicate register 7 , P7, is actually recognised by cuobjdump as "pt", which is similar to "RZ" in the sense that it possibly means "no predicate" (1110 means no predicate used). Also, P4, P5 and P6 have not been tested. Use of those predicate registers may trigger error.

re0 is most often used for as the destination register. However, for SETP instructions re0 0:2 is the destination predicate register(p), and re0 3:5 is destination predicate for NOT p(~p).

re1 is often the second register operand. It is also used to store the Rxx in [Rxx+0xaabb] for memory operands.

For instructions with the suffix I32, the entirety of the field is used to store a 32-bit immediate value.

For most other instructions that use this field, imme is divided into two fields: immea(imme10:31) and immeb(imme0:9). immea can be used to indicate a 20-bit immediate value, a constant memory address, or a register. immea is most often used by a composite operand

immea 0:1 immea 2:21 00 lowest 6 bits: register 10 constant memory address 01 see note below 11 20-bit immediate

immeb is sometimes used to store modifier bits.

General format:

LSB                               MSB
xxx1xxx   x     xx xxxx xxxxxx xxxxxx xxxxxx
     na mod  immeb   pr    re1    re0  immea

RetroSearch is an open source project built by @garambo | Open a GitHub Issue

Search and Browse the WWW like it's 1997 | Search results from DuckDuckGo

HTML: 3.2 | Encoding: UTF-8 | Version: 0.7.3