home
***
CD-ROM
|
disk
|
FTP
|
other
***
search
/
Power-Programmierung
/
CD1.mdf
/
assemblr
/
library
/
lib4a86
/
lib
/
adressen.lib
< prev
next >
Wrap
Text File
|
1992-02-06
|
2KB
|
129 lines
#IF !LIB4A86
#ELSE
#IF !INTERN_LIB4A86_S
INTERN_LIB4A86_S EQU 01
JMP START
#ENDIF
#ENDIF
#IF !INTERN_MAKE32BITADRESS_S
INTERN_MAKE32BITADRESS_S EQU 01
MAKE32BITADRESS:
PUSH CX
MOV CL,0CH
SHL DX,CL
PUSH AX
MOV CL,04H
SHR AX,CL
ADD DX,AX
POP AX
AND AX,0FH
POP CX
RET
#ENDIF
#IF !INTERN_MAKE20BITVALUE_S
INTERN_MAKE20BITVALUE_S EQU 01
MAKE20BITVALUE:
PUSH CX
MOV CL,04
PUSH DX
SHL DX,CL
ADD AX,DX
POP DX
PUSHF
MOV CL,12XD
SHR DX,CL
POPF
ADC DX,0
POP CX
RET
#ENDIF
NORMALISIEREDS_SI:
PUSH CX
PUSH SI
MOV CL,4
SHR SI,CL
MOV AX,DS
ADD SI,AX
MOV AX,SI
MOV DS,SI
POP SI
AND SI,0FH
POP CX
RET
NORMALISIEREES_DI:
PUSH BP
MOV BP,OFFSET NORMALISIEREDS_SI
JMP >L100
VERGLEICHEADRESSEN:
PUSH BX
CALL NORMALISIEREDS_SI
MOV AX,DS
CALL NORMALISIEREES_DI
MOV BX,ES
CMP AX,BX
JNE >L1
CMP SI,DI
L1:
POP BX
RET
ADDOFFSETTODS_SI:
PUSH CX
PUSH BX
PUSH BX
MOV AX,DS
MOV CL,4
SHR BX,CL
ADD AX,BX
POP BX
JC >L8
AND BX,0FH
ADD SI,BX
MOV DS,AX
CALL NORMALISIEREDS_SI
CLC
L8:
POP BX
POP CX
RET
ADDOFFSETTOES_DI:
PUSH BP
MOV BP,OFFSET ADDOFFSETTODS_SI
L100:
XCHG DS,ES
XCHG SI,DI
CALL BP
XCHG DS,ES
XCHG DI,SI
POP BP
RET
#IF !INTERN_CMARK0
INTERN_CMARK0 EQU 01H
INTERN_CMARK1:
PUSH BP
MOV BP,SP
MOV BX,06H
SUB CH,[BP+SI]
SUB AH,[BX+SI]
DEC SP
DEC CX
INC DX
XOR AL,041H
CMP B[02820H],DH
INC BX
SUB W[BX+SI],SP
INC DX
CS AND B[BP+DI+043H],DL
DEC AX
INC BP
DEC BP
DEC BP
INC BP
PUSH DX
AND B[BP+SI],CH
SUB CH,[BP+SI]
POP DX
MOV SP,BP
POP BP
RET
#ENDIF