SI Instructions

Instructions that involve a byte in storage represented by a D(B) address and an immediate byte. The immediate byte is part of the encoded instruction.

The immediate byte can be specified in 4 ways:

  1. Character Immediate Byte
  
     - enclose the character in single quotes and precede it with
       the letter C
       
     - Example:  C'$'

       
  2. Hexadecimal Immediate Byte
  
     - enclose TWO hexadecimal numbers in single quotes and precede 
       it with the letter X
       
     - Example:  X'5B'


  3. Binary Immediate Byte
  
     - enclose 8 bits in single quotes and precede it with the
       letter B
       
     - Example:  B'01011011'


  4. Decimal Immediate Byte
  
     - code a decimal value between 0 and 255 (it will be converted
       to hexadecimal when encoded
       
     - Example:  91

 

 

 

Move Immediate

  Format:  label  MVI  D(B),byte
  
  - Moves the immediate byte specified by byte to D(B)
  

  Character:    MVI  42(R5),C'*'     moves a * to the address 42(5)
  
  Hexadecimal:  MVI  42(R5),X'5B'    moves a $ to the address 42(5)
  
  Binary:   MVI  4(R5),B'01000000'   moves a space to the address 4(5)
  
  Decimal:      MVI  0(R10),80       moves a & to the address 0(10)
  

 

Compare Logical Immediate

  Format: label  CLI  D(B),byte
  
  - Compares the byte at D(B) with the immediate byte specified by
    byte
    
  - Sets Condition code
  
    Code          Meaning
     0            Equality
     1            byte at D(B) < immediate byte
     2            byte at D(B) > immediate byte

     
  Character:    CLI  4(R7),C'A'      compares the letter A with the
                                     byte at the address 4(7)
  
  Hexadecimal:  CLI  5(R5),X'F0'     compares the character 0 with the
                                     byte at the address 5(5)
  
  Binary:   CLI  4(R5),B'11011000'   compares the letter Q with the
                                     byte at the address 4(5)
  
  Decimal:      CLI  0(R10),64       compares a space with the byte
                                     at the address 0(10)