The Zed68 loads programs as raw binaries which can be written in your hex editor of choice.
The system features five unsigned 16-bit registers. A and B are for general artithmetic operations while X and Y are for incrementing.
The instruction width is 32-bit with each instruction being comprised of an 8-bit operator and sub-operator followed by a 16-bit operand.
The operator and sub-operator combine in logical ways to form super-operators that can perform complex operations in a single instruction cycle

operator description
0x00 - HLT Immediately halts system
0x01 - PRC Prints register name and contents to console
0x02 - PVC Prints register contents as numerical value to console
0x03 - PCC Prints value as 16-bit unicode character
0x0A - JIF Jump to specified program line if condition is met
0x0B - JNF Jump to specified program line if condition is not met
0x40 - LDA Loads specified value to A register
0x41 - STA Stores A reigster value to specified location
0x42 - ATA Adds specified value to A register
0x43 - SFA Subtract specified value from A register
0x45 - AMA Multiples A register by specified value
0x47 - ADA Divides A register by specified value
0x49 - RAA Divides A register by specified value and returns remainder
0x4A - FAE Set flag if A register value is equal to specified value
0x4B - FAM Set flag if A register value is more than specified value
0x4C - FAL Set flag if A register value is less than specified value
0x51 - STB Stores B reigster value to specified location
0x52 - ATB Adds specified value to B register
0x53 - SFB Subtract specified value from B register
0x55 - BMB Multiples B register by specified value
0x57 - BDB Divides B register by specified value
0x59 - RBD Divides B register by specified value and returns remainder
0x5A - FBE Set flag if B register value is equal to specified value
0x5B - FBM Set flag if B register value is more than specified value
0x5C - FBL Set flag if B register value is less than specified value
0x60 - STR Store result from accumulator to specified location
0x61 - AAB Adds A and B registers and outputs to specified location
0x62 - MAB Multiplies A and B registers and outputs to specified location
0x63 - AMB Subtracts B register from A register and outputs to specified location
0x64 - BMA Subtracts A register from B register and outputs to specified location
0x65 - ADB Divides A register by B register and outputs to specified location
0x66 - BDA Divides B register by A register and outputs to specified location
0x67 - RAB Divides A register by B register and outputs remainder to specified location
0x68 - RBA Divides A register by B register and outputs remainder to specified location
0x70 - LDX Load specifed value to X register
0x71 - STX Store X register value to specified location
0x72 - INX Increment X register by specified value
0x73 - DEX Decrement X register by specified value
0x7A - FXE Flag if X register value is equal to
0x7B - FXM Flag if X register value is more than
0x7C - FXL Flag if X register value is less than
0x80 - LDY Load specifed value to Y register
0x81 - STY Store Y register value to specified location
0x82 - INY Increment Y register by specified value
0x83 - DEY Decrement Y register by specified value
0x8A - FYE Flag if Y register value is equal to
0x8B - FYM Flag if Y register value is more than
0x8C - FYL Flag if Y register value is less than
0x90 - PSH Push value to stack
0x91 - POP Pop value from stack
Sub-operator Description
x00 - MIN Represents the minimum possible value
x01 - MAX Represents the maximum possible value
x02 - ARB Arbitrary value
x04 - ARG 16-bit A register
x05 - BRG 16-bit B register
x06 - ACC Accumulator stores values of arithmetic operations
x07 - XRG 16-bit X register
x08 - YRG 16-bit Y register
x09 - STK 16-bit stack
x0A - CRM Stores program currently being executed
x0B - WRM Stores values related to program being executed