BIPUSH (0x10)


The BIPUSH instruction pushes its one-byte operand onto the stack as a signed integer. After the operand is read into the MBR, the value is loaded onto the B-bus using sign extension (accessing MBR as Register 2).

The assembler will accept any decimal operand between -128 and 127. It will also accept single character data enclosed within single quotes (such as 'A').

Interpreter Microcode

0x010 SP=MAR= SP+1; goto 0x16
...
0x016 PC= PC+1; fetch; goto 0x17
0x017 TOS=MDR=MBR; wr; goto 0x2

Example Program

//---------------------------------------------
// Demonstrate the BIPUSH instruction.
//
// 1. Clear Memory
// 2. Assemble this program.
// 3. Reset the computer.
// 4. Click the "Display Words" radio button
//    below the memory display.
// 5. Click the "Run" button.
//
// After running this program
//     10 is stored at address 4097
//    -15 is stored at address 4098
//     65 is stored at address 4099
// and the top of the stack is at 4099.
//---------------------------------------------
.main
    bipush 10
    bipush -15
    bipush 'A'
    halt
.end-main