最后,No Holds Barred 版本,如果不是最终状态。哦,答案正文不应该超过 30000 个字符,未经编辑的源大约是 55K - 稍后。有点大,大约 2900 个字,速度很快(<= 44 个周期,预计大约 39 个)。
star_t:
rjmp testTest
.org 0x20
.def a0 = r16 ; addend low byte
.def a1 = r17
.def m0 = r18 ; multiplier low byte
.def m1 = r19
.def p0 = r20 ; (partial) product low byte
.def p1 = r21
.def _zero=r1
.def tmp = r0
; some macros using factors a1:a0, m1:m0 and product p1:p0
.MACRO addA ; adds (weighted) factor "a" into product
add p0, a0 ; +1
adc p1, a1 ; +2
.EndM
.MACRO subA ; subtracts (weighted) factor "a" from product
sub p0, a0 ; +1
sbc p1, a1 ; +2
.EndM
.MACRO doubleP ; adds (shifts/weights)(partial) product
add p0, p0 ; +1
adc p1, p1 ; +2
.EndM
settle:
inc m1 ; 1 _looks_ smarter than add p1, a0
doM1:
clr XH ; 2 ?
; mov a0, tmp
ldi ZH, high(highs); 3
mov ZL, m1 ; 4
ijmp ; 6
mpy1616: ; 0
movw XL, a0 ; 1
andi XH, 15 ; 2
eor XH, XL ; 3 XH = a0 ^ (a1 & 15)
andi XL, 15 ; 4
; swapping first could use -+ (dropping carry) in stead of ex-or
swap XL ; 5 XL = a0 << 4
; _if_ XH was used in few worst loxx cases, do these "on demand"
swap XH ; 6 XH = ((a1^a0)<<4)|(a0>>4)
eor XH, XL ; 7 XH = (a1<<4)|(a0>>4)
; mov tmp, a0
movw p0, a0 ; 1 other way 'round with gcc ABI?
ldi ZH, high(jump); 1
mov ZL, m0 ; 2
trampoline:
ijmp ; 14 (12+2) + 15 + 8 + 7 - 44? really?
…</p>
#define done ret
hi07:
add p1, a0 ; 5
hi06:
add a0, a0 ; 4
hi03:
add p1, a0 ; 3
hi02:
add p1, a0 ; 2
hi01:
add p1, a0 ; 1
;hi00:
done
hi0a:
add a0, a0 ; 5
hi05:
add p1, a0 ; 4
hi04:
add a0, a0 ; 3
add a0, a0 ; 2
add p1, a0 ; 1
done
hi09:
add p1, a0 ; 5
hi08:
add a0, a0 ; 4
add a0, a0 ; 3
add a0, a0 ; 2
add p1, a0 ; 1
done
hi0b:
sub p1, a0 ; 5
hi0c:
add a0, a0 ; 4
add a0, a0 ; 3
sub p1, a0 ; 2
add p1, XL ; 2
done
hi0d:
sub p1, a0 ; 4
hi0e:
sub p1, a0 ; 3
hi0f:
sub p1, a0 ; 2
add p1, XL ; 1
done
hi17:
add p1, a0 ; 6
hi16:
add a0, a0 ; 5
hi13:
add p1, a0 ; 4
hi12:
add p1, a0 ; 3
hi11:
add p1, a0 ; 2
hi10:
add p1, XL ; 1
done
;hi1a:
; add a0, a0 ; 6
hi15:
add p1, a0 ; 5
hi14:
add a0, a0 ; 4
add a0, a0 ; 3
add p1, a0 ; 2
add p1, XL ; 1
done
hi19:
add p1, a0 ; 6
hi18:
add p1, XL ; 5
add a0, a0 ; 4
add a0, a0 ; 3
add p1, a0 ; 2
add p1, a0 ; 1
done
hi1a:
sub p1, a0 ; 6
hi1b:
sub p1, a0 ; 5
hi1c:
add a0, a0 ; 4
sub XL, a0 ; 3
add XL, XL ; 2
add p1, XL ; 1
done
hi1d:
sub p1, a0 ; 5
hi1e:
sub p1, a0 ; 4
hi1f:
sub p1, a0 ; 3
add p1, XL ; 2
add p1, XL ; 1
done
hi27:
add p1, a0 ; 7
hi26:
add a0, a0 ; 6
hi23:
add p1, a0 ; 5
hi22:
add p1, a0 ; 4
hi21:
add p1, a0 ; 3
hi20:
add p1, XL ; 2
add p1, XL ; 1
done
hi2a:
add a0, a0 ; 6
hi25:
add p1, a0 ; 5
hi24:
add XL, a0 ; 4
add XL, a0 ; 3
add p1, XL ; 2
add p1, XL ; 1
done
; ...
hi4d:
sub p1, a0 ; 7
hi4e:
sub p1, a0 ; 6
hi4f:
sub p1, a0 ; 5
add p1, XL ; 4
add XL, XL ; 3
add XL, XL ; 2
add p1, XL ; 1
done
hi53:;
add p1, a0 ; 7
hi52:;
add p1, a0 ; 6
hi51:;
add p1, a0 ; 5
hi50:;
add p1, XL ; 4
add XL, XL ; 3
add XL, XL ; 2
add p1, XL ; 1
done
hi56:;
add p1, a0 ; 7
; ...
hi5d:;
sub p1, a0 ; 7
hi5e:;
sub p1, a0 ; 6
hi5f:;
sub p1, a0 ; 5
add XL, XL ; 4
add p1, XL ; 3
add p1, XL ; 2
add p1, XL ; 1
done
hi63:;
add p1, a0 ; 7
hi62:;
add p1, a0 ; 6
hi61:;
add p1, a0 ; 5
hi60:;
add XL, XL ; 4
add p1, XL ; 3
add p1, XL ; 2
add p1, XL ; 1
done
; ...
hi68:;
add p1, a0 ; 7
hi67:;
add p1, a0 ; 6
add XL, a0 ; 5
add XL, XL ; 4
add p1, XL ; 3
add p1, XL ; 2
add p1, XL ; 1
done
hi6a:;
add p1, a0 ; 7
hi69:; ; 105 ~ 15 * 7
sub XL, a0 ; 6
add p1, XL ; 5
add XL, XL ; 4
add p1, XL ; 3
add p1, XL ; 2
add p1, XL ; 1
done
hi6b:; no symmetry
sub p1, a0 ; 7
hi6c:; no symmetry
add XL, a0 ; 6
add XL, a0 ; 5
add XL, XL ; 4
add p1, XL ; 3
add p1, XL ; 2
add p1, XL ; 1
done
hi6d:; no symmetry
;01101101
sub p1, a0 ; 6
hi6e:;
sub p1, a0 ; 5
hi6f:;
sub p1, a0 ; 4
sub p1, XL ; 3
sbrc a0, 0 ; 2
subi p1, -128; 1
done
hi73:;
add p1, a0 ; 6
hi72:;
add p1, a0 ; 5
hi71:;
add p1, a0 ; 4
hi70:;
sub p1, XL ; 3
sbrc XL, 4 ; 2
subi p1, -128; 1
done
hi75:; not quite symmetrical
add p1, a0 ; 7
hi74:;
add a0, a0 ; 6
add p1, a0 ; 5
add p1, a0 ; 4
sub p1, XL ; 3
sbrc XL, 4 ; 2
subi p1, -128; 1
done
hi76:;
sub p1, a0 ; 7
hi77:;
sub p1, a0 ; 6
hi78:; ; 120 ~ 15 * 8
sub XL, a0 ; 5
add XL, XL ; 4
add XL, XL ; 3
add p1, XL ; 2
add p1, XL ; 1
done
hi7b:;
sub p1, a0 ; 6
hi7c:;
add XL, XL ; 5
sub XL, a0 ; 4
add XL, XL ; 3
add XL, XL ; 2
add p1, XL ; 1
done
hi79:
sub p1, a0 ; 7
hi7a:
add a0, a0 ; 6
hi7d:
sub p1, a0 ; 5
hi7e:
sub p1, a0 ; 4
hi7f:
sub p1, a0 ; 3
sbrc XL, 4 ; 2
subi p1, -128; 1
done
hi85:
add p1, a0 ; 7
hi84:
add p1, a0 ; 6
hi83:
add p1, a0 ; 5
hi82:
add p1, a0 ; 4
hi81:
add p1, a0 ; 3
hi80:
sbrc XL, 4 ; 2
subi p1, -128; 1
done
hi86:
sub p1, a0 ; 7
hi87:; not quite symmetrical 135 ~ 15 * 9
sub XL, a0 ; 6
add p1, XL ; 5
add XL, XL ; 4
add XL, XL ; 3
add p1, XL ; 2
add p1, XL ; 1
done
hi8a:;
add p1, a0 ; 7
hi89:;
add p1, a0 ; 6
hi88:;
add XL, a0 ; 5
add XL, XL ; 4
add XL, XL ; 3
add XL, XL ; 2
add p1, XL ; 1
done
hi8b:; not quite symmetrical
sub p1, a0 ; 7
hi8c:; not quite symmetrical
add p1, XL ; 6
add XL, XL ; 5
sub XL, a0 ; 4
add XL, XL ; 3
add XL, XL ; 2
add p1, XL ; 1
done
hi8d:
sub p1, a0 ; 6
hi8e:
sub p1, a0 ; 5
hi8f:
sub p1, a0 ; 4
add p1, XL ; 3
sbrc XL, 4 ; 2
subi p1, -128; 1
done
hi93: ; 147 7*7*3
add p1, a0 ; 6
hi92:
add p1, a0 ; 5
hi91:
add p1, a0 ; 4
hi90:
add p1, XL ; 3
sbrc XL, 4 ; 2
subi p1, -128; 1
done
hi95:
add p1, a0 ; 7
hi94:; no symmetry
add p1, XL ; 6
add XL, XL ; 5
add XL, a0 ; 4
add XL, XL ; 3
add p1, XL ; 2
add p1, XL ; 1
done
hi96:; ; 150 ~ 15 * 10 nananananaana
sub p1, a0 ; 7
hi97:
sub XL, a0 ; 6 151 ~ (256-)15*-7
sub p1, XL ; 5
add XL, XL ; 4
sub p1, XL ; 3
sub p1, XL ; 2
sub p1, XL ; 1
done
hi98:;
sub p1, a0 ; 7
hi99:; ; 153 ~ 17 * 9
add XL, a0 ; 6
add p1, XL ; 5
add XL, XL ; 4
add XL, XL ; 3
add p1, XL ; 2
add p1, XL ; 1
done
hi9c:;
add p1, a0 ; 7
hi9b:;
add p1, a0 ; 6
hi9a:;
add XL, a0 ; 5
add XL, XL ; 4
sub p1, XL ; 3
sub p1, XL ; 2
sub p1, XL ; 1
done
hi9d:; ; 157
sub p1, a0 ; 7
hi9e:;
sub p1, a0 ; 6
hi9f:;
sub p1, a0 ; 5
add XL, XL ; 4
sub p1, XL ; 3
sub p1, XL ; 2
sub p1, XL ; 1
done
hia3:;
add p1, a0 ; 7
hia2:;
add p1, a0 ; 6
hia1:;
add p1, a0 ; 5
hia0:;
add XL, XL ; 4
sub p1, XL ; 3
sub p1, XL ; 2
sub p1, XL ; 1
done
hia4:;
sub p1, a0 ; 7
hia5:; ; 165 ~ 15 * 11
add XL, XL ; 6
add XL, a0 ; 5
add p1, XL ; 4
add XL, XL ; 3
add p1, XL ; 2
add p1, XL ; 1
done
hia7:;
add p1, a0 ; 6
hia6:;
sub XL, a0 ; 5
add XL, XL ; 4
sub p1, XL ; 3
add XL, XL ; 2
sub p1, XL ; 1
done
hia9:;
add p1, a0 ; 7
hia8:;
sub p1, XL ; 6
add XL, a0 ; 5
add XL, a0 ; 4
add XL, XL ; 3
sub p1, XL ; 2
sub p1, XL ; 1
done
hiaa:;
#if greedy
add a0, a0 ; 6
add XL, XL ; 5
add p1, XL ; 4
add XL, XL ; 3
add XL, XL ; 2
add p1, XL ; 1
#else
sub p1, a0 ; 7
#endif
hiab:;
sub p1, a0 ; 6
hiac:;
sub p1, XL ; 5
add XL, a0 ; 4
add XL, XL ; 3
add XL, XL ; 2
sub p1, XL ; 1
done
hiad:;
sub p1, a0 ; 7
hiae:;
sub p1, a0 ; 6
hiaf:;
sub p1, a0 ; 5
sub p1, XL ; 4
add XL, XL ; 3
add XL, XL ; 2
sub p1, XL ; 1
done
hib3:
add p1, a0 ; 7
hib2:
add p1, a0 ; 6
hib1:
add p1, a0 ; 5
hib0:;
sub p1, XL ; 4
add XL, XL ; 3
add XL, XL ; 2
sub p1, XL ; 1
done
hib5:
add p1, a0 ; 6
hib4:
sub p1, XL ; 5
sub XL, a0 ; 4
add XL, XL ; 3
add XL, XL ; 2
sub p1, XL ; 1
done
; ...
hieb: ; ouch
sub p1, a0 ; 5
hiec:
add a0, a0 ; 4
add a0, a0 ; 3
sub p1, a0 ; 2
sub p1, XL ; 1
done
hie9:
sub p1, a0 ; 6
hiea:
add a0, a0 ; 5
hied:
sub p1, a0 ; 4
hiee:
sub p1, a0 ; 3
hief:
sub p1, a0 ; 2
sub p1, XL ; 1
done
hif5:
add p1, a0 ; 6
hif4:
add p1, a0 ; 5
hif3:
add p1, a0 ; 4
hif2:
add p1, a0 ; 3
hif1:
add p1, a0 ; 2
hif0:
sub p1, XL ; 1
done
hif6:
sub p1, a0 ; 6
hif7:
sub p1, a0 ; 5
hif8:
add a0, a0 ; 4
add a0, a0 ; 3
sub p1, a0 ; 2
sub p1, a0 ; 1
done
…</p>
.org (PC + 0x100) & 0xffff00
highs:
; rjmp hi00
done;-) to start code with a ret-insn, move this table first
rjmp hi01
rjmp hi02
rjmp hi03
rjmp hi04
rjmp hi05
rjmp hi06
rjmp hi07
rjmp hi08
rjmp hi09
rjmp hi0a
rjmp hi0b
rjmp hi0c
rjmp hi0d
rjmp hi0e
rjmp hi0f
rjmp hi10
rjmp hi11
rjmp hi12
rjmp hi13
; ...
rjmp hiee
rjmp hief
rjmp hif0
rjmp hif1
rjmp hif2
rjmp hif3
rjmp hif4
rjmp hif5
rjmp hif6
rjmp hif7
rjmp hif8
; rjmp hif9 ; jmp + 4 adds + 1 sub
sub p1, a0 ; 7
; rjmp hifa ; jmp + 3 adds + 2 subs -lutin?
sub p1, a0 ; 6
; rjmp hifb ; jmp + 2 adds + 2 subs
sub p1, a0 ; 5
; rjmp hifc
sub p1, a0 ; 4
; rjmp hifd
sub p1, a0 ; 3
; rjmp hife
sub p1, a0 ; 2
; rjmp hiff
sub p1, a0 ; 1
done
#undef done
#define done rjmp doM1
#define owing rjmp settle
.org (PC + 0x100) & 0xffff00
jump:
rjmp lo00
done ; rjmp lo01
rjmp lo02
;(you know the drill)
rjmp lofe
; rjmp loff
.Macro negP
com p1
neg p0
sbci p1, -1
.EndM
negP ; 6
owing
.Macro add4
add p0, XL
adc p1, XH
.EndM
.Macro sub4
sub p0, XL
sbc p1, XH
.EndM
.Macro set4
movw p0, XL
.EndM
.Macro pp2Z
movw ZL, p0
.EndM
.Macro addZ
add p0, ZL
adc p1, ZH
.EndM
.Macro subZ
sub p0, ZL
sbc p1, ZH
.EndM
.Macro clrP
clr p0
clr p1
.EndM
…</p>
; do not tail merge to keep *-2/-1/0/1...16 fast
; (with 11, 13, 14, 17, 18 & 19 as collateral benefit, really)
lo00:
clr p0 ; 4
clr p1 ; 3
done
lo07:
addA ;10
lo05:
addA ; 8
lo03:
doubleP ; 6
lo02:
addA ; 4
;lo01:
done ; 2
lo08:
addA ; 8
lo04:
doubleP ; 6
;lo02:
doubleP ; 4
done ; 2
lo0a:
doubleP ;10
lo06:
doubleP ; 8
addA ; 6
doubleP ; 4
done ; 2
lo09:
doubleP ;10
doubleP ; 8
doubleP ; 6
addA ; 4
done ; 2
lo0b:
doubleP ;12 d
doubleP ;10 a0
addA ; 8 d
doubleP ; 6 d
addA ; 4 s0
done ; 2
lo0c:
doubleP ;10
addA ; 8
doubleP ; 6
doubleP ; 4
done ; 2
lo0d:
addA ;11
lo0e:
addA ; 9
lo0f:
negP ; 7
add4 ; 4
done ; 2
lo10:
set4 ; 1
done
lo15:
addA ;12
lo14:
addA ;10
lo13:
addA ; 8
lo12:
addA ; 6
lo11:
add4 ; 4
done
lo16:
doubleP ;10
addA ; 8
doubleP ; 6
add4 ; 4
done
lo17:
doubleP ;12
doubleP ;10
doubleP ; 8
subA ; 6
add4 ; 4
done
lo18:
doubleP ;10
doubleP ; 8
doubleP ; 6
add4 ; 4
done
lo19:
doubleP ;12
doubleP ;10
doubleP ; 8
addA ; 6
add4 ; 4
done
lo1a: ; ...++.+.
doubleP ;12
doubleP ;10
addA ; 8
doubleP ; 6
add4 ; 4
done
lo1b: ; ..+..-.-
negP ;13
doubleP ;10
add4 ; 8
doubleP ; 6
subA ; 4
done
lo1c: ; ..+..-..
negP ;11
doubleP ; 8
add4 ; 6
doubleP ; 4
done
lo1d:
subA ;14
lo1e:
subA ;12
lo1f:
subA ;10
lo20:
subA ; 8
add4 ; 6
add4 ; 4
done
lo25:
addA ;14
lo24:
addA ;12
lo23:
addA ;10
lo22:
addA ; 8
lo21:
add4 ; 6
add4 ; 4
done
…</p>
lo6a:
doubleP ;14
add4 ;12
doubleP ;10
addA ; 8
add4 ; 6
doubleP ; 4
done ; 2
lo6b:; .++.++.- .+++.-.- .++.++.-?+..+.-.-?
;01101011
;XXX wc, faster without preparational p = a
addA ;15 set4 ;15 addA 16 ?set4 15
add4 ;13 subA ;12 a4 ?d ?
pp2Z ;11 doubleP ;10 d ?s0 ?
doubleP ;10 add4 ; 8 a0 ?d ?
addZ ; 8 doubleP ; 6 a4 ?d ?
doubleP ; 6 add4 ; 8 d ?s0 ?
subA ; 4 subA ; 4 s0 ?a4 ?
done ; 2
lo6c: ; .+++.-..
set4 ;13 a0
subA ;12 a0
doubleP ;10 a4
add4 ; 8 d
doubleP ; 6 a4
add4 ; 4 d
done ; 2
lo6d: ; .+++..--
set4 ;14
add4 ;13
subA ;11
pp2Z ; 9
doubleP ; 8
add4 ; 6
addZ ; 4
done ; 2
; ...
lo9a: ; +.
add4 ;14 nP 14
doubleP ;12 s4 12
doubleP ;10 Z 10
addA ; 8 d 9
doubleP ; 4 d 7
add4 ; 4 aZ 5
done ; 2
lo9b:; +.+..-.- +.+..-.- +.+.+.++ .-.-.-.-
set4 ;14 negP ;16 add4 ;16 negP15
doubleP ;13 add4 ;13 doubleP ;14 s4 12
subA ;11 add4 ;11 doubleP ;12 Z 10
pp2Z ; 9 pp2Z ; 9 add4 ;10 d 9
doubleP ; 8 doubleP ; 8 addA ; 8 d 7
doubleP ; 6 doubleP ; 6 doubleP ; 6 aZ 5
addZ ; 4 addZ ; 4 addA ; 4 owi 3
done ; 2
lo9c: ; +.+..-..
set4 ;13
doubleP ;12
subA ;10
doubleP ; 8
add4 ; 6
doubleP ; 4
done ; 2
lo9d:; +..+++.+ .--...-- +.+...--
;10011101
;XXX wc, faster without preparational p = a
add4 ;15 set4 ;15 negP ;15
pp2Z ;13 doubleP ;14 sub4 ;12
doubleP ;12 doubleP ;12 sub4 ;10
addA ;10 add4 ;10 pp2Z ; 8
doubleP ; 8 subA ; 8 doubleP ; 7
doubleP ; 6 doubleP ; 6 addZ ; 5
addZ ; 4 subA ; 4 owing ; 3
done
; ...
loaa: ; +.+.+.+.
add4 ;13 add4 ;14 d 14
pp2Z ;11 doubleP ;12 s4 12
doubleP ;10 doubleP ;10 Z 10
doubleP ; 8 add4 ; 8 d 9
addZ ; 6 doubleP ; 4 d 7
doubleP ; 4 done ; 2 aZ 5
done ; 2
loab:; .-.-.-.- +.+..-.- +.+.+.++ .-.-.-.-
;10101011
;XXX wc, faster without preparational p = a
negP ;15 set4 ;15 add4 ;16 negP16
sub4 ;12 doubleP ;14 doubleP ;14 s4 13
pp2Z ;10 subA ;12 doubleP ;12 d 11
doubleP ; 9 doubleP ;10 add4 ;10 a4 9
doubleP ; 7 add4 ; 8 addA ; 8 d 7
addZ ; 5 doubleP ; 6 doubleP ; 6 s0 5
owing ; 3 subA ; 4 addA ; 4 owi 3
loac:
add4 ;14
doubleP ;12
addA ;10
doubleP ; 8
add4 ; 6
doubleP ; 4
done ; 2
load: ; .-.-..-- .-.-.-.+ .--.++.+ 0.9 1.8 0.8 (avg)
; WC 10101101
negP ;15 -1 negP ;16 a4 a0 a0 17
sub4 ;12 -16-1 sub4 ;13 d s4 a0
pp2Z ;10 -16-1 doubleP ;11 a0 Z s4
sub4 ; 9 -32-1 doubleP ; 9 d d d
doubleP ; 7 -64-2 sub4 ; 7 a4 aZ d
addZ ; 5 -80-3 addA ; 5 d d a0
owing ; 3 owing ; 3 a0 a0 s4
loae: ; .-.-..-.
negP ;14 clrP ;15
sub4 ;11 sub4 ;13
sub4 ; 9 doubleP ;11
; subA ; 9
doubleP ; 7
sub4 ; 5
owing ; 3
loaf: ; .-.-...- nutritious
;10101111
;XXX wc, faster without preparational p = a
clrP ;15 s
sub4 ;13 d
doubleP ;11 d
doubleP ; 9 a4
sub4 ; 7 d
subA ; 5 a4
owing ; 3 s0
lob0: ; don't call me that
clrP ;13
sub4 ;11
doubleP ; 9
doubleP ; 7
sub4 ; 5
owing ; 3
lob1:
;XXX wc, faster without preparational p = a
clrP ;15 s
sub4 ;13 d
doubleP ;11 d
doubleP ; 9 a4
sub4 ; 7 d
addA ; 5 a4
owing ; 3 a0
lob2:
;XXX wc, faster without preparational p = a
clrP ;15
sub4 ;13
doubleP ;11
addA ; 9
doubleP ; 7
sub4 ; 5
owing ; 3
lob3:
sub4 ;13
doubleP ;11
doubleP ; 9
sub4 ; 7
subA ; 5
owing ; 3
; ...
lob6:
sub4 ;13
doubleP ;11
addA ; 9
doubleP ; 7
sub4 ; 5
owing ; 3
lob7:; .-.-+.++ ++.-+..- .-.-+..- +.+++..- ++..-..- .-..-..-
sub4 ;14 add4 ;15 doubleP ;15 a4 16 n 17 n 16 s4
pp2Z ;12 pp2Z ;13 sub4 ;13 d a4 d 13 z
doubleP ;11 doubleP ;12 doubleP ;11 d d s4 11 d
addA ; 9 add4 ;10 doubleP ; 9 a4 a4 d 9 a0
doubleP ; 7 doubleP ; 8 sub4 ; 7 d d d 7 d
addZ ; 5 doubleP ; 6 subA ; 5 a4 d s0 5 az
owing ; 3 subZ ; 4 owing ; 3 s0 s0 owi owi
lob8:
doubleP ;13
sub4 ;11
doubleP ; 9
doubleP ; 7
sub4 ; 5
owing ; 3
lob9:
sub4 ;14
pp2Z ;12
addA ;11
doubleP ; 9
doubleP ; 7
addZ ; 5
owing
loba: ; .-...--.
negP ;14
sub4 ;11
doubleP ; 9
subA ; 7
doubleP ; 5
owing ; 3
lobb:
negP ;14
sub4 ;11
doubleP ; 9
doubleP ; 7
subA ; 5
owing ; 3
lobc:
negP ;12
sub4 ; 9
doubleP ; 7
doubleP ; 5
owing ; 3
lobd:; .-...-.+
negP ;14 set4 ;15
sub4 ;11 doubleP ;14
doubleP ; 9 subA ;12
doubleP ; 7 doubleP ;10
addA ; 5 add4 ; 8
owing ; 3 doubleP ; 6
; subA ; 4
; done ; 2
lobe: ; Honni soit qui mal y pense !
negP ;12
sub4 ; 9
sub4 ; 7
doubleP ; 5
owing ; 3
lobf: ;
subA ;15 clrP sub4 d d suba owing 13
loc0: ; DONT't call me THAT!
subA ;13
loc1:
sub4 ;11
sub4 ; 9
sub4 ; 7
sub4 ; 5
owing
…</p>
loca:
add4 ;14
doubleP ;12
add4 ;10
doubleP ; 8
addA ; 6
doubleP ; 4
done ; 2
locb:; .-..+.++ ..--.-.- ++..++.-
; WC?!? 11001011
doubleP ;15 n 16 a4 15 s 17 n 15
sub4 ;13 d 13 z 13 d 16 s4 12
doubleP ;11 s4 11 d 12 a4 14 z 10
addA ; 9 d 9 aZ 10 s0 12 s0 9
doubleP ; 7 s4 7 d 8 d 10 d 7
addA ; 5 s0 5 d 6 d 8 az 5
owing ; 3 owi 3 s0 4 a4 6
; s0 4
locc: ; what comments?
add4 ;13 n 14
pp2Z ;11 s4 11
doubleP ;10 d 9
addZ ; 8 d 7
doubleP ; 6 a4 5
doubleP ; 4 owi 3
done ; 2
…</p>
lofa:
doubleP ;13
doubleP ;11
addA ; 9
doubleP ; 7
sub4 ; 5
owing
lofb:
addA ;14
lofc:
addA ;12
lofd:
addA ;10
lofe:
addA ; 8
negP ; 6
owing