1 2SECTION code_clib 3SECTION code_adt_wa_priority_queue 4 5PUBLIC __wa_pq_setsize 6 7EXTERN __ba_pq_setsize, error_zc 8 9__wa_pq_setsize: 10 11 ; set the queue size as long as it remains <= queue.capacity 12 ; 13 ; enter : hl = queue * 14 ; de = n = desired size in words 15 ; 16 ; exit : success 17 ; 18 ; de = n*2 = size in bytes 19 ; bc = queue.data 20 ; ix = queue.compar 21 ; carry reset 22 ; 23 ; fail if queue capacity too small 24 ; 25 ; hl = 0 26 ; carry set 27 ; 28 ; uses : af, bc, de, hl, ix 29 30 sla e 31 rl d 32 jp nc, __ba_pq_setsize 33 34 jp error_zc 35