MIL-STD-1553B Status Word Decoder
Decode 1553B status words: RT address and every status flag bit.
bits 15–11 RT address · 10–0 status flags · odd parity 1
| Bit | Flag | State |
|---|---|---|
| 10 | Message Error | 0 |
| 9 | Instrumentation (reserved 0) | 0 |
| 8 | Service Request | 0 |
| 4 | Broadcast Command Received | 0 |
| 3 | Busy | 0 |
| 2 | Subsystem Flag | 0 |
| 1 | Dynamic Bus Control Acceptance | 0 |
| 0 | Terminal Flag | 0 |
This tool decodes a MIL-STD-1553B status word: enter the 16-bit hex value and it breaks out the responding RT address and the state of every status flag — Message Error, Service Request, Busy, Subsystem Flag, Terminal Flag and the rest — with the odd-parity bit. Reference: 0x1800 = RT 3, all flags clear; 0x1808 adds the Busy bit.
How it works
An RT answers a valid command by transmitting its status word. The top five bits echo the RT's own address so the bus controller can confirm the right terminal responded; the lower eleven bits are a fixed set of condition flags defined by MIL-STD-1553B. Because a status word shares the same sync and address layout as a command word, the message context — not the bits — tells you which it is. The Instrumentation bit (bit 9) is held at 0 in status words.
Worked example
RT address 3 · Busy bit (3) set
all other flags 0 · odd parity 0
Parameters
| Parameter | Value | Notes |
|---|---|---|
| RT address | bits 15–11 | |
| Message Error | bit 10 | |
| Service Request | bit 8 | |
| Broadcast Received | bit 4 | |
| Busy | bit 3 | |
| Subsystem Flag | bit 2 | |
| Dynamic Bus Control Acc. | bit 1 | |
| Terminal Flag | bit 0 |
C reference
#include <stdint.h>
#include <stdbool.h>
/* Extract the common MIL-STD-1553B status flags */
uint8_t rt_address(uint16_t s) { return (s >> 11) & 0x1F; }
bool message_error(uint16_t s) { return (s >> 10) & 1; }
bool service_req (uint16_t s) { return (s >> 8) & 1; }
bool busy (uint16_t s) { return (s >> 3) & 1; }
bool terminal_flag(uint16_t s) { return s & 1; }
/* 0x1808 -> RT 3, Busy set */FAQ
▸What fields make up a 1553B status word?
Bits 15-11 are the responding RT's address; the remaining bits are status flags: Message Error (10), Instrumentation (9, reserved 0), Service Request (8), three reserved bits (7-5), Broadcast Command Received (4), Busy (3), Subsystem Flag (2), Dynamic Bus Control Acceptance (1) and Terminal Flag (0).
▸How do I tell a status word from a command word?
You can't from the 16 bits alone — both share the same command/status sync on the wire, and the RT address occupies the same top 5 bits. Context in the message tells you: an RT transmits its status word in response to a valid command. The Instrumentation bit (bit 9) is fixed at 0 in status words, which some systems use as an aid.
▸What does the Message Error bit indicate?
The RT sets Message Error when it detects a problem with the command or data it received — a parity error, an invalid word, an illegal command or a word-count mismatch. It tells the bus controller the last transfer to that RT should not be trusted.
▸What are the Busy and Service Request bits for?
Busy signals the RT cannot move data to or from the subsystem right now (it is discouraged in newer designs). Service Request is a general-purpose flag asking the bus controller for attention — typically to schedule a transfer the RT wants to perform.
▸Is anything uploaded?
No. Decoding runs entirely in your browser.
Related tools
MIL-STD-1553B Command Word Decoder
Decode and build 1553B command words: RT address, T/R, subaddress, word count, mode codes.
MIL-STD-1553B Message Decoder
Lay out a full 1553B transaction: command, data words and status, with parity checks.
MIL-STD-1553B Mode Code Reference
Look up 1553B mode codes by T/R bit and code, with data-word rules.