TestBench.tools
GitHub

MIL-STD-1553B Mode Code Reference

Look up 1553B mode codes by T/R bit and code, with data-word rules.

Code5-bitT/RData wordFunction
0000001 (Tx)noDynamic Bus Control
1000011 (Tx)noSynchronize
2000101 (Tx)noTransmit Status Word
3000111 (Tx)noInitiate Self-Test
4001001 (Tx)noTransmitter Shutdown
5001011 (Tx)noOverride Transmitter Shutdown
6001101 (Tx)noInhibit Terminal Flag Bit
7001111 (Tx)noOverride Inhibit Terminal Flag Bit
8010001 (Tx)noReset Remote Terminal
16100001 (Tx)yesTransmit Vector Word
17100010 (Rx)yesSynchronize (with data word)
18100101 (Tx)yesTransmit Last Command Word
19100111 (Tx)yesTransmit Built-In-Test (BIT) Word
20101000 (Rx)yesSelected Transmitter Shutdown
21101010 (Rx)yesOverride Selected Transmitter Shutdown

Codes 9–15 and 22–31 are reserved. Mode commands use subaddress 0 or 31.

This is a searchable reference for MIL-STD-1553B mode codes — the command set that manages the bus rather than moving data. Filter by code or name to find the T/R bit, whether the command carries a data word, and its function. Mode commands are signalled by subaddress 0 or 31; the five word-count bits then hold the mode code.

How it works

When a command word's subaddress is 0 or 31, the terminal reads the last five bits as a mode code instead of a word count. The standard divides these into two groups: codes 0-15 command an action with no accompanying data word (Transmit Status Word, Reset Remote Terminal, Initiate Self-Test, and so on), while codes 16-21 are paired with a single data word and are further distinguished by the T/R bit. Reserved codes fill the gaps.

The defined codes at a glance

Without a data word (codes 0–8, all T/R = 1): Dynamic Bus Control (0), Synchronize (1), Transmit Status Word (2), Initiate Self-Test (3), Transmitter Shutdown (4), Override Transmitter Shutdown (5), Inhibit Terminal Flag Bit (6), Override Inhibit Terminal Flag Bit (7) and Reset Remote Terminal (8).

With a data word (codes 16–21): Transmit Vector Word (16, T/R 1), Synchronize with data word (17, T/R 0), Transmit Last Command Word (18, T/R 1), Transmit Built-In-Test Word (19, T/R 1), Selected Transmitter Shutdown (20, T/R 0) and its override (21, T/R 0). Everything else — 9–15 and 22–31 — is reserved.

Worked examples

command 0x2C02 → RT 5, T/R 1, subaddress 0 → mode command
mode code 2, T/R 1 → Transmit Status Word (no data word)
command 0x63F1 → RT 12, T/R 0, subaddress 31 → mode command
mode code 17, T/R 0 → Synchronize (with data word) — one data word follows

Parameters

ParameterValueNotes
Triggersubaddress 0 or 31
Codes 0–8T/R 1 · no data wordbus / terminal management
Codes 16–21with data wordT/R selects direction
Reserved9–15, 22–31

FAQ

When does a 1553 command carry a mode code?

When the subaddress field is 0 or 31. That signals a mode command, so the last five bits of the command word are a mode code (0-31) rather than a word count. Mode commands manage the bus and terminals rather than moving payload data.

How does the T/R bit affect a mode code?

It selects which mode command a code means. Codes 0-15 are defined for T/R = 1 (transmit) and carry no data word. Codes 16-21 are associated with a data word and split by direction — for example code 17 (Synchronize with data word) uses T/R = 0, while code 16 (Transmit Vector Word) uses T/R = 1.

Which mode codes have a data word?

Codes with bit 4 set (16 and above): Transmit Vector Word (16), Synchronize with data word (17), Transmit Last Command (18), Transmit BIT Word (19), Selected Transmitter Shutdown (20) and its override (21). Codes 0-15 have no data word.

What are the reserved codes?

Codes 9-15 (no data word) and 22-31 (with data word) are reserved by MIL-STD-1553B and should not be used for custom functions. Encountering them in a capture usually points to a bit error or a non-conformant terminal.

Which mode codes use T/R = 0 (receive)?

Three of the data-word codes: Synchronize with data word (17), Selected Transmitter Shutdown (20) and Override Selected Transmitter Shutdown (21). In each case the bus controller sends a data word to the terminal, so the command is a receive from the RT's point of view. The other defined codes are transmit commands (T/R = 1).

Is subaddress 0 different from subaddress 31?

No — the standard designates both as mode-command indicators, and a terminal must decode either one the same way. Which of the two a given system uses is a program convention, so a capture may show either.

How do I decode the rest of the command word?

A 1553 command word is 16 bits: RT address (bits 15-11), T/R bit (bit 10), subaddress (bits 9-5) and word count or mode code (bits 4-0). The Command Word tool on this site breaks a hex word into those fields, and the Message Decoder handles full message sequences.

Is this the official assignment?

The table reflects the mode code assignments in the public MIL-STD-1553B standard. Always confirm against the controlling document for your program; some legacy systems restrict or extend the set.

Related tools