X-Git-Url: http://cloudbase.mooo.com/gitweb/z180-stamp-cpm3.git/blobdiff_plain/fcf62661f0fb0e1db1dc61b39983f36e6e50bfcf..3c56f4c2ba4bfa53c22bd0b70453012dd94dee3e:/cbios/config.inc diff --git a/cbios/config.inc b/cbios/config.inc index 4421478..a2cbc6e 100644 --- a/cbios/config.inc +++ b/cbios/config.inc @@ -1,10 +1,9 @@ + .xlist FALSE equ 0 TRUE equ NOT FALSE -DEBUG equ true - banked equ true ;----------------------------------------------------- @@ -159,6 +158,8 @@ AVRINT5 equ 4Fh AVRINT6 equ 5Fh ;PMSG equ 80h +IDEBASE equ 60h + ;----------------------------------------------------- ; Definition of (logical) top 2 memory pages @@ -179,7 +180,7 @@ o.mask equ -3 o.in_idx equ -2 o.out_idx equ -1 - .lall + ;.lall mkbuf macro id,name,size if ((size AND (size-1)) NE 0) OR (size GT 256) @@ -218,3 +219,51 @@ b0call macro address call _b0call dw address endm + +;----------------------------------------------------- +; shift accu right logical n bits + +srlan macro n + if n > 7 or n < 0 + xor a + exitm + endif + + if n > 4 + rept 8-n + rlca + endm + and (1 << (8-n)) - 1 + exitm + endif + + if n > 2 + rept n + rrca + endm + and (1 << (8-n)) - 1 + exitm + endif + + rept n + srl a + endm + endm + +;----------------------------------------------------- +; convert bit mask to bit number + +m2b macro name,mask + local n + n defl mask + name defl 0 + rept 8 + n defl n/2 + if n = 0 + exitm + endif + name defl name+1 + endm + endm + + .list