User Tools

Site Tools


cdc:nos2.source:nam5871:omove

Table of Contents

OMOVE

Table Of Contents

Source Code

OMOVE.txt
  1. *DECK OMOVE
  2. IDENT OMOVE
  3. ENTRY OMOVE
  4. EXT XTRACE
  5. SST
  6. *IF DEF,IMS
  7. *#
  8. *1DC OMOVE
  9. *
  10. * 1. PROC NAME AUTHOR DATE
  11. * OMOVE Y. HSIEH 77/01/30
  12. *
  13. * 2. FUNCTIONAL DESCRIPTION.
  14. * THIS ROUTINE IS RESPONSIBLE FOR MOVING MOVABLE BUFFERS IN USE
  15. * TO A BIG ENOUGH FREE BLOCK AT LOWER ADDRESS TO AVOID MEMORY
  16. * FRAGMENTATION.
  17. *
  18. * 3. METHOD USED.
  19. * PARAMETERS ARE PASSED THROUGH COMMON DECK FORDEQ
  20. * MOVING STARTS FROM LOWER END TO TAKE CARE OF THE OVERLAPPING.
  21. *
  22. * 4. ENTRY PARAMETERS.
  23. * MOLD = FWA OF BLOCK TO BE MOVED FROM
  24. * MNEW = NUMBER OF WORDS IN BLOCK
  25. * MSIZE = FWA OF BLOCK TO MOVE TO
  26. * ALL THREE PARAMETERS CAN BE FOUND IN FREETAB COMMON BLOCK
  27. *
  28. * 5. EXIT PARAMETERS. NONE
  29. *
  30. * 6. COMDECKS CALLED.
  31. * CYBERDEFS FREETAB INPARU MACDEF
  32. *
  33. * 7. ROUTINES CALLED.
  34. * XTRACE RECORD CALL
  35. *
  36. * 8. DAYFILE MESSAGES. NONE
  37. *
  38. *#
  39. *ENDIF
  40.  
  41. *CALL MACDEF
  42. *CALL CYBERDEFS
  43. *CALL INPARU
  44. *CALL FREETAB
  45. *
  46. OMOVE SUBR = ENTRY/EXIT
  47. *
  48. IFEQ DEBUG,1,6
  49. SX6 A1
  50. SA6 TEMP
  51. SX1 XOMOVE
  52. RJ XTRACE
  53. SA1 TEMP
  54. SA1 X1
  55. *
  56. SA1 MOLD
  57. SB1 1
  58. SB2 X1 FROM ADDRESS
  59. SA2 MSIZE
  60. ZR X2,OMOVE EXIT IF NO TEXT TO MOVE
  61. SB5 B1-B1
  62. SA3 MNEW
  63. SB3 X2 NUMBER OF WORDS
  64. SB4 X3 TO ADDRESS
  65.  
  66. OMOVEA SA4 B2+B5
  67. BX6 X4
  68. SA6 B4+B5
  69. SB5 B5+B1
  70. NE B3,B5,OMOVEA
  71. EQ OMOVE
  72. XOMOVE DATA L*OMOVE*
  73. TEMP BSS 1
  74. END
cdc/nos2.source/nam5871/omove.txt ยท Last modified: 2023/08/05 17:23 by Site Administrator