Details | Last modification | View Log | RSS feed
| Rev | Author | Line No. | Line |
|---|---|---|---|
| 1126 | savelij | 1 | cpu f3850 |
| 2 | page 0 |
||
| 3 | |||
| 4 | adc |
||
| 5 | ai 55h |
||
| 6 | am |
||
| 7 | amd |
||
| 8 | as 5 |
||
| 9 | asd 10 |
||
| 10 | |||
| 11 | bc $ |
||
| 12 | bf 10,$+1 |
||
| 13 | bm $-2 |
||
| 14 | bnc $+3 |
||
| 15 | bno $-4 |
||
| 16 | bnz $+5 |
||
| 17 | bp $-6 |
||
| 18 | br $+7 |
||
| 19 | br7 $-8 |
||
| 20 | bt 3,$+9 |
||
| 21 | bz $-10 |
||
| 22 | |||
| 23 | ci 55h |
||
| 24 | clr |
||
| 25 | cm |
||
| 26 | com |
||
| 27 | |||
| 28 | dci 55aah |
||
| 29 | di |
||
| 30 | ds s |
||
| 31 | |||
| 32 | ei |
||
| 33 | |||
| 34 | in 07h |
||
| 35 | inc |
||
| 36 | ins 4 |
||
| 37 | |||
| 38 | jmp 55aah |
||
| 39 | |||
| 40 | li 88h |
||
| 41 | lis 5 |
||
| 42 | lisl 4 |
||
| 43 | lisu 6 |
||
| 44 | lm |
||
| 45 | lnk |
||
| 46 | lr a,ku |
||
| 47 | lr a,kl |
||
| 48 | lr a,qu |
||
| 49 | lr a,ql |
||
| 50 | lr ku,a |
||
| 51 | lr kl,a |
||
| 52 | lr qu,a |
||
| 53 | lr ql,a |
||
| 54 | lr k,p |
||
| 55 | lr p,k |
||
| 56 | lr a,is |
||
| 57 | lr is,a |
||
| 58 | lr p0,q |
||
| 59 | lr q,dc |
||
| 60 | lr dc,q |
||
| 61 | lr h,dc |
||
| 62 | lr dc,h |
||
| 63 | lr w,j |
||
| 64 | lr j,w |
||
| 65 | lr a,10 |
||
| 66 | lr i,a |
||
| 67 | |||
| 68 | ni 0feh |
||
| 69 | nm |
||
| 70 | nop |
||
| 71 | ns i |
||
| 72 | |||
| 73 | oi 01h |
||
| 74 | om |
||
| 75 | out 55h |
||
| 76 | outs 7 |
||
| 77 | |||
| 78 | ; I/O addresses within the CPU module (0..3) may only |
||
| 79 | ; be accessed via INS and OUTS: |
||
| 80 | |||
| 81 | expect 450,450 |
||
| 82 | out 1 |
||
| 83 | in 0 |
||
| 84 | endexpect |
||
| 85 | |||
| 86 | pi 55aah |
||
| 87 | pk |
||
| 88 | pop |
||
| 89 | |||
| 90 | sl |
||
| 91 | sl 1 |
||
| 92 | sl 4 |
||
| 93 | sr |
||
| 94 | sr 1 |
||
| 95 | sr 4 |
||
| 96 | st |
||
| 97 | |||
| 98 | xdc |
||
| 99 | xi 0ffh |
||
| 100 | xm |
||
| 101 | xs d |
||
| 102 | |||
| 103 | ; ---- sample memcpy() from F8 Programmer's Manual |
||
| 104 | |||
| 105 | BUFA equ 800h ; SET THE VALUE OF SYMBOL BUFA |
||
| 106 | BUFB equ 8a0h ; SET THE VALUE OF SYMBOL BUFB |
||
| 107 | org 100h |
||
| 108 | one: dci BUFA ; SET DCO TO BUFA STARTING ADDRESS |
||
| 109 | two: xdc ; STORE IN DC1 |
||
| 110 | three: dci BUFB ; SET DCO TO BUFB STARTING ADDRESS |
||
| 111 | four: li 80h ; LOAD BUFFER LENGTH INTO ACCUMULATOR |
||
| 112 | five: lr 1,a ; SAVE BUFFER LENGTH IN SCRATCHPAD BYTE 1 |
||
| 113 | loop: lm ; LOAD CONTENTS OF MEMORY BYTE ADDRESSED BY DCO |
||
| 114 | six: xdc ; EXCHANGE DCO AND DC1 |
||
| 115 | seven: st ; STORE ACCUMULATOR IN MEMORY BYTE ADDRESSED BY DCO |
||
| 116 | eight: xdc ; EXCHANGE DCO AND DC 1 |
||
| 117 | nine: ds 1 ; DECREMENT SCRATCHPAD BYTE 1 |
||
| 118 | ten: bnz loop ; SCRATCHPAD BYTE 1 IS NOT ZERO. RETURN TO LOOP |
||
| 119 | |||
| 120 | ; ---- taken from https://www.chessprogramming.org/Fairchild_F8, with some |
||
| 121 | ; ---- OCR mistakes fixed ('OD' -> '0D', 'LR AS' -> 'LR A,S') |
||
| 122 | ; ANSWER-BACK PROGRAM FOR MOSTEK F8 EVALUATION KIT |
||
| 123 | ; D. EDWARDS, ELECTRONICS AUSTRALIA 19/10/76 |
||
| 124 | |||
| 125 | ORG 400h |
||
| 126 | INIT: |
||
| 127 | LI 0FFh ; LOAD AC WITH FF |
||
| 128 | LR IS,A ; INITIALIZE ISAR TO 3F |
||
| 129 | LR 4,A ; COPY AC INTO REG 4 |
||
| 130 | DS 4 ; DECREMENT REG 4 TO FE |
||
| 131 | LR 6,A ; COPY AC INTO REG 6 |
||
| 132 | LIS 01h ; LOAD AC WITH 01 |
||
| 133 | OUTS 6 ; TRANSFER AC TO TIMER PORT TO ENABLE EXT INT |
||
| 134 | EI ; ENABLE I/O ROUTINES |
||
| 135 | START: PI 03F3h ; CALL TTYIN SUBROUTINE |
||
| 136 | LR A,S ; COPY CHAR INTO AC FROM RS |
||
| 137 | CI 0Dh ; COMPARE WITH CR |
||
| 138 | BZ MESSAGE ; JUMP TO MESSAGE IF CR |
||
| 139 | PI 035Dh ; SEND CHAR TO TTYOUT SUBROUTINE |
||
| 140 | BR START ; LOOP BACK TO START |
||
| 141 | MESSAGE:DCI MSG ; LOAD DC WITH MESSAGE ADDRESS |
||
| 142 | ANSWER: CLR ; CLEAR AC |
||
| 143 | AM ; ADD CHAR TO AC AND INC DC |
||
| 144 | BZ START ; LOOP BACK TO START |
||
| 145 | LR S,A ; COPY CHAR INTO RS |
||
| 146 | PI 035Dh ; SEND CHAR TO TTYOUT SUBROUTINE |
||
| 147 | BR ANSWER ; LOOP BACK TO ANSWER |
||
| 148 | MSG: db 0Dh, 47h, 4Fh ; START OF ANSWER BUFFER |
||
| 149 | db 20h, 41h, 57h |
||
| 150 | db 41h, 59h, 2Ch |
||
| 151 | db 20h, 49h, 27h |
||
| 152 | db 4Dh, 20h, 42h |
||
| 153 | db 55h, 53h, 59h |
||
| 154 | db 21h, 0Dh, 00h ; ANSWER MUST END WITH A ZERO BYTE |