CODE


  CODE SEGMENT  
  LABEL     MNEMONIC     OPERAND  
  MVI     A, 80  
  OUT     43  
"SLIVER"   LXI     H, LOCATION + 0(DS)  
  MOV     B, M  
"GOLD"   INX     H  
  MOV     A, M  
  OUT     40  
  PUSH     H  
  PUSH     B  
  PUSH     PSW  
  CALL     "DELAY"  
  POP     PSW  
  POP     B  
  POP     H  
  DCR     B  
  JNZ     "GOLD"  
  JZ     "SILVER"  

  DELAY  
  LABEL     MNEMONIC     OPERAND  
  "DELAY"     MVI     B, 04  
  "COPPER"     LXI     H, FE9A  
  "PLATINUM"     DCX     H  
  MOV     A, L  
  ORA     H  
  JNZ     "PLATINUM"  
  DCR     B  
  JNZ     "COPPER"  
  RET     

  DATA SEGMENT (DS)  
  LOCATION + 0     09  
  LOCATION + 1     06  
  LOCATION + 2     02  
  LOCATION + 3     00  
  LOCATION + 4     01  
  LOCATION + 5     03  
  LOCATION + 6     07  
  LOCATION + 7     05  
  LOCATION + 8     04  
  LOCATION + 9     00