Переписал некоторые функции рантайм библиотеки с ассемблера на Би. К примеру, было:
writeb: ,name,
12 ,base,*
c
c Append one byte to output buffer.
c
b/output:lc,block, w_count, b_shift, buffer(22)
c
flush: ,subp,
,aax, =377
,aex, =12 . compare to linefeed
,uza, flush
,aex, =12
c
,utc, w_count
,xts,
,aex, =26 . 22 words
,u1a, putchar
,ita, 13
,its,
,call, flush
,sti,
,ati, 13
c
putchar: ,bss, . append byte to buffer
,sti,
11 ,vtm, b/output
11 ,wtc, 1 . b_shift
,asn, 64-40 . shift left
11 ,wtc, 0 . w_count
11 ,aox, 2 . read word from buffer
11 ,wtc, 0 . w_count
11 ,atx, 2 . write word to buffer
c
11 ,xta, 1 . b_shift
,aex, =50
,uza, next_w
,aex, =50
,arx, =10 . increase shift
11 ,atx, 1 . b_shift
13 ,uj,
c
next_w: ,bss, . advance to next word
11 ,atx, 1 . clear b_shift
11 ,xta, 0 . w_count
,arx, =1 . increment word count
11 ,atx, 0 . w_count
13 ,uj,
,end,