NEXTOR PR 05 01

From Z80 Machines Wiki
Jump to: navigation, search

5.1. BLK_ALLOC:メモリブロックの確保

エントリ:HL =必要サイズ(1〜16378バイト) 
返り値:成功した場合:
            HL =割り当てられたブロックのアドレス(常にページ2アドレス)
            A = 0、Zを設定
          エラー時(セグメントの空き容量が足りません):
            HL = 0
            A = .NORAMとZのリセット 

このルーチンは、現在2ページ目で切り替えられているセグメントに指定サイズのメモリブロックを割り当てようとし、成功した場合は割り当てられたブロックのアドレスを返し、失敗した場合は "Not enough memory"エラーを返します。そのセグメントは、HL = 0を指定してBLK_FREEルーチンを呼び出すことによって事前に初期設定されていなければなりません。それ以外の場合、結果は予測不能です。