home *** CD-ROM | disk | FTP | other *** search
- TITLE 'ADDADR - ADD ADDRESS WITH DISPLACEMENT'
- NAME 'ADDADR'
- ;FILE ADDADR.ASM
- ; * * * * PL/1 ADDRESS ADDITION * * * *
- ;PURPOSE THIS ROUTINE PROVIDES THE ABILITY TO ADD
- ; AN ADDRESS WITH A DISPLACEMENT USING ALL
- ; 16 BITS.
- ;PROGRAMMER ROBERT M. WHITE
- ;DATE CODED 01 DEC 1980
- ;INPUT
- ; PARM1 = ADDRESS OR DISPLACEMENT
- ; PARM2 = ADDRESS OR DISPLACEMENT
- ;OUTPUT
- ; SUM IS RETURNED AS FUNCTION.
- ;REMARKS
- ;EQUATES
- ; * * * MISCELLANEOUS * * *
- BC EQU B ;MULTIPLE REGISTERS
- DE EQU D
- HL EQU H
-
- ; DO INITIALIZATION.
- ADDADR: CSEG
- PUBLIC ADDADR
-
- ; GET FIRST PARM.
- MOV E,M ;GET PTR IN DE.
- INX H
- MOV D,M
- INX H
- PUSH H
- XCHG
- MOV C,M ;PUT IT IN BC.
- INX H
- MOV B,M
-
- ; GET THE SECOND PARM.
- POP H ;RESTORE INPUT PTR.
- MOV E,M ;GET PTR IN DE.
- INX H
- MOV D,M
- INX H
- XCHG
- MOV E,M ;PUT IT IN DE.
- INX H
- MOV D,M
-
- ; ADD THE TWO AND RETURN.
- XCHG
- DAD B
- RET
-
- ;END ADDADR.ASM
- END
-