FLOAD2 ASM ;--------------------------------
;
;Laderoutine, f}r DEP Version 2.1
; (mit Fehlertexten)
;
;Adressen: 0000H 00D7H
;
;FLOAD2.ASM ` ml 07.08.93
;--------------------------------
ARGN EQU 0B781H
ARG1 EQU ARGN+1
NUMVX EQU 0B797H
PV1 EQU 0F003H
UREL EQU 0F00FH
IRMON EQU 0F018H
IRMOF EQU 0F01BH
INLIN EQU 17H
ERRM EQU 19H
AHEX EQU 1CH
OSTR EQU 23H
OCHR EQU 24H
;-------
ORG 0
NAME: DB ' '
;000CH
CALL IRMON
LD HL,NAME+11
CALL UREL
DW FLOAD-2-$
CALL IRMOF
RET
;001BH
DW 7F7FH
DB 'FLOAD'
DB 1
CALL PV1
DB OSTR
DB 'Name :',0
CALL PV1
DB INLIN
LD HL,17
ADD HL,DE ;Ende Name
FLOAD: LD E,12 ;Anzahl
LD BC,8EF3H
NAMOUT: OUTD ;Name
DEC E
JR NZ,NAMOUT
LD A,9 ;read-open
PUSH DE
CALL UREL
DW STEUER-2-$
POP DE
LD BC,90F2H
IN A,(C)
CP 2
JR C,ERROR ; < 2 Argumente
CP 10
JR NC,ERROR; > 10 Argumente
EX AF,AF'
INC B
IN L,(C)
INC B
IN H,(C) ;Aadr.
INC B
IN E,(C)
INC B
IN D,(C) ;Eadr.
PUSH HL
INC B
IN L,(C)
INC B
IN H,(C) ;Sadr.
LD A,(ARGN)
AND A
JR Z,ARG0 ;kein Offset
LD BC,(ARG1)
ADD HL,BC ;Sadr.+Off
EX DE,HL
ADD HL,BC ;Eadr.+Off
EX DE,HL
EX (SP),HL
ADD HL,BC ;Aadr.+Off
EX (SP),HL
ARG0: LD (NUMVX),HL
POP HL
NBLOCK: LD A,1 ;read
PUSH DE
CALL UREL
DW STEUER-2-$
POP DE
DEC C ;F2
BLW: INI ;Daten --> (HL)
AND A
SBC HL,DE
ADD HL,DE
JR Z,JMP ;wenn ENDE
INC B
INC B
JR NZ,BLW ;80H Byte
JR NBLOCK ;neuen Block
;
JMP: EX AF,AF'
CP 3 ;kein Start
RET C
LD HL,(NUMVX)
JP (HL)
;
STEUER: LD BC,80F3H
OUT (C),A ;Steuerbyte
NRDY: PUSH BC
LD B,0
WARTE: DJNZ WARTE ;Zeitschleife
POP BC
IN A,(C)
BIT 0,A ;fertig?
JR NZ,NRDY
RLCA ;Fehler?
RET NC
POP HL ;RET-Adresse
POP DE ;gemerktes Reg.
ERR: LD BC,83F1H
IN A,(C)
CP 20H ;DEP ab 2.0?
JR NC,ERRTX;ja
LD BC,81F3H
IN A,(C) ;Fehlernummer
CALL PV1
DB AHEX
ERROR: CALL PV1
DB ERRM
RET
ERRTX: LD B,0 ;Fehlertext
ERRT1: IN A,(C)
RET Z ;00-Ende
INC B
CALL PV1
DB OCHR
JR ERRT1
;00D7H
Í
ERRT1:Ë
ERRTX:Æ
ERROR:´
ERR:§
WARTE:¤
NRDY:Ÿ
STEUER:—
JMP:‰
BLW:
NBLOCK:{
ARG0:;
NAMOUT:6
FLOAD:
NAME:$
OCH
Í
ERRT1:Ë
ERRTX:Æ
ERROR:´
ERR:§
WARTE:¤
NRDY:Ÿ
STEUER:—
JMP:‰
BLW:
NBLOCK:{
ARG0:;
NAMOUT:6
FLOAD:
NAME:$
OCH
Detected encoding: ANSI (CP1252) | 4
|
|