view level2/modules/kernel/fdelram.asm @ 2758:e4a0f58a5f9b

Found that people who do not have the envirornment variable NITROS9DIR set before building the project get a error missing file "/rules.mak". Found this is caused do to the fact that the code to set this envirornment variable is in the rules.mak which can't get loaded. To fix this the code needed to set the envirornment variable that is in the rules.mak is now in the makefile(s) right before the include for the rules.mak file. This should fix the problem for those who do not have the NITROS9DIR envirornment variable preset.
author drencor-xeen
date Mon, 14 Jan 2013 14:37:46 -0600
parents 1451bc7ef0b9
children 039ddb7c8ad7
line wrap: on
line source

**************************************************
* System Call: F$DelRAM
*
* Function: Deallocate RAM blocks
*
* Input:  B = Number of blocks
*         X = Beginning block number
*
* Output: None
*
* Error:  CC = C bit set; B = error code
*
FDelRAM  ldb   R$B,u      # of blocks to de-allocate
         beq   DelRAM.2   if none, exit
         ldd   <D.BlkMap+2 get end of the block map
         subd  <D.BlkMap  subtract out start of the block map
         subd  R$X,u      take out starting block number
         bls   DelRAM.2   exit if the starting block is ># of blocks available
         tsta             check high byte of RAM #
         bne   DelRAM.0   if not zero, skip it
         cmpb  R$B,u      check against size of the block
         bhs   DelRAM.0   if size is >RAM available
         stb   R$B,u      save actual # of blocks deleted
DelRAM.0 ldx   <D.BlkMap  get start address of the block map
         ldd   R$X,u      starting address of the RAM to de-allocate
         leax  d,x        slower, but smaller than ADDR
         ldb   R$B,u      get actual # of blocks to de-allocate
DelRAM.1 equ   *
         IFNE  H6309
         aim   #^RAMinUse,,x+  set to RAM not in use
         ELSE
         lda   ,x
         anda  #^RAMinUse
         sta   ,x+
         ENDC
         decb             count down a block
         bne   DelRAM.1   continue
DelRAM.2 clrb             and exit
         rts