📖 Explanation
With only immediate and direct addressing, all memory references must be fixed at compile time, precluding any runtime address calculation. Pointers require indirect addressing to dereference a stored address, which is unsupported. Arrays and records require indexed or displacement addressing (e.g., Base+Offset) to access elements or fields dynamically based on variables, which is impossible using only static direct addresses. Recursive procedures necessitate a stack where local variables are accessed relative to a dynamic stack pointer, requiring indirect or register-relative addressing. Since all these features rely on dynamic memory access, none can be implemented.