*DECK OMOVE IDENT OMOVE ENTRY OMOVE EXT XTRACE SST *IF DEF,IMS *# *1DC OMOVE * * 1. PROC NAME AUTHOR DATE * OMOVE Y. HSIEH 77/01/30 * * 2. FUNCTIONAL DESCRIPTION. * THIS ROUTINE IS RESPONSIBLE FOR MOVING MOVABLE BUFFERS IN USE * TO A BIG ENOUGH FREE BLOCK AT LOWER ADDRESS TO AVOID MEMORY * FRAGMENTATION. * * 3. METHOD USED. * PARAMETERS ARE PASSED THROUGH COMMON DECK FORDEQ * MOVING STARTS FROM LOWER END TO TAKE CARE OF THE OVERLAPPING. * * 4. ENTRY PARAMETERS. * MOLD = FWA OF BLOCK TO BE MOVED FROM * MNEW = NUMBER OF WORDS IN BLOCK * MSIZE = FWA OF BLOCK TO MOVE TO * ALL THREE PARAMETERS CAN BE FOUND IN FREETAB COMMON BLOCK * * 5. EXIT PARAMETERS. NONE * * 6. COMDECKS CALLED. * CYBERDEFS FREETAB INPARU MACDEF * * 7. ROUTINES CALLED. * XTRACE RECORD CALL * * 8. DAYFILE MESSAGES. NONE * *# *ENDIF *CALL MACDEF *CALL CYBERDEFS *CALL INPARU *CALL FREETAB * OMOVE SUBR = ENTRY/EXIT * IFEQ DEBUG,1,6 SX6 A1 SA6 TEMP SX1 XOMOVE RJ XTRACE SA1 TEMP SA1 X1 * SA1 MOLD SB1 1 SB2 X1 FROM ADDRESS SA2 MSIZE ZR X2,OMOVE EXIT IF NO TEXT TO MOVE SB5 B1-B1 SA3 MNEW SB3 X2 NUMBER OF WORDS SB4 X3 TO ADDRESS OMOVEA SA4 B2+B5 BX6 X4 SA6 B4+B5 SB5 B5+B1 NE B3,B5,OMOVEA EQ OMOVE XOMOVE DATA L*OMOVE* TEMP BSS 1 END