|
DataMuseum.dkPresents historical artifacts from the history of: CP/M |
This is an automatic "excavation" of a thematic subset of
See our Wiki for more about CP/M Excavated with: AutoArchaeologist - Free & Open Source Software. |
top - download
Length: 3072 (0xc00) Types: TextFile Names: »ADAM.A86«
└─⟦490a8e2df⟧ Bits:30003937 SW1501 RcComal-80 v3.0 (thykier) └─ ⟦this⟧ »ADAM.A86« └─⟦72a4952a6⟧ Bits:30004362 SW1501 RcComal-80 v3.0 └─ ⟦this⟧ »ADAM.A86« └─⟦dcb507fe6⟧ Bits:30003936 SW1501 RcComal-80 v3.0 (ils) └─ ⟦this⟧ »ADAM.A86«
CSEG VER DW VERSNO ; PACKTYPE DW ASSEMBLER ; DOC DW 0 ; INIT DW OFFSET ADAMFINITO ; EXIT DW 0 ; DB 8,'ANALOGIN' DB PROC ; DW 0 ; ingen dokumentation DW OFFSET XANAIN DB 3 DB 6,'CHANNO' DB VALUE+REAL,0 ; DB 4,'GAIN' DB VALUE+REAL,0 ; DB 5,'VALUE' DB REF+REAL,0 ; DB 9,'ANALOGOUT' DB PROC ; DW 0 ; ingen dokumentation DW OFFSET XANOUT DB 1 DB 5,'VALUE' DB VALUE+REAL,0 ; DB 9,'MOTORSTEP' DB PROC ; DW 0 ; ingen dokumentation DW OFFSET XSTEP DB 2 DB 7,'MOTORNO' DB VALUE+REAL,0 ; DB 8,'STEPTYPE' DB VALUE+REAL,0 ; DB 9,'RELÆSKIFT' DB PROC ; DW 0 ; ingen dokumentation DW OFFSET XRELAE DB 2 DB 10,'NYTILSTAND' DB VALUE+REAL,0 ; DB 10,'RELÆNUMMER' DB VALUE+REAL,0 ; DB 10,'LÆSKONTAKT' DB PROC ; DW 0 ; ingen dokumentation DW OFFSET XCONT DB 2 DB 9,'KONTAKTNO' DB VALUE+REAL,0 ; DB 5,'VALUE' DB REF+REAL,0 ; DB 0 ; ikke flere procedurer og funktioner DW OFFSET RESERVER ; DW ASSEMBLER ; INCLUDE ASSEMBL.A86 XANAIN: MOV CL,1 CALL REALPAR MOV X,BX MOV CL,2 CALL REALPAR MOV Y,BX MOV BX,Y SHL BX,1 SHL BX,1 ADD BX,X ADD BX,16 MOV DX,774 MOV AX,BX OUT DX,AL MOV CX,30 LLL: LOOP LLL AND AL,11101111B OUT DX,AL MOV DX,768 BUSY: IN AL,DX TEST AL,1 JZ BUSY MOV DX,784 IN AL,DX MOV AH,0 XCHG AX,BX MOV DX,774 OUT DX,AL MOV CL,3 CALL PUTREALPAR JMP FINITO ADAMFINITO: MOV RELAE,0 ; MOV CONVAR,0 MOV DX,776 MOV AL,0 OUT DX,AL ; ALLE RELÆER SLUPPET MOV DX,774 MOV AL,16 OUT DX,AL ; STOP A/D CONVERTER MOV AL,0 MOV DX,768 OUT DX,AL ; STOP MOTOR 0 ADD DX,2 OUT DX,AL ; STOP MOTOR 1 ADD DX,2 OUT DX,AL ; STOP MOTOR 2 JMP FINITO XRELAE: MOV CL,1 CALL REALPAR MOV X,BX MOV CL,2 CALL REALPAR MOV Y,BX MOV CX,Y AND CL,3 MOV AL,1 SHL AL,CL NOT AL AND RELAE,AL MOV AX,X AND AL,1 SHL AL,CL ADD RELAE,AL MOV AL,RELAE MOV DX,776 OUT DX,AL JMP FINITO XCONT: MOV CL,1 CALL REALPAR MOV X,BX MOV DX,770 IN AL,DX MOV CONVAR,AL MOV CX,X AND CL,3 MOV AL,1 SHL AL,CL TEST CONVAR,AL JZ XCLOSED MOV BX,1 JMP XCONEND XCLOSED: MOV BX,0 XCONEND: MOV CL,2 CALL PUTREALPAR JMP FINITO XANOUT: MOV CL,1 CALL REALPAR MOV X,BX MOV AX,X MOV DX,784 OUT DX,AL JMP FINITO XSTEP: MOV CL,1 CALL REALPAR MOV X,BX MOV CL,2 CALL REALPAR MOV Y,BX MOV CX,X MOV BX,Y TEST BX,1 JNZ SET_HALF MOV AL,0 RET_HALF: ADD AL,16 MOV DX,774 OUT DX,AL SHL CX,1 MOV DX,768 ADD DX,CX ; DX=MOTORPORT NUMMER MOV AL,BL AND AL,2 ADD AL,1 OUT DX,AL NOP NOP NOP NOP NOP NOP NOP AND AL,2 OUT DX,AL MOV CX,2000 XXX: LOOP XXX JMP FINITO SET_HALF: MOV AL,32 SHL AL,CL JMP RET_HALF DSEG $ X DW 0 ; første argument Y DW 0 ; anden argument RELAE DB 0 ; RELÆSTATE CONVAR DB 0 ; CONTACT INPUT «eof»