question: public Address malloc ( int size , int howmany ) { int result = nextReservableAddress ; nextReservableAddress += size * howmany ; if ( nextReservableAddress > ( MEMSIZE + memAddressStart ) ) { addressOutOfRange = true ; return null ; } return new Address ( Op . MEM , size , result ) ; }
target:  allocates/reservates memory: a specified block size in bytes, multiplied by a given number of blocks. Currently does not check whether the starting address is a multiple of the requested size, e.g. it is perfectly possible that a 4-byte block will start at address 3