Path: csiph.com!eternal-september.org!feeder.eternal-september.org!reader02.eternal-september.org!.POSTED!not-for-mail From: awanderin Newsgroups: comp.sys.apple2.programmer Subject: Re: Efficient print of binary value Date: Wed, 05 Sep 2018 23:53:48 -0600 Organization: A noiseless patient Spider Lines: 32 Message-ID: References: <045a4a1c-c5b5-4701-b4fb-e7cd8055cd31@googlegroups.com> <3e97b12c-8d58-43ea-b780-1ac58a313ac8@googlegroups.com> Mime-Version: 1.0 Content-Type: text/plain Injection-Info: reader02.eternal-september.org; posting-host="ea8ef40f05dd9feaf5c109a9143b1072"; logging-data="18338"; mail-complaints-to="abuse@eternal-september.org"; posting-account="U2FsdGVkX1+L88QAdwc2huKgFR9XO1JQM2BE4e3hyoc=" User-Agent: Gnus/5.13 (Gnus v5.13) Emacs/24.5 (gnu/linux) Cancel-Lock: sha1:M8AxB9nV/VKFTWqYQkUEsf4h+8w= sha1:a5rnw1s+IkHj+VmwtVY6LGxdGYs= Xref: csiph.com comp.sys.apple2.programmer:4751 qkumba writes: > Not even close to half-length, but not branching: > > LDA #%10000000 > STA MASK > > LAB1 LDA MASK > AND VALUE > CMP #1 > LDA #"0 > ADC #0 > JSR COUT > LSR MASK > BNE LAB1 How about this? sec ; force all 8 bits to print lab1 rol value beq :done lda #$58 ; high-ascii "0" right-shifted one bit rol ; now it's "0" or "1" jsr cout clc ; now shift in zeros until done bcc lab1 :done -- -- Jerry awanderin at gmail dot com