/ITT MIKROPROZESSOR-EXPERIMENT-KIT ROMADR=0 RAMPAG=1 /SPATER 4 STAKAD=1000 CHKSKP=317 CHKJMP=327 CHKCHN=337 FLANKE=347 CHKEND=0 /HAUPTPROGRAMM *ROMADR START, NOP /TO BE REMOVED LXI SP STAKAD JMP HAUPT2 /SUBROUTINE SRCKSK *ROMADR+10 SRCKSK, XTHL PUSH PSW MOV A M INX H ANA B JMP CKSK2 /SUBROUTINE SRCKJP *ROMADR+20 SRCKJP, XTHL PUSH PSW MOV A M INX H ANA B JMP CKJP2 /SUBROUTINE SRCKCN *ROMADR+30 SRCKCN, XTHL PUSH PSW CHCNLP, MOV A M INX H JMP CKCN2 /SUBROUTINE FLANKE /ANRUF: FLANKE / MASKE / ADRESSE WENN KEINE POS. FLANKE IN B UND D / HIGH ADRESSE SFLANK, XTHL PUSH PSW MOV A D CMA ANA B ANA M INX H JZ CNFUND /FLANKE NICHT GEFUNDEN JMP CKJPND /FLANKE GEFUNDEN /*ROMADR+100 CKSK2, CMP M INX H JZ CKSEND INX H CKJPND, INX H INX H CKSEND, POP PSW XTHL RET CKJP2, CMP M INX H JZ CNFUND JMP CKJPND CKCN2, CPI 0 JZ CNEND ANA B CMP M INX H JZ CNFUND INX H INX H JMP CHCNLP CNFUND, MOV A M INX H MOV H M MOV L A CNEND, POP PSW XTHL RET HAUPT2, IN 0 /IN CSHALT MOV D B /FUER SUB. FLANKE MOV B A CHKCHN 340 40 DW CODALU 340 100 DW AKKUM 340 140 DW AKKSPI 340 200 DW BASIC 340 240 DW HYPOTH 340 300 DW SY8080 340 340 DW ERWEIT CHKEND /SYSTEM 0 MUSS UNMITTELBAR HIER NACHFOLGEN /SYSTEM 0**************************************** ADDSUB, MVI A 240 /IN ASHALT CHKSKP 20 0 XRA A NOP NOP CHKSKP 4 4 CMA NOP NOP MOV C A MVI A 123 /IN BSHALT CHKSKP 10 0 XRA A NOP NOP CHKSKP 2 2 CMA NOP NOP STC CHKSKP 1 0 CMC NOP NOP ADC C DISPLY, STA 377 /OUT RLAMPE RAL ANI 1 STA 376 /OUT LLAMPE RAR RST 0 /SUBROUTINE OPCODE. VERKNUEPFT A UND C NACH BEFEHL IN B, BITS 3-0 OPCODE, CHKSKP 17 0 XRA A NOP NOP CHKSKP 17 1 XRA A INR A NOP CHKSKP 17 2 CMA NOP NOP CHKSKP 17 3 MOV A C NOP NOP CHKSKP 17 4 MOV A C CMA NOP CHKSKP 17 5 ADI 1 /NICHT INR A WEGEN CARRY NOP CHKSKP 17 6 ADI 377 /NICHT DCR A WEGEN CARRY NOP CHKSKP 17 7 ADD C NOP NOP CHKSKP 17 10 SUB C NOP /EVENTU. CMC NOP CHKSKP 17 11 ANA C NOP NOP CHKSKP 17 12 ORA C NOP NOP CHKSKP 17 13 XRA C NOP NOP CHKSKP 17 14 XRA A CMA NOP CHKSKP 17 15 MVI A 253 /IN BSHALT NOP RET *420 /TEMPORARY /SYSTEM 1************************************************* CODALU, MVI A 123 /IN BSHALT MOV C A MVI A 240 /IN ASHALT STC CMC CALL OPCODE JMP DISPLY /SYSTEM 2*************************************** AKKUM, MOV A E FLANKE 20 DW DISPLY MVI A 123 /IN BSHALT MOV C A MOV A E CALL OPCODE MOV E A JMP DISPLY /SYSTEM 3********************************************** AKKSPI, MOV A E PUSH PSW MVI A 123 /IN ASHALT PUSH PSW ANI 17 MOV L A POP PSW RAR RAR RAR RAR ANI 17 MOV H A POP PSW CHKJMP 4 4 DW DEPOST CHKJMP 2 2 DW EXAMIN FLANKE 20 DW DISPLY PUSH B MOV B H MVI H 1 /4 MOV C M CALL OPCODE MOV E A CHKJMP 17 16 DW STORE POP B JMP DISPLY DEPOST, MVI A 240 /IN BSHALT STORND, MVI H 1 /4 MOV M A JMP DISPLY EXAMIN, MVI H 1 /4 MOV A M JMP DISPLY STORE, POP B JMP STORND /SYSTEM 4****************************************** BASIC, MOV A L ANI 17 MOV L A PUSH H /SPEICHERE PC MOV A E MVI H 1 /4 PUSH PSW MVI A 3 /IN ASHALT ANI 17 CHKSKP /LOAD ADDRESS 1 1 MOV L A NOP NOP CHKJMP /EXAMINE 2 2 DW EXAM2 FLANKE /DEPOSIT 4 DW BASIC2 JMP DPOST2 BASIC2, MOV A E CHKJMP /00,10 10 0 DW DSPLY2 CHKJMP /01 30 10 DW NORMAL FLANKE /11 10 DW DSPLY2 NORMAL, MOV A M /FETCH ANI 360 CPI 360 /HALT BEFEHL MOV A E JZ DSPLY2 MOV A M /FETCH PUSH PSW ANI 17 MOV L A POP PSW RAR RAR RAR RAR ANI 17 MOV H A POP PSW PUSH B MOV B H MVI H 1 /4 MOV C M CALL OPCODE MOV E A CHKSKP 17 16 MVI H 1 /4 MOV M A POP B POP H /BRINGE PC ZURUECK PUSH PSW MOV A L INR A ANI 17 ORI 100 /SETZE RUN LAMPE MOV L A MOV A E JMP DSPLY2 EXAM2, DCR L MOV A M INR L DSPLY2, STA 377 /OUT RLAMPE MOV A L RAL RAL RAL MOV H A POP PSW MOV A H RAL STA 376 /OUT LLAMPE RAR FLANKE 6 DW START INR L /INC P.C RST 0 DPOST2, MVI A 345 /IN BSHALT MOV M A JMP DSPLY2