home *** CD-ROM | disk | FTP | other *** search
/ ftp.barnyard.co.uk / 2015.02.ftp.barnyard.co.uk.tar / ftp.barnyard.co.uk / cpm / walnut-creek-CDROM / SIMTEL / CPMUG / CPMUG001.ARK / TRAIN.ASM < prev    next >
Assembly Source File  |  1984-04-29  |  2KB  |  190 lines

  1.     ORG    100H
  2. TRAIN:    XRA    A
  3.     OUT 0C8H
  4.     LXI    H,SHED
  5.     LXI    B,2048
  6. EMPTY:    MVI    M,20H
  7.     INX    H
  8.     DCX    B
  9.     XRA    A
  10.     XRA    B
  11.     JNZ    EMPTY
  12.     LXI    H,CLOUD
  13.     LXI    D,0
  14.     MVI    B,15
  15.     CALL    SMO1
  16.     LXI    D,43
  17.     MVI    B,13
  18.     CALL    SMO1
  19.     LXI    D,48
  20.     MVI    B,9
  21.     CALL    SMO1
  22.     LXI    D,52
  23.     MVI    B,4
  24.     CALL    SMO1
  25.     LXI    D,59
  26.     MVI    B,2
  27.     CALL    SMO1
  28.     LXI    D,60
  29.     MVI    B,1
  30.     CALL    SMO1
  31.     LXI    D,62
  32.     MVI    B,1
  33.     CALL    SMO1
  34.     JMP    ENGIN
  35.  
  36. SMO1:    DAD    D
  37. SMO2:    MVI    M,SMOKE
  38.     INX    H
  39.     DCR    B
  40.     JNZ    SMO2
  41.     RET
  42.  
  43. ENGIN:    LXI    H,SHED+322H
  44.     MVI    M,16H
  45.     LXI    H,SHED+325H
  46.     MVI    M,07H
  47.     LXI    H,SHED+327H
  48.     MVI    M,6EH
  49.     LHLD    CAB1
  50.     SHLD    SHED+32AH
  51.     LHLD    CAB2
  52.     SHLD    SHED+32CH
  53.     LHLD    CAB3
  54.     SHLD    SHED+32EH
  55.     LHLD    BOI1
  56.     SHLD    SHED+361H
  57.     LHLD    BOI2
  58.     SHLD    SHED+363H
  59.     LHLD    BOI3
  60.     SHLD    SHED+365H
  61.     SHLD    SHED+367H
  62.     LHLD    BOI4
  63.     SHLD    SHED+369H
  64.     LHLD    BOI5
  65.     SHLD    SHED+36BH
  66.     LHLD    BOI6
  67.     SHLD    SHED+36DH
  68.     LHLD    FRA1
  69.     SHLD    SHED+3A0H
  70.     LHLD    FRA2
  71.     SHLD    SHED+3A2H
  72.     SHLD    SHED+3A4H
  73.     SHLD    SHED+3A6H
  74.     LHLD    FRA3
  75.     SHLD    SHED+3A8H
  76.     LHLD    FRA4
  77.     SHLD    SHED+3AAH
  78.     LHLD    FRA5
  79.     SHLD    SHED+3ACH
  80.     LXI    B,-21H
  81.     LXI    H,SHED+3DEH
  82. RAILS:    MVI    M,19H
  83.     INX    B
  84.     INX    H
  85.     XRA    A
  86.     XRA    B
  87.     JNZ    RAILS
  88.  
  89. HOSTL:    LXI    H,RRY
  90.     XCHG
  91.     LXI    H,SHED
  92. FIRE:    MOV    A,M
  93.     INX    H
  94.     XCHG
  95.     MOV    M,A
  96.     INX    H
  97.     MOV    A,H
  98.     XCHG
  99.     CPI    0D0H
  100.     JNZ    FIRE
  101.     CALL    TRAVL
  102.     JMP    HOSTL
  103.  
  104. TRAVL:    LXI    B,64*13
  105. CHOO:    PUSH    B
  106.     CALL    STROK
  107.     CALL    TURN
  108.     POP    B
  109.     DCX    B
  110.     XRA    A
  111.     XRA    B
  112.     JNZ    CHOO
  113.     RET
  114.  
  115. STROK:    LXI    H,0CC01H
  116.     MVI    C,0D0H
  117. COAL:    MOV    A,M
  118.     DCX    H
  119.     MOV    M,A
  120.     INX    H
  121.     INX    H
  122.     MOV    A,H
  123.     CMP    C
  124.     JNZ    COAL
  125.     RET
  126.  
  127. TURN:    LXI    H,0CC00H
  128. HISS:    MOV    A,M
  129.     INX    H
  130.     CPI    6
  131.     JNZ    HISS
  132. FOUND:    INX    H
  133. AXLE:    MOV    A,M
  134.     CPI    11H
  135.     JNZ    NEXT1
  136.     LXI    D,147EH
  137.  
  138. AXL1:    MVI    B,7
  139. AXL2:    MOV    M,D
  140.     DCR    B
  141.     JZ    WORK
  142.     INX    H
  143.     MOV    M,E
  144.     INX    H
  145.     DCR    B
  146.     JNZ    AXL2
  147.  
  148. NEXT1:    CPI    14H
  149.     JNZ    NXT2
  150.     LXI    D,132DH
  151.     JMP    AXL1
  152. NXT2:    CPI    13H
  153.     JNZ    NXT3
  154.     LXI    D,125FH
  155.     JMP    AXL1
  156. NXT3:    CPI    12H
  157.     JNZ    AXLE
  158.     LXI    D,112DH
  159.     JMP    AXL1
  160.  
  161. WORK:    LXI    B,3000
  162. OIL:    DCX    B
  163.     XRA    A
  164.     XRA    B
  165.     JNZ    OIL
  166.     RET
  167.  
  168. QUIT:    JMP    0000
  169.  
  170. RRY    EQU    0CC00H
  171. SMOKE    EQU    6FH
  172. CAB1:    DW    1001H
  173. CAB2:    DW    5D10H
  174. CAB3:    DW    207EH
  175. BOI1:    DW    0A28H
  176. BOI2:    DW    190AH
  177. BOI3:    DW    0A0AH
  178. BOI4:    DW    5B0AH
  179. BOI5:    DW    3939H
  180. BOI6:    DW    205DH
  181. FRA1:    DW    2006H
  182. FRA2:    DW    2D11H
  183. FRA3:    DW    2011H
  184. FRA4:    DW    2D6FH
  185. FRA5:    DW    206FH
  186. TIES:    DW    1919H
  187. SHED:    NOP
  188. CLOUD    EQU    $+0172H
  189.     END
  190.