| 1 |
#include "DasmTables.hh" |
| 2 |
|
| 3 |
namespace openmsx { |
| 4 |
|
| 5 |
|
| 6 |
|
| 7 |
|
| 8 |
|
| 9 |
|
| 10 |
|
| 11 |
|
| 12 |
|
| 13 |
|
| 14 |
|
| 15 |
|
| 16 |
|
| 17 |
|
| 18 |
|
| 19 |
|
| 20 |
const std::array<const char*, 256> mnemonic_xx_cb = |
| 21 |
{ |
| 22 |
"#","#","#","#","#","#","rlc Y" ,"#", |
| 23 |
"#","#","#","#","#","#","rrc Y" ,"#", |
| 24 |
"#","#","#","#","#","#","rl Y" ,"#", |
| 25 |
"#","#","#","#","#","#","rr Y" ,"#", |
| 26 |
"#","#","#","#","#","#","sla Y" ,"#", |
| 27 |
"#","#","#","#","#","#","sra Y" ,"#", |
| 28 |
"#","#","#","#","#","#","sll Y" ,"#", |
| 29 |
"#","#","#","#","#","#","srl Y" ,"#", |
| 30 |
"#","#","#","#","#","#","bit 0,Y","#", |
| 31 |
"#","#","#","#","#","#","bit 1,Y","#", |
| 32 |
"#","#","#","#","#","#","bit 2,Y","#", |
| 33 |
"#","#","#","#","#","#","bit 3,Y","#", |
| 34 |
"#","#","#","#","#","#","bit 4,Y","#", |
| 35 |
"#","#","#","#","#","#","bit 5,Y","#", |
| 36 |
"#","#","#","#","#","#","bit 6,Y","#", |
| 37 |
"#","#","#","#","#","#","bit 7,Y","#", |
| 38 |
"#","#","#","#","#","#","res 0,Y","#", |
| 39 |
"#","#","#","#","#","#","res 1,Y","#", |
| 40 |
"#","#","#","#","#","#","res 2,Y","#", |
| 41 |
"#","#","#","#","#","#","res 3,Y","#", |
| 42 |
"#","#","#","#","#","#","res 4,Y","#", |
| 43 |
"#","#","#","#","#","#","res 5,Y","#", |
| 44 |
"#","#","#","#","#","#","res 6,Y","#", |
| 45 |
"#","#","#","#","#","#","res 7,Y","#", |
| 46 |
"#","#","#","#","#","#","set 0,Y","#", |
| 47 |
"#","#","#","#","#","#","set 1,Y","#", |
| 48 |
"#","#","#","#","#","#","set 2,Y","#", |
| 49 |
"#","#","#","#","#","#","set 3,Y","#", |
| 50 |
"#","#","#","#","#","#","set 4,Y","#", |
| 51 |
"#","#","#","#","#","#","set 5,Y","#", |
| 52 |
"#","#","#","#","#","#","set 6,Y","#", |
| 53 |
"#","#","#","#","#","#","set 7,Y","#" |
| 54 |
}; |
| 55 |
|
| 56 |
const std::array<const char*, 256> mnemonic_cb = |
| 57 |
{ |
| 58 |
"rlc b" ,"rlc c" ,"rlc d" ,"rlc e" ,"rlc h" ,"rlc l" ,"rlc (hl)" ,"rlc a" , |
| 59 |
"rrc b" ,"rrc c" ,"rrc d" ,"rrc e" ,"rrc h" ,"rrc l" ,"rrc (hl)" ,"rrc a" , |
| 60 |
"rl b" ,"rl c" ,"rl d" ,"rl e" ,"rl h" ,"rl l" ,"rl (hl)" ,"rl a" , |
| 61 |
"rr b" ,"rr c" ,"rr d" ,"rr e" ,"rr h" ,"rr l" ,"rr (hl)" ,"rr a" , |
| 62 |
"sla b" ,"sla c" ,"sla d" ,"sla e" ,"sla h" ,"sla l" ,"sla (hl)" ,"sla a" , |
| 63 |
"sra b" ,"sra c" ,"sra d" ,"sra e" ,"sra h" ,"sra l" ,"sra (hl)" ,"sra a" , |
| 64 |
"sll b" ,"sll c" ,"sll d" ,"sll e" ,"sll h" ,"sll l" ,"sll (hl)" ,"sll a" , |
| 65 |
"srl b" ,"srl c" ,"srl d" ,"srl e" ,"srl h" ,"srl l" ,"srl (hl)" ,"srl a" , |
| 66 |
"bit 0,b","bit 0,c","bit 0,d","bit 0,e","bit 0,h","bit 0,l","bit 0,(hl)","bit 0,a", |
| 67 |
"bit 1,b","bit 1,c","bit 1,d","bit 1,e","bit 1,h","bit 1,l","bit 1,(hl)","bit 1,a", |
| 68 |
"bit 2,b","bit 2,c","bit 2,d","bit 2,e","bit 2,h","bit 2,l","bit 2,(hl)","bit 2,a", |
| 69 |
"bit 3,b","bit 3,c","bit 3,d","bit 3,e","bit 3,h","bit 3,l","bit 3,(hl)","bit 3,a", |
| 70 |
"bit 4,b","bit 4,c","bit 4,d","bit 4,e","bit 4,h","bit 4,l","bit 4,(hl)","bit 4,a", |
| 71 |
"bit 5,b","bit 5,c","bit 5,d","bit 5,e","bit 5,h","bit 5,l","bit 5,(hl)","bit 5,a", |
| 72 |
"bit 6,b","bit 6,c","bit 6,d","bit 6,e","bit 6,h","bit 6,l","bit 6,(hl)","bit 6,a", |
| 73 |
"bit 7,b","bit 7,c","bit 7,d","bit 7,e","bit 7,h","bit 7,l","bit 7,(hl)","bit 7,a", |
| 74 |
"res 0,b","res 0,c","res 0,d","res 0,e","res 0,h","res 0,l","res 0,(hl)","res 0,a", |
| 75 |
"res 1,b","res 1,c","res 1,d","res 1,e","res 1,h","res 1,l","res 1,(hl)","res 1,a", |
| 76 |
"res 2,b","res 2,c","res 2,d","res 2,e","res 2,h","res 2,l","res 2,(hl)","res 2,a", |
| 77 |
"res 3,b","res 3,c","res 3,d","res 3,e","res 3,h","res 3,l","res 3,(hl)","res 3,a", |
| 78 |
"res 4,b","res 4,c","res 4,d","res 4,e","res 4,h","res 4,l","res 4,(hl)","res 4,a", |
| 79 |
"res 5,b","res 5,c","res 5,d","res 5,e","res 5,h","res 5,l","res 5,(hl)","res 5,a", |
| 80 |
"res 6,b","res 6,c","res 6,d","res 6,e","res 6,h","res 6,l","res 6,(hl)","res 6,a", |
| 81 |
"res 7,b","res 7,c","res 7,d","res 7,e","res 7,h","res 7,l","res 7,(hl)","res 7,a", |
| 82 |
"set 0,b","set 0,c","set 0,d","set 0,e","set 0,h","set 0,l","set 0,(hl)","set 0,a", |
| 83 |
"set 1,b","set 1,c","set 1,d","set 1,e","set 1,h","set 1,l","set 1,(hl)","set 1,a", |
| 84 |
"set 2,b","set 2,c","set 2,d","set 2,e","set 2,h","set 2,l","set 2,(hl)","set 2,a", |
| 85 |
"set 3,b","set 3,c","set 3,d","set 3,e","set 3,h","set 3,l","set 3,(hl)","set 3,a", |
| 86 |
"set 4,b","set 4,c","set 4,d","set 4,e","set 4,h","set 4,l","set 4,(hl)","set 4,a", |
| 87 |
"set 5,b","set 5,c","set 5,d","set 5,e","set 5,h","set 5,l","set 5,(hl)","set 5,a", |
| 88 |
"set 6,b","set 6,c","set 6,d","set 6,e","set 6,h","set 6,l","set 6,(hl)","set 6,a", |
| 89 |
"set 7,b","set 7,c","set 7,d","set 7,e","set 7,h","set 7,l","set 7,(hl)","set 7,a" |
| 90 |
}; |
| 91 |
|
| 92 |
const std::array<const char*, 256> mnemonic_ed = |
| 93 |
{ |
| 94 |
"!" ,"!" ,"!" ,"!" ,"!" ,"!" ,"!" ,"!" , |
| 95 |
"!" ,"!" ,"!" ,"!" ,"!" ,"!" ,"!" ,"!" , |
| 96 |
"!" ,"!" ,"!" ,"!" ,"!" ,"!" ,"!" ,"!" , |
| 97 |
"!" ,"!" ,"!" ,"!" ,"!" ,"!" ,"!" ,"!" , |
| 98 |
"!" ,"!" ,"!" ,"!" ,"!" ,"!" ,"!" ,"!" , |
| 99 |
"!" ,"!" ,"!" ,"!" ,"!" ,"!" ,"!" ,"!" , |
| 100 |
"!" ,"!" ,"!" ,"!" ,"!" ,"!" ,"!" ,"!" , |
| 101 |
"!" ,"!" ,"!" ,"!" ,"!" ,"!" ,"!" ,"!" , |
| 102 |
"in b,(c)","out (c),b","sbc hl,bc","ld (A),bc","neg","retn","im 0","ld i,a", |
| 103 |
"in c,(c)","out (c),c","adc hl,bc","ld bc,(A)","!" ,"reti","!" ,"ld r,a", |
| 104 |
"in d,(c)","out (c),d","sbc hl,de","ld (A),de","!" ,"!" ,"im 1","ld a,i", |
| 105 |
"in e,(c)","out (c),e","adc hl,de","ld de,(A)","!" ,"!" ,"im 2","ld a,r", |
| 106 |
"in h,(c)","out (c),h","sbc hl,hl","ld (A),hl*","!" ,"!" ,"!" ,"rrd" , |
| 107 |
"in l,(c)","out (c),l","adc hl,hl","ld hl,(A)*","!" ,"!" ,"!" ,"rld" , |
| 108 |
"in f,(c)","out (c),0","sbc hl,sp","ld (A),sp","!" ,"!" ,"!" ,"!" , |
| 109 |
"in a,(c)","out (c),a","adc hl,sp","ld sp,(A)","!" ,"!" ,"!" ,"!" , |
| 110 |
"!" ,"!" ,"!" ,"!" ,"!" ,"!" ,"!" ,"!" , |
| 111 |
"!" ,"!" ,"!" ,"!" ,"!" ,"!" ,"!" ,"!" , |
| 112 |
"!" ,"!" ,"!" ,"!" ,"!" ,"!" ,"!" ,"!" , |
| 113 |
"!" ,"!" ,"!" ,"!" ,"!" ,"!" ,"!" ,"!" , |
| 114 |
"ldi" ,"cpi" ,"ini" ,"outi" ,"!" ,"!" ,"!" ,"!" , |
| 115 |
"ldd" ,"cpd" ,"ind" ,"outd" ,"!" ,"!" ,"!" ,"!" , |
| 116 |
"ldir" ,"cpir" ,"inir" ,"otir" ,"!" ,"!" ,"!" ,"!" , |
| 117 |
"lddr" ,"cpdr" ,"indr" ,"otdr" ,"!" ,"!" ,"!" ,"!" , |
| 118 |
"!" ,"mulub a,b","!" ,"muluw hl,bc","!","!" ,"!" ,"!" , |
| 119 |
"!" ,"mulub a,c","!" ,"!" ,"!", "!" ,"!" ,"!" , |
| 120 |
"!" ,"mulub a,d","!" ,"muluw hl,de","!","!" ,"!" ,"!" , |
| 121 |
"!" ,"mulub a,e","!" ,"!" ,"!", "!" ,"!" ,"!" , |
| 122 |
"!" ,"mulub a,h","!" ,"muluw hl,hl","!","!" ,"!" ,"!" , |
| 123 |
"!" ,"mulub a,l","!" ,"!" ,"!", "!" ,"!" ,"!" , |
| 124 |
"!" ,"mulub a,(hl)","!" ,"muluw hl,sp","!","!" ,"!" ,"!" , |
| 125 |
"!" ,"mulub a,a","!" ,"!" ,"!", "!" ,"!" ,"!" |
| 126 |
}; |
| 127 |
|
| 128 |
const std::array<const char*, 256> mnemonic_xx = |
| 129 |
{ |
| 130 |
"@" ,"@" ,"@" ,"@" ,"@" ,"@" ,"@" ,"@" , |
| 131 |
"@" ,"add I,bc","@" ,"@" ,"@" ,"@" ,"@" ,"@" , |
| 132 |
"@" ,"@" ,"@" ,"@" ,"@" ,"@" ,"@" ,"@" , |
| 133 |
"@" ,"add I,de","@" ,"@" ,"@" ,"@" ,"@" ,"@" , |
| 134 |
"@" ,"ld I,W" ,"ld (A),I","inc I" ,"inc Ih" ,"dec Ih" ,"ld Ih,B","@" , |
| 135 |
"@" ,"add I,I" ,"ld I,(A)","dec I" ,"inc Il" ,"dec Il" ,"ld Il,B","@" , |
| 136 |
"@" ,"@" ,"@" ,"@" ,"inc X" ,"dec X" ,"ld X,B" ,"@" , |
| 137 |
"@" ,"add I,sp","@" ,"@" ,"@" ,"@" ,"@" ,"@" , |
| 138 |
"@" ,"@" ,"@" ,"@" ,"ld b,Ih" ,"ld b,Il" ,"ld b,X" ,"@" , |
| 139 |
"@" ,"@" ,"@" ,"@" ,"ld c,Ih" ,"ld c,Il" ,"ld c,X" ,"@" , |
| 140 |
"@" ,"@" ,"@" ,"@" ,"ld d,Ih" ,"ld d,Il" ,"ld d,X" ,"@" , |
| 141 |
"@" ,"@" ,"@" ,"@" ,"ld e,Ih" ,"ld e,Il" ,"ld e,X" ,"@" , |
| 142 |
"ld Ih,b","ld Ih,c" ,"ld Ih,d" ,"ld Ih,e" ,"ld Ih,h" ,"ld Ih,l" ,"ld h,X" ,"ld Ih,a", |
| 143 |
"ld Il,b","ld Il,c" ,"ld Il,d" ,"ld Il,e" ,"ld Il,h" ,"ld Il,l" ,"ld l,X" ,"ld Il,a", |
| 144 |
"ld X,b" ,"ld X,c" ,"ld X,d" ,"ld X,e" ,"ld X,h" ,"ld X,l" ,"@" ,"ld X,a" , |
| 145 |
"@" ,"@" ,"@" ,"@" ,"ld a,Ih" ,"ld a,Il" ,"ld a,X" ,"@" , |
| 146 |
"@" ,"@" ,"@" ,"@" ,"add a,Ih","add a,Il","add a,X","@" , |
| 147 |
"@" ,"@" ,"@" ,"@" ,"adc a,Ih","adc a,Il","adc a,X","@" , |
| 148 |
"@" ,"@" ,"@" ,"@" ,"sub Ih" ,"sub Il" ,"sub X" ,"@" , |
| 149 |
"@" ,"@" ,"@" ,"@" ,"sbc a,Ih","sbc a,Il","sbc a,X","@" , |
| 150 |
"@" ,"@" ,"@" ,"@" ,"and Ih" ,"and Il" ,"and X" ,"@" , |
| 151 |
"@" ,"@" ,"@" ,"@" ,"xor Ih" ,"xor Il" ,"xor X" ,"@" , |
| 152 |
"@" ,"@" ,"@" ,"@" ,"or Ih" ,"or Il" ,"or X" ,"@" , |
| 153 |
"@" ,"@" ,"@" ,"@" ,"cp Ih" ,"cp Il" ,"cp X" ,"@" , |
| 154 |
"@" ,"@" ,"@" ,"@" ,"@" ,"@" ,"@" ,"@" , |
| 155 |
"@" ,"@" ,"@" ,"fd cb" ,"@" ,"@" ,"@" ,"@" , |
| 156 |
"@" ,"@" ,"@" ,"@" ,"@" ,"@" ,"@" ,"@" , |
| 157 |
"@" ,"@" ,"@" ,"@" ,"@" ,"@" ,"@" ,"@" , |
| 158 |
"@" ,"pop I" ,"@" ,"ex (sp),I","@" ,"push I" ,"@" ,"@" , |
| 159 |
"@" ,"jp (I)" ,"@" ,"@" ,"@" ,"@" ,"@" ,"@" , |
| 160 |
"@" ,"@" ,"@" ,"@" ,"@" ,"@" ,"@" ,"@" , |
| 161 |
"@" ,"ld sp,I" ,"@" ,"@" ,"@" ,"@" ,"@" ,"@" |
| 162 |
}; |
| 163 |
|
| 164 |
const std::array<const char*, 256> mnemonic_main = |
| 165 |
{ |
| 166 |
"nop" ,"ld bc,W" ,"ld (bc),a","inc bc" ,"inc b" ,"dec b" ,"ld b,B" ,"rlca" , |
| 167 |
"ex af,af'","add hl,bc","ld a,(bc)","dec bc" ,"inc c" ,"dec c" ,"ld c,B" ,"rrca" , |
| 168 |
"djnz R" ,"ld de,W" ,"ld (de),a","inc de" ,"inc d" ,"dec d" ,"ld d,B" ,"rla" , |
| 169 |
"jr R" ,"add hl,de","ld a,(de)","dec de" ,"inc e" ,"dec e" ,"ld e,B" ,"rra" , |
| 170 |
"jr nz,R" ,"ld hl,W" ,"ld (A),hl","inc hl" ,"inc h" ,"dec h" ,"ld h,B" ,"daa" , |
| 171 |
"jr z,R" ,"add hl,hl","ld hl,(A)","dec hl" ,"inc l" ,"dec l" ,"ld l,B" ,"cpl" , |
| 172 |
"jr nc,R" ,"ld sp,W" ,"ld (A),a" ,"inc sp" ,"inc (hl)" ,"dec (hl)" ,"ld (hl),B" ,"scf" , |
| 173 |
"jr c,R" ,"add hl,sp","ld a,(A)" ,"dec sp" ,"inc a" ,"dec a" ,"ld a,B" ,"ccf" , |
| 174 |
"ld b,b" ,"ld b,c" ,"ld b,d" ,"ld b,e" ,"ld b,h" ,"ld b,l" ,"ld b,(hl)" ,"ld b,a" , |
| 175 |
"ld c,b" ,"ld c,c" ,"ld c,d" ,"ld c,e" ,"ld c,h" ,"ld c,l" ,"ld c,(hl)" ,"ld c,a" , |
| 176 |
"ld d,b" ,"ld d,c" ,"ld d,d" ,"ld d,e" ,"ld d,h" ,"ld d,l" ,"ld d,(hl)" ,"ld d,a" , |
| 177 |
"ld e,b" ,"ld e,c" ,"ld e,d" ,"ld e,e" ,"ld e,h" ,"ld e,l" ,"ld e,(hl)" ,"ld e,a" , |
| 178 |
"ld h,b" ,"ld h,c" ,"ld h,d" ,"ld h,e" ,"ld h,h" ,"ld h,l" ,"ld h,(hl)" ,"ld h,a" , |
| 179 |
"ld l,b" ,"ld l,c" ,"ld l,d" ,"ld l,e" ,"ld l,h" ,"ld l,l" ,"ld l,(hl)" ,"ld l,a" , |
| 180 |
"ld (hl),b","ld (hl),c","ld (hl),d","ld (hl),e" ,"ld (hl),h","ld (hl),l","halt" ,"ld (hl),a", |
| 181 |
"ld a,b" ,"ld a,c" ,"ld a,d" ,"ld a,e" ,"ld a,h" ,"ld a,l" ,"ld a,(hl)" ,"ld a,a" , |
| 182 |
"add a,b" ,"add a,c" ,"add a,d" ,"add a,e" ,"add a,h" ,"add a,l" ,"add a,(hl)","add a,a" , |
| 183 |
"adc a,b" ,"adc a,c" ,"adc a,d" ,"adc a,e" ,"adc a,h" ,"adc a,l" ,"adc a,(hl)","adc a,a" , |
| 184 |
"sub b" ,"sub c" ,"sub d" ,"sub e" ,"sub h" ,"sub l" ,"sub (hl)" ,"sub a" , |
| 185 |
"sbc a,b" ,"sbc a,c" ,"sbc a,d" ,"sbc a,e" ,"sbc a,h" ,"sbc a,l" ,"sbc a,(hl)","sbc a,a" , |
| 186 |
"and b" ,"and c" ,"and d" ,"and e" ,"and h" ,"and l" ,"and (hl)" ,"and a" , |
| 187 |
"xor b" ,"xor c" ,"xor d" ,"xor e" ,"xor h" ,"xor l" ,"xor (hl)" ,"xor a" , |
| 188 |
"or b" ,"or c" ,"or d" ,"or e" ,"or h" ,"or l" ,"or (hl)" ,"or a" , |
| 189 |
"cp b" ,"cp c" ,"cp d" ,"cp e" ,"cp h" ,"cp l" ,"cp (hl)" ,"cp a" , |
| 190 |
"ret nz" ,"pop bc" ,"jp nz,A" ,"jp A" ,"call nz,A","push bc" ,"add a,B" ,"rst 00h" , |
| 191 |
"ret z" ,"ret" ,"jp z,A" ,"cb" ,"call z,A" ,"call A" ,"adc a,B" ,"rst 08h" , |
| 192 |
"ret nc" ,"pop de" ,"jp nc,A" ,"out (B),a" ,"call nc,A","push de" ,"sub B" ,"rst 10h" , |
| 193 |
"ret c" ,"exx" ,"jp c,A" ,"in a,(B)" ,"call c,A" ,"dd" ,"sbc a,B" ,"rst 18h" , |
| 194 |
"ret po" ,"pop hl" ,"jp po,A" ,"ex (sp),hl","call po,A","push hl" ,"and B" ,"rst 20h" , |
| 195 |
"ret pe" ,"jp (hl)" ,"jp pe,A" ,"ex de,hl" ,"call pe,A","ed" ,"xor B" ,"rst 28h" , |
| 196 |
"ret p" ,"pop af" ,"jp p,A" ,"di" ,"call p,A" ,"push af" ,"or B" ,"rst 30h" , |
| 197 |
"ret m" ,"ld sp,hl" ,"jp m,A" ,"ei" ,"call m,A" ,"fd" ,"cp B" ,"rst 38h" |
| 198 |
}; |
| 199 |
|
| 200 |
static constexpr uint8_t D = 8; |
| 201 |
static constexpr uint8_t E = 4; |
| 202 |
const std::array<uint8_t, 3uz * 256> instr_len_tab = { |
| 203 |
|
| 204 |
1, 3, 1, 1, 1, 1, 2, 1, 1, 1, 1, 1, 1, 1, 2, 1, |
| 205 |
2, 3, 1, 1, 1, 1, 2, 1, 2, 1, 1, 1, 1, 1, 2, 1, |
| 206 |
2, 3, 3, 1, 1, 1, 2, 1, 2, 1, 3, 1, 1, 1, 2, 1, |
| 207 |
2, 3, 3, 1, 1, 1, 2, 1, 2, 1, 3, 1, 1, 1, 2, 1, |
| 208 |
1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, |
| 209 |
1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, |
| 210 |
1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, |
| 211 |
1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, |
| 212 |
1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, |
| 213 |
1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, |
| 214 |
1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, |
| 215 |
1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, |
| 216 |
1, 1, 3, 3, 3, 1, 2, 1, 1, 1, 3, 2, 3, 3, 2, 1, |
| 217 |
1, 1, 3, 2, 3, 1, 2, 1, 1, 1, 3, 2, 3, D, 2, 1, |
| 218 |
1, 1, 3, 1, 3, 1, 2, 1, 1, 1, 3, 1, 3, E, 2, 1, |
| 219 |
1, 1, 3, 1, 3, 1, 2, 1, 1, 1, 3, 1, 3, D, 2, 1, |
| 220 |
|
| 221 |
|
| 222 |
2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, |
| 223 |
2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, |
| 224 |
2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, |
| 225 |
2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, |
| 226 |
2, 2, 2, 4, 2, 2, 2, 2, 2, 2, 2, 4, 2, 2, 2, 2, |
| 227 |
2, 2, 2, 4, 2, 2, 2, 2, 2, 2, 2, 4, 2, 2, 2, 2, |
| 228 |
2, 2, 2, 4, 2, 2, 2, 2, 2, 2, 2, 4, 2, 2, 2, 2, |
| 229 |
2, 2, 2, 4, 2, 2, 2, 2, 2, 2, 2, 4, 2, 2, 2, 2, |
| 230 |
2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, |
| 231 |
2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, |
| 232 |
2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, |
| 233 |
2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, |
| 234 |
2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, |
| 235 |
2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, |
| 236 |
2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, |
| 237 |
2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, |
| 238 |
|
| 239 |
|
| 240 |
2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, |
| 241 |
2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, |
| 242 |
2, 4, 4, 2, 2, 2, 3, 2, 2, 2 ,4, 2, 2, 2, 3, 2, |
| 243 |
2, 2, 2, 2, 3, 3, 4, 2, 2, 2, 2, 2, 2, 2, 2, 2, |
| 244 |
2, 2, 2, 2, 2, 2, 3, 2, 2, 2, 2, 2, 2, 2, 3, 2, |
| 245 |
2, 2, 2, 2, 2, 2, 3, 2, 2, 2, 2, 2, 2, 2, 3, 2, |
| 246 |
2, 2, 2, 2, 2, 2, 3, 2, 2, 2, 2, 2, 2, 2, 3, 2, |
| 247 |
3, 3, 3, 3, 3, 3, 2, 3, 2, 2, 2, 2, 2, 2, 3, 2, |
| 248 |
2, 2, 2, 2, 2, 2, 3, 2, 2, 2, 2, 2, 2, 2, 3, 2, |
| 249 |
2, 2, 2, 2, 2, 2, 3, 2, 2, 2, 2, 2, 2, 2, 3, 2, |
| 250 |
2, 2, 2, 2, 2, 2, 3, 2, 2, 2, 2, 2, 2, 2, 3, 2, |
| 251 |
2, 2, 2, 2, 2, 2, 3, 2, 2, 2, 2, 2, 2, 2, 3, 2, |
| 252 |
2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 4, 2, 2, 2, 2, |
| 253 |
2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, |
| 254 |
2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, |
| 255 |
2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, |
| 256 |
}; |
| 257 |
|
| 258 |
} |