Prev: 07917 Up: Map Next: 07962
07941: THE 'TEST-ROOM' SUBROUTINE
Used by the routines at LD_CONTRL, ED_EDIT, ONE_SPACE, FREE_MEM and TEST_5_SP.
The routine at GO_SUB continues here.
A series of tests is performed to ensure that there is sufficient free memory available for the task being undertaken.
Input
BC Size of the required space
Output
HL STKEND+BC+80-SP
TEST_ROOM 07941 LD HL,(23653) Increase the value taken from STKEND by the value carried into the routine by the BC register pair.
07944 ADD HL,BC
07945 JR C,REPORT_4 Jump forward if the result is over 65535.
07947 EX DE,HL Try it again allowing for a further eighty bytes.
07948 LD HL,80
07951 ADD HL,DE
07952 JR C,REPORT_4
07954 SBC HL,SP Finally test the value against the address of the machine stack.
07956 RET C Return if satisfactory.
This entry point is used by the routines at GET_HLxDE and DIM.
Report 4 - Out of memory.
REPORT_4 07957 LD L,3 This is a 'run-time' error and the error marker is not to be used.
07959 JP ERROR_3
Prev: 07917 Up: Map Next: 07962