|
"Coding in binary" is essentially just coding in machine code. There's no way to code at the level of microcode invoked by the machine instructions. If one consideres a pure assembler language (without high level constructs, macros, and so forth), it's merely a set of mnemonics representing op codes and operands. The binary value 0011 1110 0000 0001, for instance, will place the value "1" in the accumulator of a Z80 processor. Expressed as hex, that would be 3E 01. Mnemonically, it's LD A, 1. The 3E is the opcode whose pattern gates the gates that will clock a value (specifically, the value in the byte immediately following the opcode) into the A register. The following value is the operand. It's an example of an "immediate" reference, which means the value is embedded right into the instruction stream. A "direct" operation would mean that the address of the value is in the instruction, not the value, itself. An "indirect" operation would mean that another location (not the operand) contains the address of the value to use. That could be another register or another memory location.
|