/Transportables_Koptertool/trunk/V-0.1/F8X6.c |
---|
0,0 → 1,290 |
/******************************************************************************* |
; |
; taskit Rechnertechnik Berlin GmbH |
; Kaiser-Friedrich-Straáe 51 |
; 1000 Berlin 12 |
; Tel. 030-3245836 |
; FAX 030-3232649 |
; |
; |
; Projekt : |
; |
; Datei : |
; |
; Funktion : |
; |
; Version : |
; |
; Letzte Änderung : 06/28/95 - 15:04:59 |
; |
; Info : |
; |
*******************************************************************************/ |
#include <avr/pgmspace.h> |
//Die Bytes gehören zu jeweils einer Spalte des Buchstabens |
//D7 ist dabei das unterste Bit. Es handelt sich um einen DOS-Font ! |
//DOS-Zeichensatz |
prog_uchar f8x6[ 256 ][ 6 ] = |
{ |
{ 0x00,0x00,0x00,0x00,0x00,0x00 }, // ASCII - 0 |
{ 0x3E,0x5B,0x4F,0x5B,0x3E,0x00 }, // ASCII - 1 |
{ 0x3E,0x6B,0x4F,0x6B,0x3E,0x00 }, // ASCII - 2 |
{ 0x1C,0x3E,0x7C,0x3E,0x1C,0x00 }, // ASCII - 3 |
{ 0x18,0x3C,0x7E,0x3C,0x18,0x00 }, // ASCII - 4 |
{ 0x1C,0x57,0x7D,0x57,0x1C,0x00 }, // ASCII - 5 |
{ 0x1C,0x5E,0x7F,0x5E,0x1C,0x00 }, // ASCII - 6 |
{ 0x00,0x18,0x3C,0x18,0x00,0x00 }, // ASCII - 7 |
{ 0xFF,0xE7,0xC3,0xE7,0xFF,0x00 }, // ASCII - 8 |
{ 0x00,0x18,0x24,0x18,0x00,0x00 }, // ASCII - 9 |
{ 0xFF,0xE7,0xDB,0xE7,0xFF,0x00 }, // ASCII - 10 |
{ 0x30,0x48,0x3A,0x06,0x0E,0x00 }, // ASCII - 11 |
{ 0x26,0x29,0x79,0x29,0x26,0x00 }, // ASCII - 12 |
{ 0x40,0x7F,0x05,0x05,0x07,0x00 }, // ASCII - 13 |
{ 0x40,0x7F,0x05,0x25,0x3F,0x00 }, // ASCII - 14 |
{ 0x5A,0x3C,0xE7,0x3C,0x5A,0x00 }, // ASCII - 15 |
{ 0x7F,0x3E,0x1C,0x1C,0x08,0x00 }, // ASCII - 16 |
{ 0x08,0x1C,0x1C,0x3E,0x7F,0x00 }, // ASCII - 17 |
{ 0x14,0x22,0x7F,0x22,0x14,0x00 }, // ASCII - 18 |
{ 0x5F,0x5F,0x00,0x5F,0x5F,0x00 }, // ASCII - 19 |
{ 0x06,0x09,0x7F,0x01,0x7F,0x00 }, // ASCII - 20 |
{ 0x00,0x66,0x89,0x95,0x6A,0x00 }, // ASCII - 21 |
{ 0x60,0x60,0x60,0x60,0x60,0x60 }, // ASCII - 22 |
{ 0x94,0xA2,0xFF,0xA2,0x94,0x00 }, // ASCII - 23 |
{ 0x08,0x04,0x7E,0x04,0x08,0x00 }, // ASCII - 24 |
{ 0x10,0x20,0x7E,0x20,0x10,0x00 }, // ASCII - 25 |
{ 0x08,0x08,0x2A,0x1C,0x08,0x00 }, // ASCII - 26 |
{ 0x08,0x1C,0x2A,0x08,0x08,0x00 }, // ASCII - 27 |
{ 0x1E,0x10,0x10,0x10,0x10,0x00 }, // ASCII - 28 |
{ 0x0C,0x1E,0x0C,0x1E,0x0C,0x00 }, // ASCII - 29 |
{ 0x30,0x38,0x3E,0x38,0x30,0x00 }, // ASCII - 30 |
{ 0x06,0x0E,0x3E,0x0E,0x06,0x00 }, // ASCII - 31 |
{ 0x00,0x00,0x00,0x00,0x00,0x00 }, // ASCII - 32 |
{ 0x00,0x00,0x5F,0x00,0x00,0x00 }, // ASCII - 33 |
{ 0x00,0x07,0x00,0x07,0x00,0x00 }, // ASCII - 34 |
{ 0x14,0x7F,0x14,0x7F,0x14,0x00 }, // ASCII - 35 |
{ 0x24,0x2A,0x7F,0x2A,0x12,0x00 }, // ASCII - 36 |
{ 0x23,0x13,0x08,0x64,0x62,0x00 }, // ASCII - 37 |
{ 0x36,0x49,0x56,0x20,0x50,0x00 }, // ASCII - 38 |
{ 0x00,0x08,0x07,0x03,0x00,0x00 }, // ASCII - 39 |
{ 0x00,0x1C,0x22,0x41,0x00,0x00 }, // ASCII - 40 |
{ 0x00,0x41,0x22,0x1C,0x00,0x00 }, // ASCII - 41 |
{ 0x2A,0x1C,0x7F,0x1C,0x2A,0x00 }, // ASCII - 42 |
{ 0x08,0x08,0x3E,0x08,0x08,0x00 }, // ASCII - 43 |
{ 0x00,0x80,0x70,0x30,0x00,0x00 }, // ASCII - 44 |
{ 0x08,0x08,0x08,0x08,0x08,0x00 }, // ASCII - 45 |
{ 0x00,0x00,0x60,0x60,0x00,0x00 }, // ASCII - 46 |
{ 0x20,0x10,0x08,0x04,0x02,0x00 }, // ASCII - 47 |
{ 0x3E,0x51,0x49,0x45,0x3E,0x00 }, // ASCII - 48 |
{ 0x00,0x42,0x7F,0x40,0x00,0x00 }, // ASCII - 49 |
{ 0x72,0x49,0x49,0x49,0x46,0x00 }, // ASCII - 50 |
{ 0x21,0x41,0x49,0x4D,0x33,0x00 }, // ASCII - 51 |
{ 0x18,0x14,0x12,0x7F,0x10,0x00 }, // ASCII - 52 |
{ 0x27,0x45,0x45,0x45,0x39,0x00 }, // ASCII - 53 |
{ 0x3C,0x4A,0x49,0x49,0x31,0x00 }, // ASCII - 54 |
{ 0x41,0x21,0x11,0x09,0x07,0x00 }, // ASCII - 55 |
{ 0x36,0x49,0x49,0x49,0x36,0x00 }, // ASCII - 56 |
{ 0x46,0x49,0x49,0x29,0x1E,0x00 }, // ASCII - 57 |
{ 0x00,0x00,0x14,0x00,0x00,0x00 }, // ASCII - 58 |
{ 0x00,0x40,0x34,0x00,0x00,0x00 }, // ASCII - 59 |
{ 0x00,0x08,0x14,0x22,0x41,0x00 }, // ASCII - 60 |
{ 0x14,0x14,0x14,0x14,0x14,0x00 }, // ASCII - 61 |
{ 0x00,0x41,0x22,0x14,0x08,0x00 }, // ASCII - 62 |
{ 0x02,0x01,0x59,0x09,0x06,0x00 }, // ASCII - 63 |
{ 0x3E,0x41,0x5D,0x59,0x4E,0x00 }, // ASCII - 64 |
{ 0x7C,0x12,0x11,0x12,0x7C,0x00 }, // ASCII - 65 |
{ 0x7F,0x49,0x49,0x49,0x36,0x00 }, // ASCII - 66 |
{ 0x3E,0x41,0x41,0x41,0x22,0x00 }, // ASCII - 67 |
{ 0x7F,0x41,0x41,0x41,0x3E,0x00 }, // ASCII - 68 |
{ 0x7F,0x49,0x49,0x49,0x41,0x00 }, // ASCII - 69 |
{ 0x7F,0x09,0x09,0x09,0x01,0x00 }, // ASCII - 70 |
{ 0x3E,0x41,0x41,0x51,0x73,0x00 }, // ASCII - 71 |
{ 0x7F,0x08,0x08,0x08,0x7F,0x00 }, // ASCII - 72 |
{ 0x00,0x41,0x7F,0x41,0x00,0x00 }, // ASCII - 73 |
{ 0x20,0x40,0x41,0x3F,0x01,0x00 }, // ASCII - 74 |
{ 0x7F,0x08,0x14,0x22,0x41,0x00 }, // ASCII - 75 |
{ 0x7F,0x40,0x40,0x40,0x40,0x00 }, // ASCII - 76 |
{ 0x7F,0x02,0x1C,0x02,0x7F,0x00 }, // ASCII - 77 |
{ 0x7F,0x04,0x08,0x10,0x7F,0x00 }, // ASCII - 78 |
{ 0x3E,0x41,0x41,0x41,0x3E,0x00 }, // ASCII - 79 |
{ 0x7F,0x09,0x09,0x09,0x06,0x00 }, // ASCII - 80 |
{ 0x3E,0x41,0x51,0x21,0x5E,0x00 }, // ASCII - 81 |
{ 0x7F,0x09,0x19,0x29,0x46,0x00 }, // ASCII - 82 |
{ 0x26,0x49,0x49,0x49,0x32,0x00 }, // ASCII - 83 |
{ 0x03,0x01,0x7F,0x01,0x03,0x00 }, // ASCII - 84 |
{ 0x3F,0x40,0x40,0x40,0x3F,0x00 }, // ASCII - 85 |
{ 0x1F,0x20,0x40,0x20,0x1F,0x00 }, // ASCII - 86 |
{ 0x3F,0x40,0x38,0x40,0x3F,0x00 }, // ASCII - 87 |
{ 0x63,0x14,0x08,0x14,0x63,0x00 }, // ASCII - 88 |
{ 0x03,0x04,0x78,0x04,0x03,0x00 }, // ASCII - 89 |
{ 0x61,0x59,0x49,0x4D,0x43,0x00 }, // ASCII - 90 |
{ 0x00,0x7F,0x41,0x41,0x41,0x00 }, // ASCII - 91 |
{ 0x02,0x04,0x08,0x10,0x20,0x00 }, // ASCII - 92 |
{ 0x00,0x41,0x41,0x41,0x7F,0x00 }, // ASCII - 93 |
{ 0x04,0x02,0x01,0x02,0x04,0x00 }, // ASCII - 94 |
{ 0x40,0x40,0x40,0x40,0x40,0x00 }, // ASCII - 95 |
{ 0x00,0x03,0x07,0x08,0x00,0x00 }, // ASCII - 96 |
{ 0x20,0x54,0x54,0x78,0x40,0x00 }, // ASCII - 97 |
{ 0x7F,0x28,0x44,0x44,0x38,0x00 }, // ASCII - 98 |
{ 0x38,0x44,0x44,0x44,0x28,0x00 }, // ASCII - 99 |
{ 0x38,0x44,0x44,0x28,0x7F,0x00 }, // ASCII - 100 |
{ 0x38,0x54,0x54,0x54,0x18,0x00 }, // ASCII - 101 |
{ 0x00,0x08,0x7E,0x09,0x02,0x00 }, // ASCII - 102 |
{ 0x18,0xA4,0xA4,0x9C,0x78,0x00 }, // ASCII - 103 |
{ 0x7F,0x08,0x04,0x04,0x78,0x00 }, // ASCII - 104 |
{ 0x00,0x44,0x7D,0x40,0x00,0x00 }, // ASCII - 105 |
{ 0x20,0x40,0x40,0x3D,0x00,0x00 }, // ASCII - 106 |
{ 0x7F,0x10,0x28,0x44,0x00,0x00 }, // ASCII - 107 |
{ 0x00,0x41,0x7F,0x40,0x00,0x00 }, // ASCII - 108 |
{ 0x7C,0x04,0x78,0x04,0x78,0x00 }, // ASCII - 109 |
{ 0x7C,0x08,0x04,0x04,0x78,0x00 }, // ASCII - 110 |
{ 0x38,0x44,0x44,0x44,0x38,0x00 }, // ASCII - 111 |
{ 0xFC,0x18,0x24,0x24,0x18,0x00 }, // ASCII - 112 |
{ 0x18,0x24,0x24,0x18,0xFC,0x00 }, // ASCII - 113 |
{ 0x7C,0x08,0x04,0x04,0x08,0x00 }, // ASCII - 114 |
{ 0x48,0x54,0x54,0x54,0x24,0x00 }, // ASCII - 115 |
{ 0x04,0x04,0x3F,0x44,0x24,0x00 }, // ASCII - 116 |
{ 0x3C,0x40,0x40,0x20,0x7C,0x00 }, // ASCII - 117 |
{ 0x1C,0x20,0x40,0x20,0x1C,0x00 }, // ASCII - 118 |
{ 0x3C,0x40,0x30,0x40,0x3C,0x00 }, // ASCII - 119 |
{ 0x44,0x28,0x10,0x28,0x44,0x00 }, // ASCII - 120 |
{ 0x4C,0x90,0x90,0x90,0x7C,0x00 }, // ASCII - 121 |
{ 0x44,0x64,0x54,0x4C,0x44,0x00 }, // ASCII - 122 |
{ 0x00,0x08,0x36,0x41,0x00,0x00 }, // ASCII - 123 |
{ 0x00,0x00,0x77,0x00,0x00,0x00 }, // ASCII - 124 |
{ 0x00,0x41,0x36,0x08,0x00,0x00 }, // ASCII - 125 |
{ 0x02,0x01,0x02,0x04,0x02,0x00 }, // ASCII - 126 |
{ 0x3C,0x26,0x23,0x26,0x3C,0x00 }, // ASCII - 127 |
{ 0x1E,0xA1,0xA1,0x61,0x12,0x00 }, // ASCII - 128 80 |
{ 0x3A,0x40,0x40,0x20,0x7A,0x00 }, // ASCII - 129 |
{ 0x38,0x54,0x54,0x55,0x59,0x00 }, // ASCII - 130 |
{ 0x21,0x55,0x55,0x79,0x41,0x00 }, // ASCII - 131 |
{ 0x21,0x54,0x54,0x78,0x41,0x00 }, // ASCII - 132 |
{ 0x21,0x55,0x54,0x78,0x40,0x00 }, // ASCII - 133 |
{ 0x20,0x54,0x55,0x79,0x40,0x00 }, // ASCII - 134 |
{ 0x0C,0x1E,0x52,0x72,0x12,0x00 }, // ASCII - 135 |
{ 0x39,0x55,0x55,0x55,0x59,0x00 }, // ASCII - 136 |
{ 0x39,0x54,0x54,0x54,0x59,0x00 }, // ASCII - 137 |
{ 0x39,0x55,0x54,0x54,0x58,0x00 }, // ASCII - 138 |
{ 0x00,0x00,0x45,0x7C,0x41,0x00 }, // ASCII - 139 |
{ 0x00,0x02,0x45,0x7D,0x42,0x00 }, // ASCII - 140 |
{ 0x00,0x01,0x45,0x7C,0x40,0x00 }, // ASCII - 141 |
// { 0xF0,0x29,0x24,0x29,0xF0,0x00 }, // ASCII - 142 Ä |
{ 0x79,0x14,0x12,0x14,0x79,0x00 }, // ASCII - 142 Ä korrigiert |
{ 0xF0,0x28,0x25,0x28,0xF0,0x00 }, // ASCII - 143 |
{ 0x7C,0x54,0x55,0x45,0x00,0x00 }, // ASCII - 144 90 |
{ 0x20,0x54,0x54,0x7C,0x54,0x44 }, // ASCII - 145 |
{ 0x7C,0x0A,0x09,0x7F,0x49,0x41 }, // ASCII - 146 |
{ 0x32,0x49,0x49,0x49,0x32,0x00 }, // ASCII - 147 |
{ 0x32,0x48,0x48,0x48,0x32,0x00 }, // ASCII - 148 |
{ 0x32,0x4A,0x48,0x48,0x30,0x00 }, // ASCII - 149 |
{ 0x3A,0x41,0x41,0x21,0x7A,0x00 }, // ASCII - 150 |
{ 0x3A,0x42,0x40,0x20,0x78,0x00 }, // ASCII - 151 |
{ 0x00,0x9D,0xA0,0xA0,0x7D,0x00 }, // ASCII - 152 |
{ 0x39,0x44,0x44,0x44,0x39,0x00 }, // ASCII - 153 |
{ 0x3D,0x40,0x40,0x40,0x3D,0x00 }, // ASCII - 154 |
{ 0x3C,0x24,0xFF,0x24,0x24,0x00 }, // ASCII - 155 |
{ 0x48,0x7E,0x49,0x43,0x66,0x00 }, // ASCII - 156 |
{ 0x2B,0x2F,0xFC,0x2F,0x2B,0x00 }, // ASCII - 157 |
{ 0xFF,0x09,0x29,0xF6,0x20,0x00 }, // ASCII - 158 |
{ 0xC0,0x88,0x7E,0x09,0x03,0x00 }, // ASCII - 159 |
{ 0x20,0x54,0x54,0x79,0x41,0x00 }, // ASCII - 160 |
{ 0x00,0x00,0x44,0x7D,0x41,0x00 }, // ASCII - 161 |
{ 0x30,0x48,0x48,0x4A,0x32,0x00 }, // ASCII - 162 |
{ 0x38,0x40,0x40,0x22,0x7A,0x00 }, // ASCII - 163 |
{ 0x00,0x7A,0x0A,0x0A,0x72,0x00 }, // ASCII - 164 |
{ 0x7D,0x0D,0x19,0x31,0x7D,0x00 }, // ASCII - 165 |
{ 0x26,0x29,0x29,0x2F,0x28,0x00 }, // ASCII - 166 |
{ 0x26,0x29,0x29,0x29,0x26,0x00 }, // ASCII - 167 |
{ 0x30,0x48,0x4D,0x40,0x20,0x00 }, // ASCII - 168 |
{ 0x38,0x08,0x08,0x08,0x08,0x00 }, // ASCII - 169 |
{ 0x08,0x08,0x08,0x08,0x38,0x00 }, // ASCII - 170 |
{ 0x2F,0x10,0xC8,0xAC,0xBA,0x00 }, // ASCII - 171 |
{ 0x2F,0x10,0x28,0x34,0xFA,0x00 }, // ASCII - 172 |
{ 0x00,0x00,0x7B,0x00,0x00,0x00 }, // ASCII - 173 |
{ 0x08,0x14,0x2A,0x14,0x22,0x00 }, // ASCII - 174 |
{ 0x22,0x14,0x2A,0x14,0x08,0x00 }, // ASCII - 175 |
{ 0xAA,0x00,0x55,0x00,0xAA,0x00 }, // ASCII - 176 |
{ 0xAA,0x55,0xAA,0x55,0xAA,0x55 }, // ASCII - 177 |
{ 0x55,0xAA,0x55,0xAA,0x55,0xAA }, // ASCII - 178 |
{ 0x00,0x00,0x00,0xFF,0x00,0x00 }, // ASCII - 179 |
{ 0x10,0x10,0x10,0xFF,0x00,0x00 }, // ASCII - 180 |
{ 0x14,0x14,0x14,0xFF,0x00,0x00 }, // ASCII - 181 |
{ 0x10,0x10,0xFF,0x00,0xFF,0x00 }, // ASCII - 182 |
{ 0x10,0x10,0xF0,0x10,0xF0,0x00 }, // ASCII - 183 |
{ 0x14,0x14,0x14,0xFC,0x00,0x00 }, // ASCII - 184 |
{ 0x14,0x14,0xF7,0x00,0xFF,0x00 }, // ASCII - 185 |
{ 0x00,0x00,0xFF,0x00,0xFF,0x00 }, // ASCII - 186 |
{ 0x14,0x14,0xF4,0x04,0xFC,0x00 }, // ASCII - 187 |
{ 0x14,0x14,0x17,0x10,0x1F,0x00 }, // ASCII - 188 |
{ 0x10,0x10,0x1F,0x10,0x1F,0x00 }, // ASCII - 189 |
{ 0x14,0x14,0x14,0x1F,0x00,0x00 }, // ASCII - 190 |
{ 0x10,0x10,0x10,0xF0,0x00,0x00 }, // ASCII - 191 |
{ 0x00,0x00,0x00,0x1F,0x10,0x10 }, // ASCII - 192 |
{ 0x10,0x10,0x10,0x1F,0x10,0x10 }, // ASCII - 193 |
{ 0x10,0x10,0x10,0xF0,0x10,0x10 }, // ASCII - 194 |
{ 0x00,0x00,0x00,0xFF,0x10,0x10 }, // ASCII - 195 |
{ 0x10,0x10,0x10,0x10,0x10,0x10 }, // ASCII - 196 |
{ 0x10,0x10,0x10,0xFF,0x10,0x10 }, // ASCII - 197 |
{ 0x00,0x00,0x00,0xFF,0x14,0x14 }, // ASCII - 198 |
{ 0x00,0x00,0xFF,0x00,0xFF,0x10 }, // ASCII - 199 |
{ 0x00,0x00,0x1F,0x10,0x17,0x14 }, // ASCII - 200 |
{ 0x00,0x00,0xFC,0x04,0xF4,0x14 }, // ASCII - 201 |
{ 0x14,0x14,0x17,0x10,0x17,0x14 }, // ASCII - 202 |
{ 0x14,0x14,0xF4,0x04,0xF4,0x14 }, // ASCII - 203 |
{ 0x00,0x00,0xFF,0x00,0xF7,0x14 }, // ASCII - 204 |
{ 0x14,0x14,0x14,0x14,0x14,0x14 }, // ASCII - 205 |
{ 0x14,0x14,0xF7,0x00,0xF7,0x14 }, // ASCII - 206 |
{ 0x14,0x14,0x14,0x17,0x14,0x14 }, // ASCII - 207 |
{ 0x10,0x10,0x1F,0x10,0x1F,0x10 }, // ASCII - 208 |
{ 0x14,0x14,0x14,0xF4,0x14,0x14 }, // ASCII - 209 |
{ 0x10,0x10,0xF0,0x10,0xF0,0x10 }, // ASCII - 210 |
{ 0x00,0x00,0x1F,0x10,0x1F,0x10 }, // ASCII - 211 |
{ 0x00,0x00,0x00,0x1F,0x14,0x14 }, // ASCII - 212 |
{ 0x00,0x00,0x00,0xFC,0x14,0x14 }, // ASCII - 213 |
{ 0x00,0x00,0xF0,0x10,0xF0,0x10 }, // ASCII - 214 |
{ 0x10,0x10,0xFF,0x10,0xFF,0x10 }, // ASCII - 215 |
{ 0x14,0x14,0x14,0xFF,0x14,0x14 }, // ASCII - 216 |
{ 0x10,0x10,0x10,0x1F,0x00,0x00 }, // ASCII - 217 |
{ 0x00,0x00,0x00,0xF0,0x10,0x10 }, // ASCII - 218 |
{ 0xFF,0xFF,0xFF,0xFF,0xFF,0xFF }, // ASCII - 219 |
{ 0xF0,0xF0,0xF0,0xF0,0xF0,0xF0 }, // ASCII - 220 |
{ 0xFF,0xFF,0xFF,0x00,0x00,0x00 }, // ASCII - 221 |
{ 0x00,0x00,0x00,0xFF,0xFF,0xFF }, // ASCII - 222 |
{ 0x0F,0x0F,0x0F,0x0F,0x0F,0x0F }, // ASCII - 223 |
{ 0x38,0x44,0x44,0x38,0x44,0x00 }, // ASCII - 224 |
{ 0x7C,0x2A,0x2A,0x3E,0x14,0x00 }, // ASCII - 225 |
{ 0x7E,0x02,0x02,0x06,0x06,0x00 }, // ASCII - 226 |
{ 0x02,0x7E,0x02,0x7E,0x02,0x00 }, // ASCII - 227 |
{ 0x63,0x55,0x49,0x41,0x63,0x00 }, // ASCII - 228 |
{ 0x38,0x44,0x44,0x3C,0x04,0x00 }, // ASCII - 229 |
{ 0x40,0x7E,0x20,0x1E,0x20,0x00 }, // ASCII - 230 |
{ 0x06,0x02,0x7E,0x02,0x02,0x00 }, // ASCII - 231 |
{ 0x99,0xA5,0xE7,0xA5,0x99,0x00 }, // ASCII - 232 |
{ 0x1C,0x2A,0x49,0x2A,0x1C,0x00 }, // ASCII - 233 |
{ 0x4C,0x72,0x01,0x72,0x4C,0x00 }, // ASCII - 234 |
{ 0x30,0x4A,0x4D,0x4D,0x30,0x00 }, // ASCII - 235 |
{ 0x30,0x48,0x78,0x48,0x30,0x00 }, // ASCII - 236 |
{ 0xBC,0x62,0x5A,0x46,0x3D,0x00 }, // ASCII - 237 |
{ 0x3E,0x49,0x49,0x49,0x00,0x00 }, // ASCII - 238 |
{ 0x7E,0x01,0x01,0x01,0x7E,0x00 }, // ASCII - 239 |
{ 0x2A,0x2A,0x2A,0x2A,0x2A,0x00 }, // ASCII - 240 |
{ 0x44,0x44,0x5F,0x44,0x44,0x00 }, // ASCII - 241 |
{ 0x40,0x51,0x4A,0x44,0x40,0x00 }, // ASCII - 242 |
{ 0x40,0x44,0x4A,0x51,0x40,0x00 }, // ASCII - 243 |
{ 0x00,0x00,0xFF,0x01,0x03,0x00 }, // ASCII - 244 |
{ 0xE0,0x80,0xFF,0x00,0x00,0x00 }, // ASCII - 245 |
{ 0x08,0x08,0x6B,0x6B,0x08,0x08 }, // ASCII - 246 |
{ 0x36,0x12,0x36,0x24,0x36,0x00 }, // ASCII - 247 |
{ 0x06,0x0F,0x09,0x0F,0x06,0x00 }, // ASCII - 248 |
{ 0x00,0x00,0x18,0x18,0x00,0x00 }, // ASCII - 249 |
{ 0x00,0x00,0x10,0x10,0x00,0x00 }, // ASCII - 250 |
{ 0x30,0x40,0xFF,0x01,0x01,0x00 }, // ASCII - 251 |
{ 0x00,0x1F,0x01,0x01,0x1E,0x00 }, // ASCII - 252 |
{ 0x00,0x19,0x1D,0x17,0x12,0x00 }, // ASCII - 253 |
{ 0x00,0x3C,0x3C,0x3C,0x3C,0x00 }, // ASCII - 254 |
{ 0x00,0x00,0x00,0x00,0x00,0x00 } // ASCII - 255 |
}; |
/************************ E n d o f F i l e ****************************/ |
/Transportables_Koptertool/trunk/V-0.1/F8X6.d |
---|
0,0 → 1,0 |
F8X6.o F8X6.d : F8X6.c |
/Transportables_Koptertool/trunk/V-0.1/F8X6.lst |
---|
0,0 → 1,1563 |
1 .file "F8X6.c" |
2 .arch atmega32 |
3 __SREG__ = 0x3f |
4 __SP_H__ = 0x3e |
5 __SP_L__ = 0x3d |
6 __tmp_reg__ = 0 |
7 __zero_reg__ = 1 |
8 .global __do_copy_data |
9 .global __do_clear_bss |
17 .Ltext0: |
18 .global f8x6 |
19 .section .progmem.data,"a",@progbits |
22 f8x6: |
23 0000 00 .byte 0 |
24 0001 00 .byte 0 |
25 0002 00 .byte 0 |
26 0003 00 .byte 0 |
27 0004 00 .byte 0 |
28 0005 00 .byte 0 |
29 0006 3E .byte 62 |
30 0007 5B .byte 91 |
31 0008 4F .byte 79 |
32 0009 5B .byte 91 |
33 000a 3E .byte 62 |
34 000b 00 .byte 0 |
35 000c 3E .byte 62 |
36 000d 6B .byte 107 |
37 000e 4F .byte 79 |
38 000f 6B .byte 107 |
39 0010 3E .byte 62 |
40 0011 00 .byte 0 |
41 0012 1C .byte 28 |
42 0013 3E .byte 62 |
43 0014 7C .byte 124 |
44 0015 3E .byte 62 |
45 0016 1C .byte 28 |
46 0017 00 .byte 0 |
47 0018 18 .byte 24 |
48 0019 3C .byte 60 |
49 001a 7E .byte 126 |
50 001b 3C .byte 60 |
51 001c 18 .byte 24 |
52 001d 00 .byte 0 |
53 001e 1C .byte 28 |
54 001f 57 .byte 87 |
55 0020 7D .byte 125 |
56 0021 57 .byte 87 |
57 0022 1C .byte 28 |
58 0023 00 .byte 0 |
59 0024 1C .byte 28 |
60 0025 5E .byte 94 |
61 0026 7F .byte 127 |
62 0027 5E .byte 94 |
63 0028 1C .byte 28 |
64 0029 00 .byte 0 |
65 002a 00 .byte 0 |
66 002b 18 .byte 24 |
67 002c 3C .byte 60 |
68 002d 18 .byte 24 |
69 002e 00 .byte 0 |
70 002f 00 .byte 0 |
71 0030 FF .byte -1 |
72 0031 E7 .byte -25 |
73 0032 C3 .byte -61 |
74 0033 E7 .byte -25 |
75 0034 FF .byte -1 |
76 0035 00 .byte 0 |
77 0036 00 .byte 0 |
78 0037 18 .byte 24 |
79 0038 24 .byte 36 |
80 0039 18 .byte 24 |
81 003a 00 .byte 0 |
82 003b 00 .byte 0 |
83 003c FF .byte -1 |
84 003d E7 .byte -25 |
85 003e DB .byte -37 |
86 003f E7 .byte -25 |
87 0040 FF .byte -1 |
88 0041 00 .byte 0 |
89 0042 30 .byte 48 |
90 0043 48 .byte 72 |
91 0044 3A .byte 58 |
92 0045 06 .byte 6 |
93 0046 0E .byte 14 |
94 0047 00 .byte 0 |
95 0048 26 .byte 38 |
96 0049 29 .byte 41 |
97 004a 79 .byte 121 |
98 004b 29 .byte 41 |
99 004c 26 .byte 38 |
100 004d 00 .byte 0 |
101 004e 40 .byte 64 |
102 004f 7F .byte 127 |
103 0050 05 .byte 5 |
104 0051 05 .byte 5 |
105 0052 07 .byte 7 |
106 0053 00 .byte 0 |
107 0054 40 .byte 64 |
108 0055 7F .byte 127 |
109 0056 05 .byte 5 |
110 0057 25 .byte 37 |
111 0058 3F .byte 63 |
112 0059 00 .byte 0 |
113 005a 5A .byte 90 |
114 005b 3C .byte 60 |
115 005c E7 .byte -25 |
116 005d 3C .byte 60 |
117 005e 5A .byte 90 |
118 005f 00 .byte 0 |
119 0060 7F .byte 127 |
120 0061 3E .byte 62 |
121 0062 1C .byte 28 |
122 0063 1C .byte 28 |
123 0064 08 .byte 8 |
124 0065 00 .byte 0 |
125 0066 08 .byte 8 |
126 0067 1C .byte 28 |
127 0068 1C .byte 28 |
128 0069 3E .byte 62 |
129 006a 7F .byte 127 |
130 006b 00 .byte 0 |
131 006c 14 .byte 20 |
132 006d 22 .byte 34 |
133 006e 7F .byte 127 |
134 006f 22 .byte 34 |
135 0070 14 .byte 20 |
136 0071 00 .byte 0 |
137 0072 5F .byte 95 |
138 0073 5F .byte 95 |
139 0074 00 .byte 0 |
140 0075 5F .byte 95 |
141 0076 5F .byte 95 |
142 0077 00 .byte 0 |
143 0078 06 .byte 6 |
144 0079 09 .byte 9 |
145 007a 7F .byte 127 |
146 007b 01 .byte 1 |
147 007c 7F .byte 127 |
148 007d 00 .byte 0 |
149 007e 00 .byte 0 |
150 007f 66 .byte 102 |
151 0080 89 .byte -119 |
152 0081 95 .byte -107 |
153 0082 6A .byte 106 |
154 0083 00 .byte 0 |
155 0084 60 .byte 96 |
156 0085 60 .byte 96 |
157 0086 60 .byte 96 |
158 0087 60 .byte 96 |
159 0088 60 .byte 96 |
160 0089 60 .byte 96 |
161 008a 94 .byte -108 |
162 008b A2 .byte -94 |
163 008c FF .byte -1 |
164 008d A2 .byte -94 |
165 008e 94 .byte -108 |
166 008f 00 .byte 0 |
167 0090 08 .byte 8 |
168 0091 04 .byte 4 |
169 0092 7E .byte 126 |
170 0093 04 .byte 4 |
171 0094 08 .byte 8 |
172 0095 00 .byte 0 |
173 0096 10 .byte 16 |
174 0097 20 .byte 32 |
175 0098 7E .byte 126 |
176 0099 20 .byte 32 |
177 009a 10 .byte 16 |
178 009b 00 .byte 0 |
179 009c 08 .byte 8 |
180 009d 08 .byte 8 |
181 009e 2A .byte 42 |
182 009f 1C .byte 28 |
183 00a0 08 .byte 8 |
184 00a1 00 .byte 0 |
185 00a2 08 .byte 8 |
186 00a3 1C .byte 28 |
187 00a4 2A .byte 42 |
188 00a5 08 .byte 8 |
189 00a6 08 .byte 8 |
190 00a7 00 .byte 0 |
191 00a8 1E .byte 30 |
192 00a9 10 .byte 16 |
193 00aa 10 .byte 16 |
194 00ab 10 .byte 16 |
195 00ac 10 .byte 16 |
196 00ad 00 .byte 0 |
197 00ae 0C .byte 12 |
198 00af 1E .byte 30 |
199 00b0 0C .byte 12 |
200 00b1 1E .byte 30 |
201 00b2 0C .byte 12 |
202 00b3 00 .byte 0 |
203 00b4 30 .byte 48 |
204 00b5 38 .byte 56 |
205 00b6 3E .byte 62 |
206 00b7 38 .byte 56 |
207 00b8 30 .byte 48 |
208 00b9 00 .byte 0 |
209 00ba 06 .byte 6 |
210 00bb 0E .byte 14 |
211 00bc 3E .byte 62 |
212 00bd 0E .byte 14 |
213 00be 06 .byte 6 |
214 00bf 00 .byte 0 |
215 00c0 00 .byte 0 |
216 00c1 00 .byte 0 |
217 00c2 00 .byte 0 |
218 00c3 00 .byte 0 |
219 00c4 00 .byte 0 |
220 00c5 00 .byte 0 |
221 00c6 00 .byte 0 |
222 00c7 00 .byte 0 |
223 00c8 5F .byte 95 |
224 00c9 00 .byte 0 |
225 00ca 00 .byte 0 |
226 00cb 00 .byte 0 |
227 00cc 00 .byte 0 |
228 00cd 07 .byte 7 |
229 00ce 00 .byte 0 |
230 00cf 07 .byte 7 |
231 00d0 00 .byte 0 |
232 00d1 00 .byte 0 |
233 00d2 14 .byte 20 |
234 00d3 7F .byte 127 |
235 00d4 14 .byte 20 |
236 00d5 7F .byte 127 |
237 00d6 14 .byte 20 |
238 00d7 00 .byte 0 |
239 00d8 24 .byte 36 |
240 00d9 2A .byte 42 |
241 00da 7F .byte 127 |
242 00db 2A .byte 42 |
243 00dc 12 .byte 18 |
244 00dd 00 .byte 0 |
245 00de 23 .byte 35 |
246 00df 13 .byte 19 |
247 00e0 08 .byte 8 |
248 00e1 64 .byte 100 |
249 00e2 62 .byte 98 |
250 00e3 00 .byte 0 |
251 00e4 36 .byte 54 |
252 00e5 49 .byte 73 |
253 00e6 56 .byte 86 |
254 00e7 20 .byte 32 |
255 00e8 50 .byte 80 |
256 00e9 00 .byte 0 |
257 00ea 00 .byte 0 |
258 00eb 08 .byte 8 |
259 00ec 07 .byte 7 |
260 00ed 03 .byte 3 |
261 00ee 00 .byte 0 |
262 00ef 00 .byte 0 |
263 00f0 00 .byte 0 |
264 00f1 1C .byte 28 |
265 00f2 22 .byte 34 |
266 00f3 41 .byte 65 |
267 00f4 00 .byte 0 |
268 00f5 00 .byte 0 |
269 00f6 00 .byte 0 |
270 00f7 41 .byte 65 |
271 00f8 22 .byte 34 |
272 00f9 1C .byte 28 |
273 00fa 00 .byte 0 |
274 00fb 00 .byte 0 |
275 00fc 2A .byte 42 |
276 00fd 1C .byte 28 |
277 00fe 7F .byte 127 |
278 00ff 1C .byte 28 |
279 0100 2A .byte 42 |
280 0101 00 .byte 0 |
281 0102 08 .byte 8 |
282 0103 08 .byte 8 |
283 0104 3E .byte 62 |
284 0105 08 .byte 8 |
285 0106 08 .byte 8 |
286 0107 00 .byte 0 |
287 0108 00 .byte 0 |
288 0109 80 .byte -128 |
289 010a 70 .byte 112 |
290 010b 30 .byte 48 |
291 010c 00 .byte 0 |
292 010d 00 .byte 0 |
293 010e 08 .byte 8 |
294 010f 08 .byte 8 |
295 0110 08 .byte 8 |
296 0111 08 .byte 8 |
297 0112 08 .byte 8 |
298 0113 00 .byte 0 |
299 0114 00 .byte 0 |
300 0115 00 .byte 0 |
301 0116 60 .byte 96 |
302 0117 60 .byte 96 |
303 0118 00 .byte 0 |
304 0119 00 .byte 0 |
305 011a 20 .byte 32 |
306 011b 10 .byte 16 |
307 011c 08 .byte 8 |
308 011d 04 .byte 4 |
309 011e 02 .byte 2 |
310 011f 00 .byte 0 |
311 0120 3E .byte 62 |
312 0121 51 .byte 81 |
313 0122 49 .byte 73 |
314 0123 45 .byte 69 |
315 0124 3E .byte 62 |
316 0125 00 .byte 0 |
317 0126 00 .byte 0 |
318 0127 42 .byte 66 |
319 0128 7F .byte 127 |
320 0129 40 .byte 64 |
321 012a 00 .byte 0 |
322 012b 00 .byte 0 |
323 012c 72 .byte 114 |
324 012d 49 .byte 73 |
325 012e 49 .byte 73 |
326 012f 49 .byte 73 |
327 0130 46 .byte 70 |
328 0131 00 .byte 0 |
329 0132 21 .byte 33 |
330 0133 41 .byte 65 |
331 0134 49 .byte 73 |
332 0135 4D .byte 77 |
333 0136 33 .byte 51 |
334 0137 00 .byte 0 |
335 0138 18 .byte 24 |
336 0139 14 .byte 20 |
337 013a 12 .byte 18 |
338 013b 7F .byte 127 |
339 013c 10 .byte 16 |
340 013d 00 .byte 0 |
341 013e 27 .byte 39 |
342 013f 45 .byte 69 |
343 0140 45 .byte 69 |
344 0141 45 .byte 69 |
345 0142 39 .byte 57 |
346 0143 00 .byte 0 |
347 0144 3C .byte 60 |
348 0145 4A .byte 74 |
349 0146 49 .byte 73 |
350 0147 49 .byte 73 |
351 0148 31 .byte 49 |
352 0149 00 .byte 0 |
353 014a 41 .byte 65 |
354 014b 21 .byte 33 |
355 014c 11 .byte 17 |
356 014d 09 .byte 9 |
357 014e 07 .byte 7 |
358 014f 00 .byte 0 |
359 0150 36 .byte 54 |
360 0151 49 .byte 73 |
361 0152 49 .byte 73 |
362 0153 49 .byte 73 |
363 0154 36 .byte 54 |
364 0155 00 .byte 0 |
365 0156 46 .byte 70 |
366 0157 49 .byte 73 |
367 0158 49 .byte 73 |
368 0159 29 .byte 41 |
369 015a 1E .byte 30 |
370 015b 00 .byte 0 |
371 015c 00 .byte 0 |
372 015d 00 .byte 0 |
373 015e 14 .byte 20 |
374 015f 00 .byte 0 |
375 0160 00 .byte 0 |
376 0161 00 .byte 0 |
377 0162 00 .byte 0 |
378 0163 40 .byte 64 |
379 0164 34 .byte 52 |
380 0165 00 .byte 0 |
381 0166 00 .byte 0 |
382 0167 00 .byte 0 |
383 0168 00 .byte 0 |
384 0169 08 .byte 8 |
385 016a 14 .byte 20 |
386 016b 22 .byte 34 |
387 016c 41 .byte 65 |
388 016d 00 .byte 0 |
389 016e 14 .byte 20 |
390 016f 14 .byte 20 |
391 0170 14 .byte 20 |
392 0171 14 .byte 20 |
393 0172 14 .byte 20 |
394 0173 00 .byte 0 |
395 0174 00 .byte 0 |
396 0175 41 .byte 65 |
397 0176 22 .byte 34 |
398 0177 14 .byte 20 |
399 0178 08 .byte 8 |
400 0179 00 .byte 0 |
401 017a 02 .byte 2 |
402 017b 01 .byte 1 |
403 017c 59 .byte 89 |
404 017d 09 .byte 9 |
405 017e 06 .byte 6 |
406 017f 00 .byte 0 |
407 0180 3E .byte 62 |
408 0181 41 .byte 65 |
409 0182 5D .byte 93 |
410 0183 59 .byte 89 |
411 0184 4E .byte 78 |
412 0185 00 .byte 0 |
413 0186 7C .byte 124 |
414 0187 12 .byte 18 |
415 0188 11 .byte 17 |
416 0189 12 .byte 18 |
417 018a 7C .byte 124 |
418 018b 00 .byte 0 |
419 018c 7F .byte 127 |
420 018d 49 .byte 73 |
421 018e 49 .byte 73 |
422 018f 49 .byte 73 |
423 0190 36 .byte 54 |
424 0191 00 .byte 0 |
425 0192 3E .byte 62 |
426 0193 41 .byte 65 |
427 0194 41 .byte 65 |
428 0195 41 .byte 65 |
429 0196 22 .byte 34 |
430 0197 00 .byte 0 |
431 0198 7F .byte 127 |
432 0199 41 .byte 65 |
433 019a 41 .byte 65 |
434 019b 41 .byte 65 |
435 019c 3E .byte 62 |
436 019d 00 .byte 0 |
437 019e 7F .byte 127 |
438 019f 49 .byte 73 |
439 01a0 49 .byte 73 |
440 01a1 49 .byte 73 |
441 01a2 41 .byte 65 |
442 01a3 00 .byte 0 |
443 01a4 7F .byte 127 |
444 01a5 09 .byte 9 |
445 01a6 09 .byte 9 |
446 01a7 09 .byte 9 |
447 01a8 01 .byte 1 |
448 01a9 00 .byte 0 |
449 01aa 3E .byte 62 |
450 01ab 41 .byte 65 |
451 01ac 41 .byte 65 |
452 01ad 51 .byte 81 |
453 01ae 73 .byte 115 |
454 01af 00 .byte 0 |
455 01b0 7F .byte 127 |
456 01b1 08 .byte 8 |
457 01b2 08 .byte 8 |
458 01b3 08 .byte 8 |
459 01b4 7F .byte 127 |
460 01b5 00 .byte 0 |
461 01b6 00 .byte 0 |
462 01b7 41 .byte 65 |
463 01b8 7F .byte 127 |
464 01b9 41 .byte 65 |
465 01ba 00 .byte 0 |
466 01bb 00 .byte 0 |
467 01bc 20 .byte 32 |
468 01bd 40 .byte 64 |
469 01be 41 .byte 65 |
470 01bf 3F .byte 63 |
471 01c0 01 .byte 1 |
472 01c1 00 .byte 0 |
473 01c2 7F .byte 127 |
474 01c3 08 .byte 8 |
475 01c4 14 .byte 20 |
476 01c5 22 .byte 34 |
477 01c6 41 .byte 65 |
478 01c7 00 .byte 0 |
479 01c8 7F .byte 127 |
480 01c9 40 .byte 64 |
481 01ca 40 .byte 64 |
482 01cb 40 .byte 64 |
483 01cc 40 .byte 64 |
484 01cd 00 .byte 0 |
485 01ce 7F .byte 127 |
486 01cf 02 .byte 2 |
487 01d0 1C .byte 28 |
488 01d1 02 .byte 2 |
489 01d2 7F .byte 127 |
490 01d3 00 .byte 0 |
491 01d4 7F .byte 127 |
492 01d5 04 .byte 4 |
493 01d6 08 .byte 8 |
494 01d7 10 .byte 16 |
495 01d8 7F .byte 127 |
496 01d9 00 .byte 0 |
497 01da 3E .byte 62 |
498 01db 41 .byte 65 |
499 01dc 41 .byte 65 |
500 01dd 41 .byte 65 |
501 01de 3E .byte 62 |
502 01df 00 .byte 0 |
503 01e0 7F .byte 127 |
504 01e1 09 .byte 9 |
505 01e2 09 .byte 9 |
506 01e3 09 .byte 9 |
507 01e4 06 .byte 6 |
508 01e5 00 .byte 0 |
509 01e6 3E .byte 62 |
510 01e7 41 .byte 65 |
511 01e8 51 .byte 81 |
512 01e9 21 .byte 33 |
513 01ea 5E .byte 94 |
514 01eb 00 .byte 0 |
515 01ec 7F .byte 127 |
516 01ed 09 .byte 9 |
517 01ee 19 .byte 25 |
518 01ef 29 .byte 41 |
519 01f0 46 .byte 70 |
520 01f1 00 .byte 0 |
521 01f2 26 .byte 38 |
522 01f3 49 .byte 73 |
523 01f4 49 .byte 73 |
524 01f5 49 .byte 73 |
525 01f6 32 .byte 50 |
526 01f7 00 .byte 0 |
527 01f8 03 .byte 3 |
528 01f9 01 .byte 1 |
529 01fa 7F .byte 127 |
530 01fb 01 .byte 1 |
531 01fc 03 .byte 3 |
532 01fd 00 .byte 0 |
533 01fe 3F .byte 63 |
534 01ff 40 .byte 64 |
535 0200 40 .byte 64 |
536 0201 40 .byte 64 |
537 0202 3F .byte 63 |
538 0203 00 .byte 0 |
539 0204 1F .byte 31 |
540 0205 20 .byte 32 |
541 0206 40 .byte 64 |
542 0207 20 .byte 32 |
543 0208 1F .byte 31 |
544 0209 00 .byte 0 |
545 020a 3F .byte 63 |
546 020b 40 .byte 64 |
547 020c 38 .byte 56 |
548 020d 40 .byte 64 |
549 020e 3F .byte 63 |
550 020f 00 .byte 0 |
551 0210 63 .byte 99 |
552 0211 14 .byte 20 |
553 0212 08 .byte 8 |
554 0213 14 .byte 20 |
555 0214 63 .byte 99 |
556 0215 00 .byte 0 |
557 0216 03 .byte 3 |
558 0217 04 .byte 4 |
559 0218 78 .byte 120 |
560 0219 04 .byte 4 |
561 021a 03 .byte 3 |
562 021b 00 .byte 0 |
563 021c 61 .byte 97 |
564 021d 59 .byte 89 |
565 021e 49 .byte 73 |
566 021f 4D .byte 77 |
567 0220 43 .byte 67 |
568 0221 00 .byte 0 |
569 0222 00 .byte 0 |
570 0223 7F .byte 127 |
571 0224 41 .byte 65 |
572 0225 41 .byte 65 |
573 0226 41 .byte 65 |
574 0227 00 .byte 0 |
575 0228 02 .byte 2 |
576 0229 04 .byte 4 |
577 022a 08 .byte 8 |
578 022b 10 .byte 16 |
579 022c 20 .byte 32 |
580 022d 00 .byte 0 |
581 022e 00 .byte 0 |
582 022f 41 .byte 65 |
583 0230 41 .byte 65 |
584 0231 41 .byte 65 |
585 0232 7F .byte 127 |
586 0233 00 .byte 0 |
587 0234 04 .byte 4 |
588 0235 02 .byte 2 |
589 0236 01 .byte 1 |
590 0237 02 .byte 2 |
591 0238 04 .byte 4 |
592 0239 00 .byte 0 |
593 023a 40 .byte 64 |
594 023b 40 .byte 64 |
595 023c 40 .byte 64 |
596 023d 40 .byte 64 |
597 023e 40 .byte 64 |
598 023f 00 .byte 0 |
599 0240 00 .byte 0 |
600 0241 03 .byte 3 |
601 0242 07 .byte 7 |
602 0243 08 .byte 8 |
603 0244 00 .byte 0 |
604 0245 00 .byte 0 |
605 0246 20 .byte 32 |
606 0247 54 .byte 84 |
607 0248 54 .byte 84 |
608 0249 78 .byte 120 |
609 024a 40 .byte 64 |
610 024b 00 .byte 0 |
611 024c 7F .byte 127 |
612 024d 28 .byte 40 |
613 024e 44 .byte 68 |
614 024f 44 .byte 68 |
615 0250 38 .byte 56 |
616 0251 00 .byte 0 |
617 0252 38 .byte 56 |
618 0253 44 .byte 68 |
619 0254 44 .byte 68 |
620 0255 44 .byte 68 |
621 0256 28 .byte 40 |
622 0257 00 .byte 0 |
623 0258 38 .byte 56 |
624 0259 44 .byte 68 |
625 025a 44 .byte 68 |
626 025b 28 .byte 40 |
627 025c 7F .byte 127 |
628 025d 00 .byte 0 |
629 025e 38 .byte 56 |
630 025f 54 .byte 84 |
631 0260 54 .byte 84 |
632 0261 54 .byte 84 |
633 0262 18 .byte 24 |
634 0263 00 .byte 0 |
635 0264 00 .byte 0 |
636 0265 08 .byte 8 |
637 0266 7E .byte 126 |
638 0267 09 .byte 9 |
639 0268 02 .byte 2 |
640 0269 00 .byte 0 |
641 026a 18 .byte 24 |
642 026b A4 .byte -92 |
643 026c A4 .byte -92 |
644 026d 9C .byte -100 |
645 026e 78 .byte 120 |
646 026f 00 .byte 0 |
647 0270 7F .byte 127 |
648 0271 08 .byte 8 |
649 0272 04 .byte 4 |
650 0273 04 .byte 4 |
651 0274 78 .byte 120 |
652 0275 00 .byte 0 |
653 0276 00 .byte 0 |
654 0277 44 .byte 68 |
655 0278 7D .byte 125 |
656 0279 40 .byte 64 |
657 027a 00 .byte 0 |
658 027b 00 .byte 0 |
659 027c 20 .byte 32 |
660 027d 40 .byte 64 |
661 027e 40 .byte 64 |
662 027f 3D .byte 61 |
663 0280 00 .byte 0 |
664 0281 00 .byte 0 |
665 0282 7F .byte 127 |
666 0283 10 .byte 16 |
667 0284 28 .byte 40 |
668 0285 44 .byte 68 |
669 0286 00 .byte 0 |
670 0287 00 .byte 0 |
671 0288 00 .byte 0 |
672 0289 41 .byte 65 |
673 028a 7F .byte 127 |
674 028b 40 .byte 64 |
675 028c 00 .byte 0 |
676 028d 00 .byte 0 |
677 028e 7C .byte 124 |
678 028f 04 .byte 4 |
679 0290 78 .byte 120 |
680 0291 04 .byte 4 |
681 0292 78 .byte 120 |
682 0293 00 .byte 0 |
683 0294 7C .byte 124 |
684 0295 08 .byte 8 |
685 0296 04 .byte 4 |
686 0297 04 .byte 4 |
687 0298 78 .byte 120 |
688 0299 00 .byte 0 |
689 029a 38 .byte 56 |
690 029b 44 .byte 68 |
691 029c 44 .byte 68 |
692 029d 44 .byte 68 |
693 029e 38 .byte 56 |
694 029f 00 .byte 0 |
695 02a0 FC .byte -4 |
696 02a1 18 .byte 24 |
697 02a2 24 .byte 36 |
698 02a3 24 .byte 36 |
699 02a4 18 .byte 24 |
700 02a5 00 .byte 0 |
701 02a6 18 .byte 24 |
702 02a7 24 .byte 36 |
703 02a8 24 .byte 36 |
704 02a9 18 .byte 24 |
705 02aa FC .byte -4 |
706 02ab 00 .byte 0 |
707 02ac 7C .byte 124 |
708 02ad 08 .byte 8 |
709 02ae 04 .byte 4 |
710 02af 04 .byte 4 |
711 02b0 08 .byte 8 |
712 02b1 00 .byte 0 |
713 02b2 48 .byte 72 |
714 02b3 54 .byte 84 |
715 02b4 54 .byte 84 |
716 02b5 54 .byte 84 |
717 02b6 24 .byte 36 |
718 02b7 00 .byte 0 |
719 02b8 04 .byte 4 |
720 02b9 04 .byte 4 |
721 02ba 3F .byte 63 |
722 02bb 44 .byte 68 |
723 02bc 24 .byte 36 |
724 02bd 00 .byte 0 |
725 02be 3C .byte 60 |
726 02bf 40 .byte 64 |
727 02c0 40 .byte 64 |
728 02c1 20 .byte 32 |
729 02c2 7C .byte 124 |
730 02c3 00 .byte 0 |
731 02c4 1C .byte 28 |
732 02c5 20 .byte 32 |
733 02c6 40 .byte 64 |
734 02c7 20 .byte 32 |
735 02c8 1C .byte 28 |
736 02c9 00 .byte 0 |
737 02ca 3C .byte 60 |
738 02cb 40 .byte 64 |
739 02cc 30 .byte 48 |
740 02cd 40 .byte 64 |
741 02ce 3C .byte 60 |
742 02cf 00 .byte 0 |
743 02d0 44 .byte 68 |
744 02d1 28 .byte 40 |
745 02d2 10 .byte 16 |
746 02d3 28 .byte 40 |
747 02d4 44 .byte 68 |
748 02d5 00 .byte 0 |
749 02d6 4C .byte 76 |
750 02d7 90 .byte -112 |
751 02d8 90 .byte -112 |
752 02d9 90 .byte -112 |
753 02da 7C .byte 124 |
754 02db 00 .byte 0 |
755 02dc 44 .byte 68 |
756 02dd 64 .byte 100 |
757 02de 54 .byte 84 |
758 02df 4C .byte 76 |
759 02e0 44 .byte 68 |
760 02e1 00 .byte 0 |
761 02e2 00 .byte 0 |
762 02e3 08 .byte 8 |
763 02e4 36 .byte 54 |
764 02e5 41 .byte 65 |
765 02e6 00 .byte 0 |
766 02e7 00 .byte 0 |
767 02e8 00 .byte 0 |
768 02e9 00 .byte 0 |
769 02ea 77 .byte 119 |
770 02eb 00 .byte 0 |
771 02ec 00 .byte 0 |
772 02ed 00 .byte 0 |
773 02ee 00 .byte 0 |
774 02ef 41 .byte 65 |
775 02f0 36 .byte 54 |
776 02f1 08 .byte 8 |
777 02f2 00 .byte 0 |
778 02f3 00 .byte 0 |
779 02f4 02 .byte 2 |
780 02f5 01 .byte 1 |
781 02f6 02 .byte 2 |
782 02f7 04 .byte 4 |
783 02f8 02 .byte 2 |
784 02f9 00 .byte 0 |
785 02fa 3C .byte 60 |
786 02fb 26 .byte 38 |
787 02fc 23 .byte 35 |
788 02fd 26 .byte 38 |
789 02fe 3C .byte 60 |
790 02ff 00 .byte 0 |
791 0300 1E .byte 30 |
792 0301 A1 .byte -95 |
793 0302 A1 .byte -95 |
794 0303 61 .byte 97 |
795 0304 12 .byte 18 |
796 0305 00 .byte 0 |
797 0306 3A .byte 58 |
798 0307 40 .byte 64 |
799 0308 40 .byte 64 |
800 0309 20 .byte 32 |
801 030a 7A .byte 122 |
802 030b 00 .byte 0 |
803 030c 38 .byte 56 |
804 030d 54 .byte 84 |
805 030e 54 .byte 84 |
806 030f 55 .byte 85 |
807 0310 59 .byte 89 |
808 0311 00 .byte 0 |
809 0312 21 .byte 33 |
810 0313 55 .byte 85 |
811 0314 55 .byte 85 |
812 0315 79 .byte 121 |
813 0316 41 .byte 65 |
814 0317 00 .byte 0 |
815 0318 21 .byte 33 |
816 0319 54 .byte 84 |
817 031a 54 .byte 84 |
818 031b 78 .byte 120 |
819 031c 41 .byte 65 |
820 031d 00 .byte 0 |
821 031e 21 .byte 33 |
822 031f 55 .byte 85 |
823 0320 54 .byte 84 |
824 0321 78 .byte 120 |
825 0322 40 .byte 64 |
826 0323 00 .byte 0 |
827 0324 20 .byte 32 |
828 0325 54 .byte 84 |
829 0326 55 .byte 85 |
830 0327 79 .byte 121 |
831 0328 40 .byte 64 |
832 0329 00 .byte 0 |
833 032a 0C .byte 12 |
834 032b 1E .byte 30 |
835 032c 52 .byte 82 |
836 032d 72 .byte 114 |
837 032e 12 .byte 18 |
838 032f 00 .byte 0 |
839 0330 39 .byte 57 |
840 0331 55 .byte 85 |
841 0332 55 .byte 85 |
842 0333 55 .byte 85 |
843 0334 59 .byte 89 |
844 0335 00 .byte 0 |
845 0336 39 .byte 57 |
846 0337 54 .byte 84 |
847 0338 54 .byte 84 |
848 0339 54 .byte 84 |
849 033a 59 .byte 89 |
850 033b 00 .byte 0 |
851 033c 39 .byte 57 |
852 033d 55 .byte 85 |
853 033e 54 .byte 84 |
854 033f 54 .byte 84 |
855 0340 58 .byte 88 |
856 0341 00 .byte 0 |
857 0342 00 .byte 0 |
858 0343 00 .byte 0 |
859 0344 45 .byte 69 |
860 0345 7C .byte 124 |
861 0346 41 .byte 65 |
862 0347 00 .byte 0 |
863 0348 00 .byte 0 |
864 0349 02 .byte 2 |
865 034a 45 .byte 69 |
866 034b 7D .byte 125 |
867 034c 42 .byte 66 |
868 034d 00 .byte 0 |
869 034e 00 .byte 0 |
870 034f 01 .byte 1 |
871 0350 45 .byte 69 |
872 0351 7C .byte 124 |
873 0352 40 .byte 64 |
874 0353 00 .byte 0 |
875 0354 79 .byte 121 |
876 0355 14 .byte 20 |
877 0356 12 .byte 18 |
878 0357 14 .byte 20 |
879 0358 79 .byte 121 |
880 0359 00 .byte 0 |
881 035a F0 .byte -16 |
882 035b 28 .byte 40 |
883 035c 25 .byte 37 |
884 035d 28 .byte 40 |
885 035e F0 .byte -16 |
886 035f 00 .byte 0 |
887 0360 7C .byte 124 |
888 0361 54 .byte 84 |
889 0362 55 .byte 85 |
890 0363 45 .byte 69 |
891 0364 00 .byte 0 |
892 0365 00 .byte 0 |
893 0366 20 .byte 32 |
894 0367 54 .byte 84 |
895 0368 54 .byte 84 |
896 0369 7C .byte 124 |
897 036a 54 .byte 84 |
898 036b 44 .byte 68 |
899 036c 7C .byte 124 |
900 036d 0A .byte 10 |
901 036e 09 .byte 9 |
902 036f 7F .byte 127 |
903 0370 49 .byte 73 |
904 0371 41 .byte 65 |
905 0372 32 .byte 50 |
906 0373 49 .byte 73 |
907 0374 49 .byte 73 |
908 0375 49 .byte 73 |
909 0376 32 .byte 50 |
910 0377 00 .byte 0 |
911 0378 32 .byte 50 |
912 0379 48 .byte 72 |
913 037a 48 .byte 72 |
914 037b 48 .byte 72 |
915 037c 32 .byte 50 |
916 037d 00 .byte 0 |
917 037e 32 .byte 50 |
918 037f 4A .byte 74 |
919 0380 48 .byte 72 |
920 0381 48 .byte 72 |
921 0382 30 .byte 48 |
922 0383 00 .byte 0 |
923 0384 3A .byte 58 |
924 0385 41 .byte 65 |
925 0386 41 .byte 65 |
926 0387 21 .byte 33 |
927 0388 7A .byte 122 |
928 0389 00 .byte 0 |
929 038a 3A .byte 58 |
930 038b 42 .byte 66 |
931 038c 40 .byte 64 |
932 038d 20 .byte 32 |
933 038e 78 .byte 120 |
934 038f 00 .byte 0 |
935 0390 00 .byte 0 |
936 0391 9D .byte -99 |
937 0392 A0 .byte -96 |
938 0393 A0 .byte -96 |
939 0394 7D .byte 125 |
940 0395 00 .byte 0 |
941 0396 39 .byte 57 |
942 0397 44 .byte 68 |
943 0398 44 .byte 68 |
944 0399 44 .byte 68 |
945 039a 39 .byte 57 |
946 039b 00 .byte 0 |
947 039c 3D .byte 61 |
948 039d 40 .byte 64 |
949 039e 40 .byte 64 |
950 039f 40 .byte 64 |
951 03a0 3D .byte 61 |
952 03a1 00 .byte 0 |
953 03a2 3C .byte 60 |
954 03a3 24 .byte 36 |
955 03a4 FF .byte -1 |
956 03a5 24 .byte 36 |
957 03a6 24 .byte 36 |
958 03a7 00 .byte 0 |
959 03a8 48 .byte 72 |
960 03a9 7E .byte 126 |
961 03aa 49 .byte 73 |
962 03ab 43 .byte 67 |
963 03ac 66 .byte 102 |
964 03ad 00 .byte 0 |
965 03ae 2B .byte 43 |
966 03af 2F .byte 47 |
967 03b0 FC .byte -4 |
968 03b1 2F .byte 47 |
969 03b2 2B .byte 43 |
970 03b3 00 .byte 0 |
971 03b4 FF .byte -1 |
972 03b5 09 .byte 9 |
973 03b6 29 .byte 41 |
974 03b7 F6 .byte -10 |
975 03b8 20 .byte 32 |
976 03b9 00 .byte 0 |
977 03ba C0 .byte -64 |
978 03bb 88 .byte -120 |
979 03bc 7E .byte 126 |
980 03bd 09 .byte 9 |
981 03be 03 .byte 3 |
982 03bf 00 .byte 0 |
983 03c0 20 .byte 32 |
984 03c1 54 .byte 84 |
985 03c2 54 .byte 84 |
986 03c3 79 .byte 121 |
987 03c4 41 .byte 65 |
988 03c5 00 .byte 0 |
989 03c6 00 .byte 0 |
990 03c7 00 .byte 0 |
991 03c8 44 .byte 68 |
992 03c9 7D .byte 125 |
993 03ca 41 .byte 65 |
994 03cb 00 .byte 0 |
995 03cc 30 .byte 48 |
996 03cd 48 .byte 72 |
997 03ce 48 .byte 72 |
998 03cf 4A .byte 74 |
999 03d0 32 .byte 50 |
1000 03d1 00 .byte 0 |
1001 03d2 38 .byte 56 |
1002 03d3 40 .byte 64 |
1003 03d4 40 .byte 64 |
1004 03d5 22 .byte 34 |
1005 03d6 7A .byte 122 |
1006 03d7 00 .byte 0 |
1007 03d8 00 .byte 0 |
1008 03d9 7A .byte 122 |
1009 03da 0A .byte 10 |
1010 03db 0A .byte 10 |
1011 03dc 72 .byte 114 |
1012 03dd 00 .byte 0 |
1013 03de 7D .byte 125 |
1014 03df 0D .byte 13 |
1015 03e0 19 .byte 25 |
1016 03e1 31 .byte 49 |
1017 03e2 7D .byte 125 |
1018 03e3 00 .byte 0 |
1019 03e4 26 .byte 38 |
1020 03e5 29 .byte 41 |
1021 03e6 29 .byte 41 |
1022 03e7 2F .byte 47 |
1023 03e8 28 .byte 40 |
1024 03e9 00 .byte 0 |
1025 03ea 26 .byte 38 |
1026 03eb 29 .byte 41 |
1027 03ec 29 .byte 41 |
1028 03ed 29 .byte 41 |
1029 03ee 26 .byte 38 |
1030 03ef 00 .byte 0 |
1031 03f0 30 .byte 48 |
1032 03f1 48 .byte 72 |
1033 03f2 4D .byte 77 |
1034 03f3 40 .byte 64 |
1035 03f4 20 .byte 32 |
1036 03f5 00 .byte 0 |
1037 03f6 38 .byte 56 |
1038 03f7 08 .byte 8 |
1039 03f8 08 .byte 8 |
1040 03f9 08 .byte 8 |
1041 03fa 08 .byte 8 |
1042 03fb 00 .byte 0 |
1043 03fc 08 .byte 8 |
1044 03fd 08 .byte 8 |
1045 03fe 08 .byte 8 |
1046 03ff 08 .byte 8 |
1047 0400 38 .byte 56 |
1048 0401 00 .byte 0 |
1049 0402 2F .byte 47 |
1050 0403 10 .byte 16 |
1051 0404 C8 .byte -56 |
1052 0405 AC .byte -84 |
1053 0406 BA .byte -70 |
1054 0407 00 .byte 0 |
1055 0408 2F .byte 47 |
1056 0409 10 .byte 16 |
1057 040a 28 .byte 40 |
1058 040b 34 .byte 52 |
1059 040c FA .byte -6 |
1060 040d 00 .byte 0 |
1061 040e 00 .byte 0 |
1062 040f 00 .byte 0 |
1063 0410 7B .byte 123 |
1064 0411 00 .byte 0 |
1065 0412 00 .byte 0 |
1066 0413 00 .byte 0 |
1067 0414 08 .byte 8 |
1068 0415 14 .byte 20 |
1069 0416 2A .byte 42 |
1070 0417 14 .byte 20 |
1071 0418 22 .byte 34 |
1072 0419 00 .byte 0 |
1073 041a 22 .byte 34 |
1074 041b 14 .byte 20 |
1075 041c 2A .byte 42 |
1076 041d 14 .byte 20 |
1077 041e 08 .byte 8 |
1078 041f 00 .byte 0 |
1079 0420 AA .byte -86 |
1080 0421 00 .byte 0 |
1081 0422 55 .byte 85 |
1082 0423 00 .byte 0 |
1083 0424 AA .byte -86 |
1084 0425 00 .byte 0 |
1085 0426 AA .byte -86 |
1086 0427 55 .byte 85 |
1087 0428 AA .byte -86 |
1088 0429 55 .byte 85 |
1089 042a AA .byte -86 |
1090 042b 55 .byte 85 |
1091 042c 55 .byte 85 |
1092 042d AA .byte -86 |
1093 042e 55 .byte 85 |
1094 042f AA .byte -86 |
1095 0430 55 .byte 85 |
1096 0431 AA .byte -86 |
1097 0432 00 .byte 0 |
1098 0433 00 .byte 0 |
1099 0434 00 .byte 0 |
1100 0435 FF .byte -1 |
1101 0436 00 .byte 0 |
1102 0437 00 .byte 0 |
1103 0438 10 .byte 16 |
1104 0439 10 .byte 16 |
1105 043a 10 .byte 16 |
1106 043b FF .byte -1 |
1107 043c 00 .byte 0 |
1108 043d 00 .byte 0 |
1109 043e 14 .byte 20 |
1110 043f 14 .byte 20 |
1111 0440 14 .byte 20 |
1112 0441 FF .byte -1 |
1113 0442 00 .byte 0 |
1114 0443 00 .byte 0 |
1115 0444 10 .byte 16 |
1116 0445 10 .byte 16 |
1117 0446 FF .byte -1 |
1118 0447 00 .byte 0 |
1119 0448 FF .byte -1 |
1120 0449 00 .byte 0 |
1121 044a 10 .byte 16 |
1122 044b 10 .byte 16 |
1123 044c F0 .byte -16 |
1124 044d 10 .byte 16 |
1125 044e F0 .byte -16 |
1126 044f 00 .byte 0 |
1127 0450 14 .byte 20 |
1128 0451 14 .byte 20 |
1129 0452 14 .byte 20 |
1130 0453 FC .byte -4 |
1131 0454 00 .byte 0 |
1132 0455 00 .byte 0 |
1133 0456 14 .byte 20 |
1134 0457 14 .byte 20 |
1135 0458 F7 .byte -9 |
1136 0459 00 .byte 0 |
1137 045a FF .byte -1 |
1138 045b 00 .byte 0 |
1139 045c 00 .byte 0 |
1140 045d 00 .byte 0 |
1141 045e FF .byte -1 |
1142 045f 00 .byte 0 |
1143 0460 FF .byte -1 |
1144 0461 00 .byte 0 |
1145 0462 14 .byte 20 |
1146 0463 14 .byte 20 |
1147 0464 F4 .byte -12 |
1148 0465 04 .byte 4 |
1149 0466 FC .byte -4 |
1150 0467 00 .byte 0 |
1151 0468 14 .byte 20 |
1152 0469 14 .byte 20 |
1153 046a 17 .byte 23 |
1154 046b 10 .byte 16 |
1155 046c 1F .byte 31 |
1156 046d 00 .byte 0 |
1157 046e 10 .byte 16 |
1158 046f 10 .byte 16 |
1159 0470 1F .byte 31 |
1160 0471 10 .byte 16 |
1161 0472 1F .byte 31 |
1162 0473 00 .byte 0 |
1163 0474 14 .byte 20 |
1164 0475 14 .byte 20 |
1165 0476 14 .byte 20 |
1166 0477 1F .byte 31 |
1167 0478 00 .byte 0 |
1168 0479 00 .byte 0 |
1169 047a 10 .byte 16 |
1170 047b 10 .byte 16 |
1171 047c 10 .byte 16 |
1172 047d F0 .byte -16 |
1173 047e 00 .byte 0 |
1174 047f 00 .byte 0 |
1175 0480 00 .byte 0 |
1176 0481 00 .byte 0 |
1177 0482 00 .byte 0 |
1178 0483 1F .byte 31 |
1179 0484 10 .byte 16 |
1180 0485 10 .byte 16 |
1181 0486 10 .byte 16 |
1182 0487 10 .byte 16 |
1183 0488 10 .byte 16 |
1184 0489 1F .byte 31 |
1185 048a 10 .byte 16 |
1186 048b 10 .byte 16 |
1187 048c 10 .byte 16 |
1188 048d 10 .byte 16 |
1189 048e 10 .byte 16 |
1190 048f F0 .byte -16 |
1191 0490 10 .byte 16 |
1192 0491 10 .byte 16 |
1193 0492 00 .byte 0 |
1194 0493 00 .byte 0 |
1195 0494 00 .byte 0 |
1196 0495 FF .byte -1 |
1197 0496 10 .byte 16 |
1198 0497 10 .byte 16 |
1199 0498 10 .byte 16 |
1200 0499 10 .byte 16 |
1201 049a 10 .byte 16 |
1202 049b 10 .byte 16 |
1203 049c 10 .byte 16 |
1204 049d 10 .byte 16 |
1205 049e 10 .byte 16 |
1206 049f 10 .byte 16 |
1207 04a0 10 .byte 16 |
1208 04a1 FF .byte -1 |
1209 04a2 10 .byte 16 |
1210 04a3 10 .byte 16 |
1211 04a4 00 .byte 0 |
1212 04a5 00 .byte 0 |
1213 04a6 00 .byte 0 |
1214 04a7 FF .byte -1 |
1215 04a8 14 .byte 20 |
1216 04a9 14 .byte 20 |
1217 04aa 00 .byte 0 |
1218 04ab 00 .byte 0 |
1219 04ac FF .byte -1 |
1220 04ad 00 .byte 0 |
1221 04ae FF .byte -1 |
1222 04af 10 .byte 16 |
1223 04b0 00 .byte 0 |
1224 04b1 00 .byte 0 |
1225 04b2 1F .byte 31 |
1226 04b3 10 .byte 16 |
1227 04b4 17 .byte 23 |
1228 04b5 14 .byte 20 |
1229 04b6 00 .byte 0 |
1230 04b7 00 .byte 0 |
1231 04b8 FC .byte -4 |
1232 04b9 04 .byte 4 |
1233 04ba F4 .byte -12 |
1234 04bb 14 .byte 20 |
1235 04bc 14 .byte 20 |
1236 04bd 14 .byte 20 |
1237 04be 17 .byte 23 |
1238 04bf 10 .byte 16 |
1239 04c0 17 .byte 23 |
1240 04c1 14 .byte 20 |
1241 04c2 14 .byte 20 |
1242 04c3 14 .byte 20 |
1243 04c4 F4 .byte -12 |
1244 04c5 04 .byte 4 |
1245 04c6 F4 .byte -12 |
1246 04c7 14 .byte 20 |
1247 04c8 00 .byte 0 |
1248 04c9 00 .byte 0 |
1249 04ca FF .byte -1 |
1250 04cb 00 .byte 0 |
1251 04cc F7 .byte -9 |
1252 04cd 14 .byte 20 |
1253 04ce 14 .byte 20 |
1254 04cf 14 .byte 20 |
1255 04d0 14 .byte 20 |
1256 04d1 14 .byte 20 |
1257 04d2 14 .byte 20 |
1258 04d3 14 .byte 20 |
1259 04d4 14 .byte 20 |
1260 04d5 14 .byte 20 |
1261 04d6 F7 .byte -9 |
1262 04d7 00 .byte 0 |
1263 04d8 F7 .byte -9 |
1264 04d9 14 .byte 20 |
1265 04da 14 .byte 20 |
1266 04db 14 .byte 20 |
1267 04dc 14 .byte 20 |
1268 04dd 17 .byte 23 |
1269 04de 14 .byte 20 |
1270 04df 14 .byte 20 |
1271 04e0 10 .byte 16 |
1272 04e1 10 .byte 16 |
1273 04e2 1F .byte 31 |
1274 04e3 10 .byte 16 |
1275 04e4 1F .byte 31 |
1276 04e5 10 .byte 16 |
1277 04e6 14 .byte 20 |
1278 04e7 14 .byte 20 |
1279 04e8 14 .byte 20 |
1280 04e9 F4 .byte -12 |
1281 04ea 14 .byte 20 |
1282 04eb 14 .byte 20 |
1283 04ec 10 .byte 16 |
1284 04ed 10 .byte 16 |
1285 04ee F0 .byte -16 |
1286 04ef 10 .byte 16 |
1287 04f0 F0 .byte -16 |
1288 04f1 10 .byte 16 |
1289 04f2 00 .byte 0 |
1290 04f3 00 .byte 0 |
1291 04f4 1F .byte 31 |
1292 04f5 10 .byte 16 |
1293 04f6 1F .byte 31 |
1294 04f7 10 .byte 16 |
1295 04f8 00 .byte 0 |
1296 04f9 00 .byte 0 |
1297 04fa 00 .byte 0 |
1298 04fb 1F .byte 31 |
1299 04fc 14 .byte 20 |
1300 04fd 14 .byte 20 |
1301 04fe 00 .byte 0 |
1302 04ff 00 .byte 0 |
1303 0500 00 .byte 0 |
1304 0501 FC .byte -4 |
1305 0502 14 .byte 20 |
1306 0503 14 .byte 20 |
1307 0504 00 .byte 0 |
1308 0505 00 .byte 0 |
1309 0506 F0 .byte -16 |
1310 0507 10 .byte 16 |
1311 0508 F0 .byte -16 |
1312 0509 10 .byte 16 |
1313 050a 10 .byte 16 |
1314 050b 10 .byte 16 |
1315 050c FF .byte -1 |
1316 050d 10 .byte 16 |
1317 050e FF .byte -1 |
1318 050f 10 .byte 16 |
1319 0510 14 .byte 20 |
1320 0511 14 .byte 20 |
1321 0512 14 .byte 20 |
1322 0513 FF .byte -1 |
1323 0514 14 .byte 20 |
1324 0515 14 .byte 20 |
1325 0516 10 .byte 16 |
1326 0517 10 .byte 16 |
1327 0518 10 .byte 16 |
1328 0519 1F .byte 31 |
1329 051a 00 .byte 0 |
1330 051b 00 .byte 0 |
1331 051c 00 .byte 0 |
1332 051d 00 .byte 0 |
1333 051e 00 .byte 0 |
1334 051f F0 .byte -16 |
1335 0520 10 .byte 16 |
1336 0521 10 .byte 16 |
1337 0522 FF .byte -1 |
1338 0523 FF .byte -1 |
1339 0524 FF .byte -1 |
1340 0525 FF .byte -1 |
1341 0526 FF .byte -1 |
1342 0527 FF .byte -1 |
1343 0528 F0 .byte -16 |
1344 0529 F0 .byte -16 |
1345 052a F0 .byte -16 |
1346 052b F0 .byte -16 |
1347 052c F0 .byte -16 |
1348 052d F0 .byte -16 |
1349 052e FF .byte -1 |
1350 052f FF .byte -1 |
1351 0530 FF .byte -1 |
1352 0531 00 .byte 0 |
1353 0532 00 .byte 0 |
1354 0533 00 .byte 0 |
1355 0534 00 .byte 0 |
1356 0535 00 .byte 0 |
1357 0536 00 .byte 0 |
1358 0537 FF .byte -1 |
1359 0538 FF .byte -1 |
1360 0539 FF .byte -1 |
1361 053a 0F .byte 15 |
1362 053b 0F .byte 15 |
1363 053c 0F .byte 15 |
1364 053d 0F .byte 15 |
1365 053e 0F .byte 15 |
1366 053f 0F .byte 15 |
1367 0540 38 .byte 56 |
1368 0541 44 .byte 68 |
1369 0542 44 .byte 68 |
1370 0543 38 .byte 56 |
1371 0544 44 .byte 68 |
1372 0545 00 .byte 0 |
1373 0546 7C .byte 124 |
1374 0547 2A .byte 42 |
1375 0548 2A .byte 42 |
1376 0549 3E .byte 62 |
1377 054a 14 .byte 20 |
1378 054b 00 .byte 0 |
1379 054c 7E .byte 126 |
1380 054d 02 .byte 2 |
1381 054e 02 .byte 2 |
1382 054f 06 .byte 6 |
1383 0550 06 .byte 6 |
1384 0551 00 .byte 0 |
1385 0552 02 .byte 2 |
1386 0553 7E .byte 126 |
1387 0554 02 .byte 2 |
1388 0555 7E .byte 126 |
1389 0556 02 .byte 2 |
1390 0557 00 .byte 0 |
1391 0558 63 .byte 99 |
1392 0559 55 .byte 85 |
1393 055a 49 .byte 73 |
1394 055b 41 .byte 65 |
1395 055c 63 .byte 99 |
1396 055d 00 .byte 0 |
1397 055e 38 .byte 56 |
1398 055f 44 .byte 68 |
1399 0560 44 .byte 68 |
1400 0561 3C .byte 60 |
1401 0562 04 .byte 4 |
1402 0563 00 .byte 0 |
1403 0564 40 .byte 64 |
1404 0565 7E .byte 126 |
1405 0566 20 .byte 32 |
1406 0567 1E .byte 30 |
1407 0568 20 .byte 32 |
1408 0569 00 .byte 0 |
1409 056a 06 .byte 6 |
1410 056b 02 .byte 2 |
1411 056c 7E .byte 126 |
1412 056d 02 .byte 2 |
1413 056e 02 .byte 2 |
1414 056f 00 .byte 0 |
1415 0570 99 .byte -103 |
1416 0571 A5 .byte -91 |
1417 0572 E7 .byte -25 |
1418 0573 A5 .byte -91 |
1419 0574 99 .byte -103 |
1420 0575 00 .byte 0 |
1421 0576 1C .byte 28 |
1422 0577 2A .byte 42 |
1423 0578 49 .byte 73 |
1424 0579 2A .byte 42 |
1425 057a 1C .byte 28 |
1426 057b 00 .byte 0 |
1427 057c 4C .byte 76 |
1428 057d 72 .byte 114 |
1429 057e 01 .byte 1 |
1430 057f 72 .byte 114 |
1431 0580 4C .byte 76 |
1432 0581 00 .byte 0 |
1433 0582 30 .byte 48 |
1434 0583 4A .byte 74 |
1435 0584 4D .byte 77 |
1436 0585 4D .byte 77 |
1437 0586 30 .byte 48 |
1438 0587 00 .byte 0 |
1439 0588 30 .byte 48 |
1440 0589 48 .byte 72 |
1441 058a 78 .byte 120 |
1442 058b 48 .byte 72 |
1443 058c 30 .byte 48 |
1444 058d 00 .byte 0 |
1445 058e BC .byte -68 |
1446 058f 62 .byte 98 |
1447 0590 5A .byte 90 |
1448 0591 46 .byte 70 |
1449 0592 3D .byte 61 |
1450 0593 00 .byte 0 |
1451 0594 3E .byte 62 |
1452 0595 49 .byte 73 |
1453 0596 49 .byte 73 |
1454 0597 49 .byte 73 |
1455 0598 00 .byte 0 |
1456 0599 00 .byte 0 |
1457 059a 7E .byte 126 |
1458 059b 01 .byte 1 |
1459 059c 01 .byte 1 |
1460 059d 01 .byte 1 |
1461 059e 7E .byte 126 |
1462 059f 00 .byte 0 |
1463 05a0 2A .byte 42 |
1464 05a1 2A .byte 42 |
1465 05a2 2A .byte 42 |
1466 05a3 2A .byte 42 |
1467 05a4 2A .byte 42 |
1468 05a5 00 .byte 0 |
1469 05a6 44 .byte 68 |
1470 05a7 44 .byte 68 |
1471 05a8 5F .byte 95 |
1472 05a9 44 .byte 68 |
1473 05aa 44 .byte 68 |
1474 05ab 00 .byte 0 |
1475 05ac 40 .byte 64 |
1476 05ad 51 .byte 81 |
1477 05ae 4A .byte 74 |
1478 05af 44 .byte 68 |
1479 05b0 40 .byte 64 |
1480 05b1 00 .byte 0 |
1481 05b2 40 .byte 64 |
1482 05b3 44 .byte 68 |
1483 05b4 4A .byte 74 |
1484 05b5 51 .byte 81 |
1485 05b6 40 .byte 64 |
1486 05b7 00 .byte 0 |
1487 05b8 00 .byte 0 |
1488 05b9 00 .byte 0 |
1489 05ba FF .byte -1 |
1490 05bb 01 .byte 1 |
1491 05bc 03 .byte 3 |
1492 05bd 00 .byte 0 |
1493 05be E0 .byte -32 |
1494 05bf 80 .byte -128 |
1495 05c0 FF .byte -1 |
1496 05c1 00 .byte 0 |
1497 05c2 00 .byte 0 |
1498 05c3 00 .byte 0 |
1499 05c4 08 .byte 8 |
1500 05c5 08 .byte 8 |
1501 05c6 6B .byte 107 |
1502 05c7 6B .byte 107 |
1503 05c8 08 .byte 8 |
1504 05c9 08 .byte 8 |
1505 05ca 36 .byte 54 |
1506 05cb 12 .byte 18 |
1507 05cc 36 .byte 54 |
1508 05cd 24 .byte 36 |
1509 05ce 36 .byte 54 |
1510 05cf 00 .byte 0 |
1511 05d0 06 .byte 6 |
1512 05d1 0F .byte 15 |
1513 05d2 09 .byte 9 |
1514 05d3 0F .byte 15 |
1515 05d4 06 .byte 6 |
1516 05d5 00 .byte 0 |
1517 05d6 00 .byte 0 |
1518 05d7 00 .byte 0 |
1519 05d8 18 .byte 24 |
1520 05d9 18 .byte 24 |
1521 05da 00 .byte 0 |
1522 05db 00 .byte 0 |
1523 05dc 00 .byte 0 |
1524 05dd 00 .byte 0 |
1525 05de 10 .byte 16 |
1526 05df 10 .byte 16 |
1527 05e0 00 .byte 0 |
1528 05e1 00 .byte 0 |
1529 05e2 30 .byte 48 |
1530 05e3 40 .byte 64 |
1531 05e4 FF .byte -1 |
1532 05e5 01 .byte 1 |
1533 05e6 01 .byte 1 |
1534 05e7 00 .byte 0 |
1535 05e8 00 .byte 0 |
1536 05e9 1F .byte 31 |
1537 05ea 01 .byte 1 |
1538 05eb 01 .byte 1 |
1539 05ec 1E .byte 30 |
1540 05ed 00 .byte 0 |
1541 05ee 00 .byte 0 |
1542 05ef 19 .byte 25 |
1543 05f0 1D .byte 29 |
1544 05f1 17 .byte 23 |
1545 05f2 12 .byte 18 |
1546 05f3 00 .byte 0 |
1547 05f4 00 .byte 0 |
1548 05f5 3C .byte 60 |
1549 05f6 3C .byte 60 |
1550 05f7 3C .byte 60 |
1551 05f8 3C .byte 60 |
1552 05f9 00 .byte 0 |
1553 05fa 00 .byte 0 |
1554 05fb 00 .byte 0 |
1555 05fc 00 .byte 0 |
1556 05fd 00 .byte 0 |
1557 05fe 00 .byte 0 |
1558 05ff 00 .byte 0 |
1559 .text |
1560 .Letext0: |
DEFINED SYMBOLS |
*ABS*:00000000 F8X6.c |
C:\DOKUME~1\thomas\LOKALE~1\Temp/cceYaaaa.s:3 *ABS*:0000003f __SREG__ |
C:\DOKUME~1\thomas\LOKALE~1\Temp/cceYaaaa.s:4 *ABS*:0000003e __SP_H__ |
C:\DOKUME~1\thomas\LOKALE~1\Temp/cceYaaaa.s:5 *ABS*:0000003d __SP_L__ |
C:\DOKUME~1\thomas\LOKALE~1\Temp/cceYaaaa.s:6 *ABS*:00000000 __tmp_reg__ |
C:\DOKUME~1\thomas\LOKALE~1\Temp/cceYaaaa.s:7 *ABS*:00000001 __zero_reg__ |
C:\DOKUME~1\thomas\LOKALE~1\Temp/cceYaaaa.s:22 .progmem.data:00000000 f8x6 |
UNDEFINED SYMBOLS |
__do_copy_data |
__do_clear_bss |
/Transportables_Koptertool/trunk/V-0.1/MMT.aps |
---|
0,0 → 1,0 |
<AVRStudio><MANAGEMENT><ProjectName>MMT</ProjectName><Created>16-May-2008 00:42:21</Created><LastEdit>22-May-2008 20:56:53</LastEdit><ICON>241</ICON><ProjectType>0</ProjectType><Created>16-May-2008 00:42:21</Created><Version>4</Version><Build>4, 13, 0, 528</Build><ProjectTypeName>AVR GCC</ProjectTypeName></MANAGEMENT><CODE_CREATION><ObjectFile>default\MMT.elf</ObjectFile><EntryFile></EntryFile><SaveFolder>D:\Develop\MMT\</SaveFolder></CODE_CREATION><DEBUG_TARGET><CURRENT_TARGET>ICE50</CURRENT_TARGET><CURRENT_PART>ATmega32</CURRENT_PART><BREAKPOINTS></BREAKPOINTS><IO_EXPAND><HIDE>false</HIDE></IO_EXPAND><REGISTERNAMES><Register>R00</Register><Register>R01</Register><Register>R02</Register><Register>R03</Register><Register>R04</Register><Register>R05</Register><Register>R06</Register><Register>R07</Register><Register>R08</Register><Register>R09</Register><Register>R10</Register><Register>R11</Register><Register>R12</Register><Register>R13</Register><Register>R14</Register><Register>R15</Register><Register>R16</Register><Register>R17</Register><Register>R18</Register><Register>R19</Register><Register>R20</Register><Register>R21</Register><Register>R22</Register><Register>R23</Register><Register>R24</Register><Register>R25</Register><Register>R26</Register><Register>R27</Register><Register>R28</Register><Register>R29</Register><Register>R30</Register><Register>R31</Register></REGISTERNAMES><COM>Auto</COM><COMType>1</COMType><WATCHNUM>0</WATCHNUM><WATCHNAMES><Pane0></Pane0><Pane1></Pane1><Pane2></Pane2><Pane3></Pane3></WATCHNAMES><BreakOnTrcaeFull>0</BreakOnTrcaeFull></DEBUG_TARGET><Debugger><Triggers></Triggers></Debugger><AVRGCCPLUGIN><FILES><SOURCEFILE>base64.c</SOURCEFILE><SOURCEFILE>displ_val.c</SOURCEFILE><SOURCEFILE>display.c</SOURCEFILE><SOURCEFILE>F8X6.c</SOURCEFILE><SOURCEFILE>lcd.c</SOURCEFILE><SOURCEFILE>main.c</SOURCEFILE><SOURCEFILE>menu.c</SOURCEFILE><SOURCEFILE>motortest.c</SOURCEFILE><SOURCEFILE>parameter.c</SOURCEFILE><SOURCEFILE>rs232.c</SOURCEFILE><SOURCEFILE>timer.c</SOURCEFILE><SOURCEFILE>settings.c</SOURCEFILE><SOURCEFILE>debug.c</SOURCEFILE><HEADERFILE>base64.h</HEADERFILE><HEADERFILE>displ_val.h</HEADERFILE><HEADERFILE>display.h</HEADERFILE><HEADERFILE>font8x6.h</HEADERFILE><HEADERFILE>lcd.h</HEADERFILE><HEADERFILE>main.h</HEADERFILE><HEADERFILE>menu.h</HEADERFILE><HEADERFILE>motortest.h</HEADERFILE><HEADERFILE>parameter.h</HEADERFILE><HEADERFILE>rs232.h</HEADERFILE><HEADERFILE>timer.h</HEADERFILE><HEADERFILE>settings.h</HEADERFILE><HEADERFILE>debug.h</HEADERFILE></FILES><CONFIGS><CONFIG><NAME>default</NAME><USESEXTERNALMAKEFILE>NO</USESEXTERNALMAKEFILE><EXTERNALMAKEFILE></EXTERNALMAKEFILE><PART>atmega32</PART><HEX>1</HEX><LIST>0</LIST><MAP>0</MAP><OUTPUTFILENAME>MMT.elf</OUTPUTFILENAME><OUTPUTDIR>default\</OUTPUTDIR><ISDIRTY>1</ISDIRTY><OPTIONS/><INCDIRS/><LIBDIRS/><LIBS/><LINKOBJECTS/><OPTIONSFORALL>-Wall -gdwarf-2 -DF_CPU=7372800UL -Os -funsigned-char -funsigned-bitfields -fpack-struct -fshort-enums</OPTIONSFORALL><LINKEROPTIONS></LINKEROPTIONS><SEGMENTS/></CONFIG></CONFIGS><LASTCONFIG>default</LASTCONFIG><USES_WINAVR>1</USES_WINAVR><GCC_LOC>D:\WinAVR-20070525\bin\avr-gcc.exe</GCC_LOC><MAKE_LOC>D:\WinAVR-20070525\utils\bin\make.exe</MAKE_LOC></AVRGCCPLUGIN><IOView><usergroups/></IOView><Files><File00000><FileId>00000</FileId><FileName>lcd.c</FileName><Status>1</Status></File00000><File00001><FileId>00001</FileId><FileName>settings.c</FileName><Status>1</Status></File00001><File00002><FileId>00002</FileId><FileName>settings.h</FileName><Status>1</Status></File00002><File00003><FileId>00003</FileId><FileName>main.h</FileName><Status>1</Status></File00003><File00004><FileId>00004</FileId><FileName>lcd.h</FileName><Status>1</Status></File00004><File00005><FileId>00005</FileId><FileName>main.c</FileName><Status>1</Status></File00005><File00006><FileId>00006</FileId><FileName>menu.c</FileName><Status>1</Status></File00006></Files><Workspace><File00000><Position>270 211 1117 677</Position><LineCol>26 0</LineCol></File00000><File00001><Position>312 267 1159 733</Position><LineCol>9 0</LineCol></File00001><File00002><Position>179 65 1188 768</Position><LineCol>4 0</LineCol></File00002><File00003><Position>211 128 1058 594</Position><LineCol>43 0</LineCol></File00003><File00004><Position>255 186 1102 652</Position><LineCol>27 0</LineCol></File00004><File00005><Position>277 215 1124 681</Position><LineCol>88 0</LineCol></File00005><File00006><Position>188 71 1197 774</Position><LineCol>0 0</LineCol><State>Maximized</State></File00006></Workspace><Events><Bookmarks></Bookmarks></Events><Trace><Filters></Filters></Trace></AVRStudio> |
/Transportables_Koptertool/trunk/V-0.1/default/MMT.eep |
---|
0,0 → 1,65 |
:1000000000000000000000000000000000000000F0 |
:1000100000000000000000000000000000000000E0 |
:1000200000000000000000000000000000000000D0 |
:1000300000000000000000000000000000000000C0 |
:1000400000000000000000000000000000000000B0 |
:1000500000000000000000000000000000000000A0 |
:100060000000000000000000000000000000000090 |
:100070000000000000000000000000000000000080 |
:100080000000000000000000000000000000000070 |
:100090000000000000000000000000000000000060 |
:1000A0000000000000000000000000000000000050 |
:1000B0000000000000000000000000000000000040 |
:1000C0000000000000000000000000000000000030 |
:1000D0000000000000000000000000000000000020 |
:1000E0000000000000000000000000000000000010 |
:1000F0000000000000000000000000000000000000 |
:1001000000000000000000000000000000000000EF |
:1001100000000000000000000000000000000000DF |
:1001200000000000000000000000000000000000CF |
:1001300000000000000000000000000000000000BF |
:1001400000000000000000000000000000000000AF |
:10015000000000000000000000000000000000009F |
:10016000000000000000000000000000000000008F |
:10017000000000000000000000000000000000007F |
:10018000000000000000000000000000000000006F |
:10019000000000000000000000000000000000005F |
:1001A000000000000000000000000000000000004F |
:1001B000000000000000000000000000000000003F |
:1001C000000000000000000000000000000000002F |
:1001D000000000000000000000000000000000001F |
:1001E000000000000000000000000000000000000F |
:1001F00000000000000000000000000000000000FF |
:1002000000000000000000000000000000000000EE |
:1002100000000000000000000000000000000000DE |
:1002200000000000000000000000000000000000CE |
:1002300000000000000000000000000000000000BE |
:1002400000000000000000000000000000000000AE |
:10025000000000000000000000000000000000009E |
:10026000000000000000000000000000000000008E |
:10027000000000000000000000000000000000007E |
:10028000000000000000000000000000000000006E |
:10029000000000000000000000000000000000005E |
:1002A000000000000000000000000000000000004E |
:1002B000000000000000000000000000000000003E |
:1002C000000000000000000000000000000000002E |
:1002D000000000000000000000000000000000001E |
:1002E000000000000000000000000000000000000E |
:1002F00000000000000000000000000000000000FE |
:1003000000000000000000000000000000000000ED |
:1003100000000000000000000000000000000000DD |
:1003200000000000000000000000000000000000CD |
:1003300000000000000000000000000000000000BD |
:1003400000000000000000000000000000000000AD |
:10035000000000000000000000000000000000009D |
:10036000000000000000000000000000000000008D |
:10037000000000000000000000000000000000007D |
:10038000000000000000000000000000000000006D |
:10039000000000000000000000000000000000005D |
:1003A000000000000000000000000000000000004D |
:1003B000000000000000000000000000000000003D |
:1003C000000000000000000000000000000000002D |
:1003D000000000000000000000000000000000001D |
:1003E000000000000000000000000000000000000D |
:1003F00000000000000000000000000000000000FD |
:00000001FF |
/Transportables_Koptertool/trunk/V-0.1/default/MMT.elf |
---|
Cannot display: file marked as a binary type. |
svn:mime-type = application/octet-stream |
Property changes: |
Added: svn:mime-type |
+application/octet-stream |
\ No newline at end of property |
/Transportables_Koptertool/trunk/V-0.1/default/MMT_Mega32_7.hex |
---|
0,0 → 1,716 |
:100000000C94C1060C94DE060C94DE060C94DE06FD |
:100010000C94DE060C94DE060C94DE060C94DE06D0 |
:100020000C94DE060C94DE060C94CA120C94DE06C8 |
:100030000C94DE060C9470120C94DE060C94DE0612 |
:100040000C94DE060C94DE060C94DE060C94DE06A0 |
:100050000C94DE06202020202020000D0A54696D1B |
:10006000656F75742100446973706C6179000000DC |
:10007000000000003E5B4F5B3E003E6B4F6B3E005E |
:100080001C3E7C3E1C00183C7E3C18001C577D57D3 |
:100090001C001C5E7F5E1C0000183C180000FFE77F |
:1000A000C3E7FF00001824180000FFE7DBE7FF00AC |
:1000B00030483A060E00262979292600407F05059A |
:1000C0000700407F05253F005A3CE73C5A007F3E31 |
:1000D0001C1C0800081C1C3E7F0014227F221400F8 |
:1000E0005F5F005F5F0006097F017F000066899502 |
:1000F0006A0060606060606094A2FFA294000804DF |
:100100007E04080010207E20100008082A1C080029 |
:10011000081C2A0808001E10101010000C1E0C1ECF |
:100120000C0030383E383000060E3E0E060000004F |
:100130000000000000005F00000000070007000052 |
:10014000147F147F1400242A7F2A120023130864CA |
:100150006200364956205000000807030000001CCA |
:10016000224100000041221C00002A1C7F1C2A00A2 |
:1001700008083E08080000807030000008080808E1 |
:1001800008000000606000002010080402003E51DA |
:1001900049453E0000427F400000724949494600FF |
:1001A0002141494D33001814127F10002745454561 |
:1001B00039003C4A494931004121110907003649BB |
:1001C00049493600464949291E0000001400000034 |
:1001D00000403400000000081422410014141414DC |
:1001E00014000041221408000201590906003E4192 |
:1001F0005D594E007C1211127C007F49494936003E |
:100200003E41414122007F4141413E007F494949F1 |
:1002100041007F09090901003E41415173007F08F7 |
:1002200008087F0000417F4100002040413F01005D |
:100230007F08142241007F40404040007F021C02A2 |
:100240007F007F0408107F003E4141413E007F094E |
:10025000090906003E4151215E007F091929460027 |
:1002600026494949320003017F0103003F404040D5 |
:100270003F001F2040201F003F4038403F006314D4 |
:10028000081463000304780403006159494D4300D6 |
:10029000007F41414100020408102000004141411B |
:1002A0007F0004020102040040404040400000037F |
:1002B000070800002054547840007F284444380048 |
:1002C000384444442800384444287F003854545467 |
:1002D000180000087E09020018A4A49C78007F087A |
:1002E0000404780000447D4000002040403D0000B0 |
:1002F0007F102844000000417F4000007C04780407 |
:1003000078007C0804047800384444443800FC1821 |
:100310002424180018242418FC007C080404080075 |
:1003200048545454240004043F4424003C404020DA |
:100330007C001C2040201C003C4030403C004428F5 |
:10034000102844004C9090907C004464544C44002D |
:100350000008364100000000770000000041360828 |
:1003600000000201020402003C2623263C001EA1DC |
:10037000A16112003A4040207A0038545455590087 |
:100380002155557941002154547841002155547824 |
:1003900040002054557940000C1E5272120039550D |
:1003A000555559003954545459003955545458002E |
:1003B0000000457C41000002457D42000001457C73 |
:1003C0004000791412147900F0282528F0007C549C |
:1003D000554500002054547C54447C0A097F49410F |
:1003E000324949493200324848483200324A484886 |
:1003F00030003A4141217A003A4240207800009D85 |
:10040000A0A07D003944444439003D4040403D00B7 |
:100410003C24FF242400487E494366002B2FFC2FF8 |
:100420002B00FF0929F62000C0887E090300205414 |
:10043000547941000000447D41003048484A320070 |
:10044000384040227A00007A0A0A72007D0D193184 |
:100450007D002629292F2800262929292600304811 |
:100460004D4020003808080808000808080838002F |
:100470002F10C8ACBA002F102834FA0000007B00FF |
:10048000000008142A14220022142A140800AA00CA |
:100490005500AA00AA55AA55AA5555AA55AA55AA63 |
:1004A000000000FF0000101010FF0000141414FFE3 |
:1004B00000001010FF00FF001010F010F0001414E6 |
:1004C00014FC00001414F700FF000000FF00FF0000 |
:1004D0001414F404FC00141417101F0010101F1043 |
:1004E0001F001414141F0000101010F00000000072 |
:1004F000001F10101010101F1010101010F010100E |
:10050000000000FF1010101010101010101010FF3D |
:100510001010000000FF14140000FF00FF10000086 |
:100520001F1017140000FC04F414141417101714EF |
:100530001414F404F4140000FF00F7141414141439 |
:1005400014141414F700F7141414141714141010BE |
:100550001F101F10141414F414141010F010F010C5 |
:1005600000001F101F100000001F1414000000FCEA |
:1005700014140000F010F0101010FF10FF101414ED |
:1005800014FF14141010101F0000000000F01010D1 |
:10059000FFFFFFFFFFFFF0F0F0F0F0F0FFFFFF00C4 |
:1005A0000000000000FFFFFF0F0F0F0F0F0F384478 |
:1005B000443844007C2A2A3E14007E0202060600CB |
:1005C000027E027E02006355494163003844443C88 |
:1005D0000400407E201E200006027E02020099A533 |
:1005E000E7A599001C2A492A1C004C7201724C0094 |
:1005F000304A4D4D3000304878483000BC625A4691 |
:100600003D003E49494900007E0101017E002A2A41 |
:100610002A2A2A0044445F44440040514A4440008E |
:1006200040444A5140000000FF010300E080FF0009 |
:10063000000008086B6B0808361236243600060FD7 |
:10064000090F06000000181800000000101000003C |
:100650003040FF010100001F01011E0000191D179D |
:100660001200003C3C3C3C000000000000004D6FCC |
:1006700064206279204D696B656C6A6F2030352F7C |
:1006800030380053657474696E67730D0A004465F1 |
:1006900062756720446174656E0D0A004D6F746F5A |
:1006A00072746573740D0A00506172616D657465D2 |
:1006B000720D0A000D0A446973706C61790D0A00AD |
:1006C00048617570746D656EFC2842455441205632 |
:1006D000302E31290D0A002A002000546173746500 |
:1006E000206472FC636B656E0D0A00436F6E666971 |
:1006F0006720202020004368616E6E656C732020A7 |
:1007000000537469636B202020202000486F6568C7 |
:10071000652020202020004779726F202020202093 |
:1007200020004C6F6F70696E672020200043616D60 |
:100730006572612020202000536F6E7374696765B5 |
:100740007320005573657220202020202000436F05 |
:1007500075706C696E67202000436F6E666967284C |
:10076000322920004C6F6F70696E677365740002E8 |
:10077000020202020202020004040404040403034D |
:1007800003080808080505080808000509090909FB |
:100790000707070707070606060A0A0606050505EE |
:1007A0000909090900070B0B0B0B0C0C0C0C0C0CAA |
:1007B0000C0C0108020108020108020108020108EC |
:1007C0000201080201080201080200000000FF0403 |
:1007D00000FF0400FF0400FF0400320400FF0400D7 |
:1007E000060300400300140300200821FA08003229 |
:1007F0000800FF0800000500000500FA0800FA08DC |
:1008000000FA0800010000FF0500FF0900FF0900D1 |
:10081000FF0900FF0900FF0700FA0700FA0700FAC6 |
:100820000700190700FF0600FA0600FA0600FF0A93 |
:1008300000FF0A00FA0600FA0600FA0500FA0500B1 |
:10084000FF0500FF0900FF0900FF0900FF09000084 |
:10085000010001070000000000000000000000008F |
:100860000000000000000000000000000000000088 |
:100870000000000000000000004C6F6F70207570D9 |
:100880002020202020202020004C6F6F7020646FDB |
:10089000776E092020202000004C6F6F70206C655F |
:1008A0006674202020202020004C6F6F7020726919 |
:1008B00067687420202020200048F668656E726505 |
:1008C000676C6572202020200048F668656E7363AF |
:1008D00068616C74657220200048656164686F6CA3 |
:1008E0006409090000000000004B6F6D70617373B4 |
:1008F0000909000000000000004B6F6D7061737308 |
:1009000046697809090000000047505309090900A9 |
:1009100000000000000000000041636873656E6B1A |
:100920006F70706C756E67200044726568726174D8 |
:100930006509090000000000004E69636B2020205B |
:10094000202020202020202000526F6C6C202020AE |
:1009500020202020202020200047617320202020FC |
:1009600020202020202020200047696572090909E5 |
:10097000000000000000000000506F746931090998 |
:10098000090000000000000000506F74693209097E |
:10099000090000000000000000506F74693309096D |
:1009A000090000000000000000506F74693409095C |
:1009B000090000000000000000436F6E66696709CF |
:1009C000090900000000000000486F6568655F4D80 |
:1009D000696E476173202020004C756674647275DF |
:1009E000636B5F4420202020004D6178486F65686C |
:1009F000652020202020202000486F6568655F501A |
:100A0000202020202020202000486F6568655F5648 |
:100A1000657273746165726B00486F6568655F41EC |
:100A200043435F5769726B2E00537469636B5F5069 |
:100A3000202020202020202000537469636B5F4415 |
:100A4000202020202020202000476965725F502050 |
:100A50002020202020202020004761735F4D696EF8 |
:100A60002020202020202020004761735F4D6178E6 |
:100A70002020202020202020004779726F416363CE |
:100A800046616B746F720900004B6F6D7061737318 |
:100A90005769726B756E6720004779726F5F5020DF |
:100AA0000909000000000000004779726F5F4909E2 |
:100AB000090900000000000000556E746572737033 |
:100AC000616E6E756E672020004E6F74476173090A |
:100AD0000909000000000000004E6F744761735A5E |
:100AE00065697420202020200055666F417573725F |
:100AF00069636874756E672000495F46616B746F47 |
:100B000072202020202020200055736572506172D1 |
:100B1000616D310909000000005573657250617202 |
:100B2000616D3209090000000055736572506172F1 |
:100B3000616D3309090000000055736572506172E0 |
:100B4000616D34090900000000536572766F4E69CB |
:100B5000636B4374726C090000536572766F4E6963 |
:100B6000636B436F6D70090000536572766F4E6959 |
:100B7000636B4D696E09000000536572766F4E69B4 |
:100B8000636B4D617809000000536572766F4E69A2 |
:100B9000636B526566727368004C6F6F7047617368 |
:100BA0004C696D6974090000004C6F6F7054687275 |
:100BB0006573686F6C640900004C6F6F70487973DF |
:100BC000746572657365090000416368734B6F70EB |
:100BD000706C756E67090000004163687347656754 |
:100BE000656E4B6F70706C2E0057696E6B6C556D37 |
:100BF0007363686C4E69636B0057696E6B6C556DFF |
:100C00007363686C526F6C6C004779726F416363F9 |
:100C10004162676C656963680044726966746B6FF2 |
:100C20006D700909000000000044796E616D696310 |
:100C300053746162696C69740055736572506172B6 |
:100C4000616D3509090000000055736572506172CD |
:100C5000616D3609090000000055736572506172BC |
:100C6000616D3709090000000055736572506172AB |
:100C7000616D380909000000004C6F6F70436F6EA2 |
:100C8000666967090900000000536572766F4E6956 |
:100C9000636B436F6D70496E000D0A4E6963687433 |
:100CA000206765737065696368657274000D0A502A |
:100CB0006172616D657465722067657370656963E3 |
:100CC00068657274000D0A2D2D2D3E005061726111 |
:100CD0006D657465722073706569636865726E3FD7 |
:100CE0000D0A20206A610D0A20206E65696E00548D |
:100CF000696D656F75740020353A0D0A0020343A2D |
:100D00000D0A0020333A0D0A0020323A0D0A002065 |
:100D1000313A0D0A004C61646520506172616D6565 |
:100D20007465720D0A002D002D002D004578697440 |
:100D30000D0A00526563687465636B0D0A004C69A7 |
:100D40006E69650D0A004F7269656E74696572752A |
:100D50006E670D0A000D0A0045696E7374656C6C50 |
:100D6000756E67656E3A0D0A000D0A54696D656F00 |
:100D70007574210044656275672D446973706C61F8 |
:100D8000790011241FBECFE5D8E0DEBFCDBF10E053 |
:100D9000A0E6B0E0E8E7FCE202C005900D92AE38B4 |
:100DA000B107D9F715E0AEE8B0E001C01D92A83F49 |
:100DB000B107E1F70E94DC0D0C943B160C94000087 |
:100DC000782F52E060E026C0E52FFF27EC5EFA4F57 |
:100DD00021812D5332813D5343814D535C5FDC01B2 |
:100DE000AF56BB4F80818D53880F880F922F9295FD |
:100DF0009F70892B8C932295207F832F86958695D3 |
:100E0000282BFD0121833295330F330F307C342B97 |
:100E100032836D5F862F99275717B0F208950F938D |
:100E20001F93B82F809191048093140580919204B0 |
:100E3000809315058091930480931605A3E073E0D9 |
:100E400035C0E72FFF27EF56FB4F8081418162813C |
:100E50007D5FEA2FFF27EC5EFA4F282F2695269517 |
:100E6000235C2083552799278370907024E0880F96 |
:100E7000991F2A95E1F79A0104E0369527950A957E |
:100E8000E1F7822B835C81834F705070440F551FB4 |
:100E9000440F551F862F8295869586958370842BE7 |
:100EA000835C82836F73635C6383AC5F7B1748F200 |
:100EB00090E020E030E008C0E92FFF27EC5EFA4F19 |
:100EC0008081280F311D9F5F9A17B1F73F70EA2F7D |
:100ED000FF27EC5EFA4FC90136E0969587953A9563 |
:100EE000E1F7835C80832F73235C21838DE0828311 |
:100EF00013820A2F0D5F10E008C0E12FFF27EC5E80 |
:100F0000FA4F80810E94BC121F5F1017B1F71F912A |
:100F10000F9108951F9384E1809397050E94971283 |
:100F2000833221F0809197058823C1F7809197053E |
:100F3000882319F481E090E017C00E9497128093F3 |
:100F4000140511E00AC00E949712E12FFF27EC5E02 |
:100F5000FA4F80831F5F17FD1FE78D30A1F7812FA8 |
:100F60000E94E00680E090E01F9108951F93CF93C8 |
:100F7000DF93CDB7DEB761970FB6F894DEBF0FBE33 |
:100F8000CDBF182F83E28093910481E68093920471 |
:100F900080939304109394041092950410929604F5 |
:100FA00086E00E940F070E948A0780911505813410 |
:100FB000D1F7E1E9F4E0DE01119681918D9384E0AF |
:100FC000E13AF807D1F7198A177020E0AE014F5FB8 |
:100FD0005F4F612F80E00E94DA0A61960FB6F894A5 |
:100FE000DEBF0FBECDBFDF91CF911F9108959F92BD |
:100FF000AF92BF92CF92DF92EF92FF920F931F9327 |
:10100000CF93DF93CDB7DEB761970FB6F894DEBF0D |
:101010000FBECDBF0E9438099924A92CBB2453E0F0 |
:10102000AA0CBB1C5A95E1F7FA2C00E010E08F2DBA |
:10103000800F0E94B6070F5F1F4F08301105B9F7E8 |
:101040000E948A0780911505843489F57501EE0C9C |
:10105000FF1C83E994E0E80EF91ECC24DD248E0108 |
:101060000F5F1F4FF701208181819927982F8827D3 |
:101070004AE050E0B801820F911D0E94AD1520E0BA |
:1010800044E550E06C2D8EE00E94A40A20E0A80107 |
:101090006C2D8EE00E94DA0A0894C11CD11C82E0FB |
:1010A00090E0E80EF91E98E0C916D104C1F68091CF |
:1010B0009A05882329F280919A05813009F4939446 |
:1010C00080919A05823009F49A9480919A0588302B |
:1010D00019F0E3E09E22A1CF61960FB6F894DEBF2F |
:1010E0000FBECDBFDF91CF911F910F91FF90EF9079 |
:1010F000DF90CF90BF90AF909F9008951F9393E2A1 |
:101100009093910491E69093920498E690939304BF |
:1011100080939404109295041092960486E00E94A5 |
:101120000F0710E00E948A07813009F41AE01F5F60 |
:10113000809115058053853018F01A3098F304C05B |
:1011400080E090E01A3010F081E090E01F91089567 |
:101150001F93CF93DF93CDB7DEB72A970FB6F894DE |
:10116000DEBF0FBECDBF0E94380960E086E690E08A |
:101170000E94760A80919A058823E1F70E947E08F2 |
:10118000813069F460E08BE590E00E94760A88EC9B |
:101190008093970580919705882369F1FBCF109183 |
:1011A000150519831A8220E0AE014F5F5F4F60E0A2 |
:1011B0008AE00E94DA0A1F5F20E041E954E0612FD3 |
:1011C00080E00E94DA0A8AE0809397058091970573 |
:1011D0008823E1F780919A05813011F40E947E08FE |
:1011E00080919A05823011F40E947E0880919A05C0 |
:1011F000843009F0BFCF2A960FB6F894DEBF0FBE39 |
:10120000CDBFDF91CF911F910895C4988FB9779B7F |
:10121000FECF8EB18EB9C49A08951F93CF93DF93FA |
:10122000E0E9F0E0119284E0E039F807D9F710EB3B |
:10123000C398812F0E94050980E10E9405098091D1 |
:101240008F000E940509C39AC0E0D0E080E00E94B0 |
:1012500005092196C038D105C9F71F5F183B41F732 |
:101260001092950510929605DF91CF911F910895E8 |
:101270000E940D09089583E397E00197F1F708951F |
:101280000F931F93CF93DF938C01C0E0D0E003C096 |
:101290000E943B092196C017D107D1F7DF91CF916A |
:1012A0001F910F91089510929505109296058FEF5A |
:1012B00087BB8EE58DB9C49AC2988AE090E00E94FF |
:1012C0004009C29AC498C39880E40E94050980919D |
:1012D0008F00882329F481EA0E94050980EC04C06C |
:1012E00080EA0E94050988EC0E94050986EA0E94AE |
:1012F000050982EA0E9405098FE20E94050988EF2C |
:101300000E94050980E00E94050987E20E94050904 |
:1013100081E80E94050986E10E9405098CEA0E9485 |
:10132000050980E00E9405098FEA0E9405090E94D4 |
:101330000D090895FF920F931F938C01F62EC39809 |
:10134000880F892F881F990B919580550E94050958 |
:1013500080918F000F77080F802F82958F70805FAC |
:101360000E940509802F8F700E940509C39A8F2D56 |
:101370000E9405091F910F91FF900895EF92FF922F |
:101380000F931F93CF93DF93C0E0D0E000E910E00C |
:1013900030E1E32E31E0F32EF70181917F01F80176 |
:1013A000808361918F01CE010E949A092196F3E01A |
:1013B000C038DF0789F700E114E0F80111928F01CE |
:1013C00060E0CE010E949A092196F4E0C030DF0768 |
:1013D000A1F7DF91CF911F910F91FF90EF900895AA |
:1013E000CF92DF92EF92FF920F931F93CF93DF93F1 |
:1013F000D22E4F3D81F0403E38F4463DB1F04C3D99 |
:10140000B1F0443CA9F40FC0463F49F04C3F49F0CD |
:10141000443E71F402C041EE0BC044E809C044E907 |
:1014200007C041E805C04EE803C049E901C04AE9E8 |
:10143000062F11271695102F00271795079526E0E0 |
:10144000829FC0011124080F191F1370429F700161 |
:1014500011248EE690E0E80EF91ECC24E801C05776 |
:10146000DF4FF7019491F2E0DF16A1F0FD1530F0A7 |
:10147000DD2059F081E0D816B1F409C0E3E0DE16B2 |
:1014800061F0F4E0DF1679F40AC098830CC088811B |
:10149000892B08C08881892705C0888102C088817E |
:1014A0009095892388836991C8010E949A09C39401 |
:1014B0000894E11CF11C0F5F1F4F86E0C81689F6E7 |
:1014C000DF91CF911F910F91FF90EF90DF90CF9020 |
:1014D0000895809196058F5F80939605883028F057 |
:1014E0000E94BE0987E08093960508951F93CF93CD |
:1014F000DF93EC01162F20C04032A0F02196212F5F |
:1015000060919605809195050E94F009809195055E |
:101510008F5F80939505853178F0109295050E9434 |
:10152000690A0AC04A3029F04D3029F41092950515 |
:1015300002C00E94690A2196FE0144914423E1F60B |
:10154000DF91CF911F910895809395056093960543 |
:10155000622FCA010E94760A08951F93CF93DF93EA |
:10156000EC01162F20C04032A0F02196212F60916F |
:101570009605809195050E94F009809195058F5FF1 |
:1015800080939505853178F0109295050E94690A3F |
:101590000AC04A3029F04D3029F41092950502C056 |
:1015A0000E94690A219648814423E9F6DF91CF9190 |
:1015B0001F9108958093950560939605622FCA0147 |
:1015C0000E94AD0A0895982F87FD39C06034B8F5A0 |
:1015D000862F869586958695282F33273695322F28 |
:1015E000222737952795290F311D677081E090E0FC |
:1015F00001C0880F6A95EAF7682F3370413061F0B7 |
:10160000413018F04230A1F40DC0F901E057FF4F0E |
:101610008081609586230BC0F901E057FF4F8081E0 |
:10162000862B05C0F901E057FF4F80818627808314 |
:10163000F901E057FF4F6081C9010E949A0908959E |
:101640002F923F924F925F926F927F928F929F92D2 |
:10165000AF92BF92CF92DF92EF92FF920F931F93C0 |
:10166000CF93DF93CDB7DEB728970FB6F894DEBFE0 |
:101670000FBECDBF8D83162F0E83682E7724862E46 |
:101680009924842F99279C838B8386199709E22FAD |
:10169000FF27FA83E9839F012819390997FF04C0BE |
:1016A000FFEF2F2E3F2E07C040E050E0009711F0D3 |
:1016B00041E050E01A0137FF04C0EFEF4E2E5E2EDE |
:1016C00008C040E050E02115310511F041E050E044 |
:1016D0002A016C0197FF04C0D094C194D108D3941F |
:1016E000790137FF04C0F094E194F108F3944E813E |
:1016F000682D862D0E94E30AEC14FD047CF5C601DA |
:1017000062E070E00E94141644275527461B570BD1 |
:1017100058874F83A22CB62CB20C5D81052F112760 |
:1017200017C08F8198858E0D9F1D98878F831816FF |
:10173000190634F4840C951C8C199D0998878F83A5 |
:101740004E81682D8B2D0E94E30A020D131DBA0CE9 |
:10175000EB81FC810E171F0721F72DC0C70162E046 |
:1017600070E00E94141644275527461B570B5887D4 |
:101770004F83A42CB82CB40C012F112717C08F81D4 |
:1017800098858C0D9D1D98878F831816190634F443 |
:10179000620C731C8E199F0998878F834E816B2D65 |
:1017A000862D0E94E30A040D151DBA0CE981FA8109 |
:1017B0000E171F0721F728960FB6F894DEBF0FBE4D |
:1017C000CDBFDF91CF911F910F91FF90EF90DF90F0 |
:1017D000CF90BF90AF909F908F907F906F905F90D1 |
:1017E0004F903F902F900895BF92CF92DF92EF924B |
:1017F000FF920F931F93CF93DF93182FB02E87FD87 |
:101800001FE7603408F06FE37727CB01820F911D4B |
:101810009C01812F840F912D911D6C0191E8C916B7 |
:10182000D10418F0B0E8CB2ED12C79012134310548 |
:1018300018F0A0E4EA2EF12CEB0108C00B2D2C2FA0 |
:101840004C2D6C2F812F0E94200B2196EC16FD064B |
:10185000A8F7DF91CF911F910F91FF90EF90DF904C |
:10186000CF90BF900895CF92DF92EF92FF920F93A7 |
:101870001F93CF93DF93D82EC02E87FF02C08FE730 |
:10188000D82E162F603408F01FE3812F820F912D80 |
:10189000911DEC018D2D840F912D911D7C0191E8FE |
:1018A000E916F10418F000E8E02EF12C0C2D212FA0 |
:1018B0004E2D612F8D2D0E94200BC134D10510F0CB |
:1018C000C0E4D0E00C2D2C2F4E2D612F8E2D0E94C8 |
:1018D000200B2C2F4D2D6C2F8E2D0E94200B212F95 |
:1018E0004D2D6C2F8D2D0E94200BDF91CF911F91DC |
:1018F0000F91FF90EF90DF90CF9008952F923F923D |
:101900004F925F926F927F928F929F92AF92BF920F |
:10191000CF92DF92EF92FF920F931F93CF93DF93BB |
:10192000CDB7DEB724970FB6F894DEBF0FBECDBF9C |
:101930008C016B017A01A22E21E030E0241B350BD3 |
:101940003C832B83CA01880F991F66247724681A69 |
:10195000790A462E502E640F4A2D802F0E94E30AEA |
:101960006C2D6E194A2D802F0E94E30A4A2D6C2D92 |
:10197000802F8E0D0E94E30A4A2D6C2D802F8E1928 |
:101980000E94E30A4701222433241A82198258C094 |
:101990008B819C8197FD0BC0089481089108E2E03F |
:1019A000F0E06E0E7F1E860D971D9C838B8308943E |
:1019B000211C311C29813A812E5F3F4F3A832983B4 |
:1019C0008B819C810196820F931F9C838B83142DA6 |
:1019D000180DD52CD20C4A2D612F8D2D0E94E30AB3 |
:1019E000E52CE2184A2D612F8E2D0E94E30A142D5A |
:1019F00018194A2D612F8D2D0E94E30A4A2D612F5F |
:101A00008E2D0E94E30A142D120DE52CE80C4A2DB0 |
:101A1000612F8E2D0E94E30A952D9819092F4A2DCA |
:101A2000612F892F0E94E30A142D12194A2D612F6C |
:101A30008E2D0E94E30A4A2D612F802F0E94E30A17 |
:101A4000281439040CF4A4CF24960FB6F894DEBF02 |
:101A50000FBECDBFDF91CF911F910F91FF90EF90FF |
:101A6000DF90CF90BF90AF909F908F907F906F90BE |
:101A70005F904F903F902F9008952F923F924F92FA |
:101A80005F926F927F928F929F92AF92BF92CF920E |
:101A9000DF92EF92FF920F931F93CF93DF936B012F |
:101AA0007A0151E0A52EB12CAE18BF089701220F84 |
:101AB000331F88249924821A930A662E782E262FA3 |
:101AC0002E196E0D01E0482F0E94200B472D4E1954 |
:101AD0002C2D6C2D872D8E0D0E94200BE7014424A8 |
:101AE0005524222433243AC0B7FC07C0219782E052 |
:101AF00090E0880E991EA80CB91C0894411C511C3A |
:101B000082E090E0280E391E0894A11CB11CA20CA2 |
:101B1000B31C1C2F662D6C0FE72CE418D72CD40CAB |
:101B200001E0262F4E2D8D2D0E94200B662D6C1B63 |
:101B3000262F4E2D8D2D0E94200B662D640DE72C37 |
:101B4000EC1A170D262F4E2D812F0E94200B662D8B |
:101B50006419262F4E2D812F0E94200B4C165D06F6 |
:101B60001CF2DF91CF911F910F91FF90EF90DF90CA |
:101B7000CF90BF90AF909F908F907F906F905F902D |
:101B80004F903F902F900895A2E0B0E00E9427165A |
:101B9000802D992780938F00089581E021E030E027 |
:101BA000D901082E0E942F1680E02F5F3F4FD901E8 |
:101BB000082E0E942F1608958FEF8BBB83E488BBFD |
:101BC0008CEF85BB8CE782BB83E084BB80E881BB64 |
:101BD00021E030E0D9010E942716802D813071F07C |
:101BE00081E0D901082E0E942F1680E02F5F3F4F21 |
:101BF000D901082E0E942F16215030402F5F3F4FF1 |
:101C0000D9010E942716802D992780938F000E946A |
:101C100053090E9492120E94091378940E94650E43 |
:101C2000FDCF0F931F93062F142F20E049ED56E0B0 |
:101C3000682F812F0E94A40A20E047ED56E0602F14 |
:101C4000812F0E94A40A1F910F910895EF92FF9295 |
:101C50000F931F93082FE62EF42E682F0E94110E6B |
:101C6000102F912F80919A058823E1F780919A0592 |
:101C70008823E1F380919A05823019F41E1508F447 |
:101C80001F5F80919A05813019F4011708F41150F3 |
:101C90004F2D612F892F0E94110E80919A05883057 |
:101CA00021F080919A058430E1F680919A05843084 |
:101CB00009F41FEF80919A058823E1F7812F992776 |
:101CC0001F910F91FF90EF9008950E94380960E0F6 |
:101CD00080EC96E00E94760A60E084EB96E00E9439 |
:101CE000760A60E088EA96E00E94760A60E08CE975 |
:101CF00096E00E94760A60E08EE896E00E94760AFE |
:101D000060E083E896E00E94760A60E08EE696E066 |
:101D10000E94760A4CE066E082E00E94260E843043 |
:101D200091F0853028F4823041F08330A1F408C06E |
:101D3000853061F0863079F40CC00E94A8080895BF |
:101D40000E94BD1108950E94AC0E08950E94D41403 |
:101D500008950E94271308950E94380980919A05DA |
:101D60008823E1F760E08BED96E00E94760A80918F |
:101D70009A058823E1F380919A058830C9F483E2BB |
:101D80008093910481E68093920484E78093930486 |
:101D90008AE08093940480939504809396048093C2 |
:101DA0009704109298041092990489E00E940F07FA |
:101DB00080919A058823E1F780919A058823E1F3C1 |
:101DC00083E28093910481E68093920484E7809378 |
:101DD0009304109294041092950410929604109219 |
:101DE0009704109298041092990489E00E940F07BA |
:101DF0000895FB0120E030E0482F552761E0CA013B |
:101E0000022E02C0959587950A94E2F780FF02C0E2 |
:101E1000608301C010822F5F3F4F3196283031051B |
:101E200071F7089540E020E030E061E070E0FC01EF |
:101E30008191813041F4CB01022E02C0880F991F9D |
:101E40000A94E2F7480F2F5F3F4F2830310581F7A2 |
:101E5000842F99270895482FFB0164E60E94F4150A |
:101E6000808324E6829FC0011124481B842F6AE0EE |
:101E70000E94F4152AE0829F90011124421B405DCC |
:101E800042839081905D9083805D8183903329F4BB |
:101E900090E29083803309F4918313820895CF9266 |
:101EA000DF92EF92FF920F931F93CF93DF93CDB703 |
:101EB000DEB762970FB6F894DEBF0FBECDBF82309B |
:101EC00008F455C0615044E080E00E94260EC82E00 |
:101ED0008FEFC81609F421C1EC2CFF24F701E25260 |
:101EE000FA4FE081FF27EF56FB4FD08020E04AE217 |
:101EF0005DE06C2D84E00E94A40A80919A058823FD |
:101F0000E1F780919A05813009F4DA9480919A057D |
:101F1000823009F4D3948E01075F1F4FB8018D2DD5 |
:101F20000E942B0F20E0A8016C2D80E00E94DA0AAD |
:101F300084E180939705809197058823E1F780914C |
:101F40009A05843021F080919A058830D1F68091ED |
:101F50009A05883009F0E1C0AEEDB5E0EA0EFB1E4F |
:101F6000D701EC91FF27EF56FB4FD082D6C08130CE |
:101F700009F069C08E010F5F1F4FB8018091C50441 |
:101F80000E94F90E1A8644E063E080E00E94260E6B |
:101F9000D82EBFEF8B1709F4C0C0E82EFF240E0D1A |
:101FA0001F1DF801008120E048E25DE0682F84E019 |
:101FB0000E94A40A80919A05813009F400E0809182 |
:101FC0009A05823009F401E0005D0987005320E0A2 |
:101FD000AE01475F5F4F6D2D80E00E94DA0A84E119 |
:101FE00080939705809197058823E1F780919A0562 |
:101FF000883021F080919A058430E1F680919A052D |
:10200000883051F4CE010196E80EF91ED7010C93E9 |
:102010000E94120F8093C5040E9438098E01075F49 |
:102020001F4FB8018091C5040E942B0F60E0C801CA |
:102030000E94AD0A88EC80939705809197058823CC |
:1020400009F46BC0FACF882309F067C08E010F5FD7 |
:102050001F4FB801809199040E94F90E1A8644E03E |
:1020600067E080E00E94260ED82EBFEF8B1709F4A0 |
:1020700054C0E82EFF240E0D1F1DF801008120E042 |
:1020800046E25DE0682F84E00E94A40A80919A05F0 |
:10209000813009F400E080919A05823009F401E072 |
:1020A000005D0987005320E0AE01475F5F4F6D2D53 |
:1020B00080E00E94DA0A84E1809397058091970579 |
:1020C0008823E1F780919A05883021F080919A0564 |
:1020D0008430E1F680919A05883051F4CE01019662 |
:1020E000E80EF91ED7010C930E94120F80939904F9 |
:1020F0000E9438098E01075F1F4FB8018091990433 |
:102100000E942B0F60E0C8010E94AD0A88EC80930A |
:102110009705809197058823E1F762960FB6F894AA |
:10212000DEBF0FBECDBFDF91CF911F910F91FF900A |
:10213000EF90DF90CF9008956F927F928F929F9251 |
:10214000AF92BF92CF92DF92EF92FF920F931F93C5 |
:10215000CF93DF93CDB7DEB7A1970FB6F894DEBF6C |
:102160000FBECDBFE82E81E08E1508F044C044EBD1 |
:10217000A42E47E0B42E39E3632E39E0732EFF24FA |
:10218000CC24DD2421E9822E24E0922EF5018491D5 |
:102190008E15E9F4EF2DFF27E252FA4FC0828E012F |
:1021A000075F1F4FB801F40180810E942B0F20E0D0 |
:1021B000A8016F2D80E00E94DA0A20E0A3016F2DB4 |
:1021C00085E00E94A40AF7E0FF1508F0F394089454 |
:1021D000C11CD11C83E090E0A80EB91E0894811C9C |
:1021E000911CE0E1F0E06E0E7F1EF2E4CF16D10408 |
:1021F00009F463C0CBCF81E0E81679F58E010F5F5B |
:102200001F4FB8018091C5040E94F90E1A8699E704 |
:10221000A92E98E0B92E6801CE0101961C2D181B3D |
:10222000F60181916F01805D898720E0AE01475FF3 |
:102230005F4F612F80E00E94DA0A20E0A501612F44 |
:1022400085E00E94A40A80E190E0A80EB91ECE01AC |
:102250000596C816D90681F1DFCFEE2069F58E010B |
:102260000F5F1F4FB801809199040E94F90E1A86E2 |
:10227000680189EBA82E88E0B82ECE010196FC2CCF |
:10228000F81AF60181916F01805D89878E01075FE1 |
:102290001F4F20E0A8016F2D80E00E94DA0A20E0A5 |
:1022A000A5016F2D85E00E94A40A80E190E0A80EB0 |
:1022B000B91EC016D10609F7FF248F2D9927A196C4 |
:1022C0000FB6F894DEBF0FBECDBFDF91CF911F9147 |
:1022D0000F91FF90EF90DF90CF90BF90AF909F90C5 |
:1022E0008F907F906F900895982F8630D8F426E4D1 |
:1022F00030E0E7EDF4E08081838321503040319776 |
:102300008FEF2F3F3807B9F783E28093910481E67E |
:10231000809392049559909393041092DB048BE47C |
:102320000E940F0708951F9393E29093910491E602 |
:102330009093920491E79093930480939404109265 |
:1023400095041092960486E00E940F0710E00E9408 |
:102350008A07813009F41EE11F5F809115058C54B6 |
:10236000853018F01E3198F304C080E090E01E31F3 |
:1023700010F081E090E01F910895FF920F931F935A |
:10238000CF93DF93CDB7DEB72F970FB6F894DEBFAC |
:102390000FBECDBF0E94380960E085E19DE00E943C |
:1023A000760A60E08FE09DE00E94760A60E089E0B6 |
:1023B0009DE00E94760A60E083E09DE00E94760A3C |
:1023C00060E08DEF9CE00E94760A60E087EF9CE081 |
:1023D0000E94760A40E065E081E00E94260E0E949D |
:1023E0009311813041F420E04FEE5CE066E080E044 |
:1023F0000E94A40A62C062E0F62E0E9438098E0193 |
:102400000F5F1F4F4AE050E0B8018F2D99270E94BF |
:10241000CE1560E0C8010E94AD0A82E38093970563 |
:10242000809197058823E1F70E9438098F2D0E943B |
:102430009C10682F80919A058823E1F380919A057A |
:10244000823009F4F39480919A05813009F4FA946A |
:102450008FEFF81619F45CE0F52E04C08CE08F15B0 |
:1024600008F4FF2480919A05883019F48F2D0E947A |
:102470004F0F80919A05843009F0BFCF0E94380930 |
:1024800060E08CEC9CE00E94760A40E062E081E033 |
:102490000E94260E813061F460E085EC9CE00E9491 |
:1024A000760A85E00E94741160E08DEA9CE003C02A |
:1024B00060E089E99CE00E94760A84E680939705B3 |
:1024C000809197058823E1F72F960FB6F894DEBF29 |
:1024D0000FBECDBFDF91CF911F910F91FF90089557 |
:1024E0001F920F920FB60F9211248F939F93EF9329 |
:1024F000FF938091E6059CB1E8EEF5E0E80FF11D51 |
:1025000090838F5F8093E6058091E6058F708093BE |
:10251000E605FF91EF919F918F910F900FBE0F9065 |
:102520001F90189588E98AB987E089B908958AE0EB |
:10253000809399059091E7058091E605981721F41D |
:10254000809199058823B1F780919905882311F42A |
:10255000E0E00FC08091E705E82FFF27E851FA4F30 |
:10256000E0818F5F8093E7058091E7058F7080930E |
:10257000E7058E2F992708955D9BFECF8CB90895AE |
:10258000FC0104C05D9BFECF8CB93196808188230D |
:10259000C9F708951F920F920FB60F9211248F93CF |
:1025A0009F9380919805882331F080919805815000 |
:1025B0008093980515C08AE08093980589B3992780 |
:1025C00080959095689413F8959587951694E1F702 |
:1025D0008F7080939A0580919B058F5F80939B05F8 |
:1025E00080919705882329F08091970581508093E9 |
:1025F000970580919905882329F08091990581504C |
:10260000809399059F918F910F900FBE0F901F900F |
:1026100018958DE083BF88E48CBF89B7826089BF3D |
:102620000895F89480918F00882321F484E08093AA |
:102630008F0002C010928F0080918F00A2E0B0E066 |
:10264000082E0E942F160E945309789408950F9324 |
:102650001F9311E00E94380960E088E59DE00E9428 |
:10266000760A60E085E59DE00E94760A60E086E4F7 |
:102670009DE00E94760A60E08EE39DE00E94760A6B |
:1026800060E083E39DE00E94760A60E08CE29DE0DA |
:102690000E94760A4FE065E082E00E94260E8330B9 |
:1026A00049F08430C9F0823011F010E026C00E9459 |
:1026B000111323C00E94380901E022E344E664E1DB |
:1026C0008AE00E94200B80919A058830B1F08091B9 |
:1026D0009A05843091F0F7CF0E94380901E028E292 |
:1026E00044E664E18AE00E94330C80919A058830C8 |
:1026F00021F080919A058430C1F7112309F0AACF07 |
:102700001F910F910895CF93DF93EC0152E070E099 |
:1027100026C0E52FFF27EC5EFA4F21812D53328131 |
:102720003D5343814D535C5FDE01A80FB91F80818B |
:102730008D53880F880F922F92959F70892B8C93C1 |
:102740002295207F832F86958695282BFD01218356 |
:102750003295330F330F307C342B32837D5F872FDC |
:1027600099275617B0F2DF91CF9108954F925F925B |
:102770006F927F928F929F92AF92BF92CF92DF9291 |
:10278000EF92FF920F931F93CF93DF93FC01EB0126 |
:1027900080E2888340E8E130F40718F46624772467 |
:1027A00008C0F095E195FF4F8DE2888351E0652EDA |
:1027B000712C2E010894411C511CCF0160E177E27D |
:1027C0000E9400168B01262F332780E197E2BC017F |
:1027D000269FC001279F900D369F900D11249F01C9 |
:1027E000281B390B42E0C42ED12CCC0EDD1EC901B2 |
:1027F00068EE73E00E9400167B01462F552788EE95 |
:1028000093E0FC014E9FC0014F9F900D5E9F900D85 |
:102810001124281B390B93E0A92EB12CAC0EBD1E40 |
:10282000C90164E670E00E940016FB0184E6689F1F |
:10283000C0011124281B390B84E0882E912C8C0EAA |
:102840009D1EC9016AE070E00E9400168AE0689F40 |
:10285000C0011124281B390B205D2D83005D0983E5 |
:10286000F0E3EF0EEA82E05DEB83605D6C830033A2 |
:1028700091F580E2888341E06416710409F48DE2E9 |
:102880008983F6018081803331F580E2F201808313 |
:10289000F1E06F16710409F48DE2F6018083F50111 |
:1028A00080818033C1F480E2F6018083F1E06F160D |
:1028B000710409F48DE2F5018083F4018081803395 |
:1028C00051F480E2F5018083F1E06F16710409F4A0 |
:1028D0008DE2F40180831E82DF91CF911F910F91D1 |
:1028E000FF90EF90DF90CF90BF90AF909F908F9030 |
:1028F0007F906F905F904F9008951F9384E1809335 |
:1029000097050E949712833221F0809197058823C2 |
:10291000C1F780919705882319F481E090E019C0F0 |
:102920000E9497128093140511E00AC00E9497122A |
:10293000E12FFF27EC5EFA4F80831F5F17FD1FE733 |
:102940008D30A1F7612F8CE995E00E94831380E020 |
:1029500090E01F9108951F9393E29093910491E664 |
:102960009093920493E6909393048093940410922E |
:1029700095041092960486E00E940F0710E00E94D2 |
:102980007D14813009F41EE11F5F809115058434A8 |
:1029900019F01E31A0F304C080E090E01E3110F069 |
:1029A00081E090E01F9108950F931F93CF93DF93E1 |
:1029B000CDB7DEB72A970FB6F894DEBF0FBECDBFF6 |
:1029C0000E94380960E084E79DE00E94760A8091C9 |
:1029D0009A058823E1F70E94AB14813071F460E01E |
:1029E00089E69DE00E94760A88EC809397058091A5 |
:1029F0009705882309F4A6C0FACF809193048983B0 |
:102A00001A8220E08E010F5F1F4FA80160E08FE067 |
:102A10000E94DA0AB80180919E0590919F050E945C |
:102A2000B61320E040E650E061E080E00E94DA0A60 |
:102A300020E0A80161E08AE00E94DA0AB8018091F2 |
:102A4000A0059091A1050E94B61320E045E650E054 |
:102A500062E080E00E94DA0A20E0A80162E08AE0F9 |
:102A60000E94DA0AB8018091A2059091A3050E9404 |
:102A7000B61320E04AE650E063E080E00E94DA0A04 |
:102A800020E0A80163E08AE00E94DA0AB8018091A0 |
:102A9000A4059091A5050E94B61320E043E750E0FD |
:102AA00064E080E00E94DA0A20E0A80164E08AE0A5 |
:102AB0000E94DA0AB8018091A6059091A7050E94AC |
:102AC000B61320E04CE750E065E080E00E94DA0AAF |
:102AD00020E0A80165E08AE00E94DA0AB80180914E |
:102AE000A8059091A9050E94B61320E041E850E0A6 |
:102AF00066E080E00E94DA0A20E0A80166E08AE051 |
:102B00000E94DA0AB8018091B0059091B1050E9447 |
:102B1000B61320E045E850E067E080E00E94DA0A62 |
:102B200020E0A80167E08AE00E94DA0A8AE0809348 |
:102B30009705809197058823E1F780919A05843065 |
:102B400009F045CF2A960FB6F894DEBF0FBECDBF71 |
:102B5000DF91CF911F910F910895FB019F01E894A0 |
:102B60004230C4F04532B4F44A3029F497FB1EF4E5 |
:102B7000909581959F4F642F77270E940016805D66 |
:102B80008A330CF0895D8193CB010097A1F716F48D |
:102B90005DE251931082C9010C94E415FB019F0181 |
:102BA000423074F0453264F4642F77270E94001697 |
:102BB000805D8A330CF0895D8193CB010097A1F78A |
:102BC0001082C9010C94E415DC01FC01672F71919E |
:102BD0007723E1F7329704C07C916D937083629103 |
:102BE000AE17BF07C8F30895991B79E004C0991F79 |
:102BF000961708F0961B881F7A95C9F78095089557 |
:102C0000AA1BBB1B51E107C0AA1FBB1FA617B70712 |
:102C100010F0A61BB70B881F991F5A95A9F780952E |
:102C20009095BC01CD01089597FB092E07260AD087 |
:102C300077FD04D0E5DF06D000201AF47095619589 |
:102C40007F4F0895F6F7909581959F4F0895E199EC |
:102C5000FECFBFBBAEBBE09A11960DB20895E199CD |
:102C6000FECFBFBBAEBB0DBA11960FB6F894E29A79 |
:082C7000E19A0FBE0895FFCFA9 |
:102C78004E69636B00526F6C6C00414343204E6990 |
:102C8800636B0041434320526F6C6C004769657267 |
:0E2C980000414343005370616E6E756E67001D |
:00000001FF |
/Transportables_Koptertool/trunk/V-0.1/default/Makefile |
---|
0,0 → 1,110 |
############################################################################### |
# Makefile for the project MMT |
############################################################################### |
## General Flags |
PROJECT = MMT |
MCU = atmega32 |
TARGET = MMT.elf |
CC = avr-gcc.exe |
## Options common to compile, link and assembly rules |
COMMON = -mmcu=$(MCU) |
## Compile options common for all C compilation units. |
CFLAGS = $(COMMON) |
CFLAGS += -Wall -gdwarf-2 -DF_CPU=7372800UL -Os -funsigned-char -funsigned-bitfields -fpack-struct -fshort-enums |
CFLAGS += -MD -MP -MT $(*F).o -MF dep/$(@F).d |
## Assembly specific flags |
ASMFLAGS = $(COMMON) |
ASMFLAGS += $(CFLAGS) |
ASMFLAGS += -x assembler-with-cpp -Wa,-gdwarf2 |
## Linker flags |
LDFLAGS = $(COMMON) |
LDFLAGS += |
## Intel Hex file production flags |
HEX_FLASH_FLAGS = -R .eeprom |
HEX_EEPROM_FLAGS = -j .eeprom |
HEX_EEPROM_FLAGS += --set-section-flags=.eeprom="alloc,load" |
HEX_EEPROM_FLAGS += --change-section-lma .eeprom=0 --no-change-warnings |
## Objects that must be built in order to link |
OBJECTS = base64.o displ_val.o display.o F8X6.o lcd.o main.o menu.o motortest.o parameter.o rs232.o timer.o settings.o debug.o |
## Objects explicitly added by the user |
LINKONLYOBJECTS = |
## Build |
all: $(TARGET) MMT.hex MMT.eep size |
## Compile |
base64.o: ../base64.c |
$(CC) $(INCLUDES) $(CFLAGS) -c $< |
displ_val.o: ../displ_val.c |
$(CC) $(INCLUDES) $(CFLAGS) -c $< |
display.o: ../display.c |
$(CC) $(INCLUDES) $(CFLAGS) -c $< |
F8X6.o: ../F8X6.c |
$(CC) $(INCLUDES) $(CFLAGS) -c $< |
lcd.o: ../lcd.c |
$(CC) $(INCLUDES) $(CFLAGS) -c $< |
main.o: ../main.c |
$(CC) $(INCLUDES) $(CFLAGS) -c $< |
menu.o: ../menu.c |
$(CC) $(INCLUDES) $(CFLAGS) -c $< |
motortest.o: ../motortest.c |
$(CC) $(INCLUDES) $(CFLAGS) -c $< |
parameter.o: ../parameter.c |
$(CC) $(INCLUDES) $(CFLAGS) -c $< |
rs232.o: ../rs232.c |
$(CC) $(INCLUDES) $(CFLAGS) -c $< |
timer.o: ../timer.c |
$(CC) $(INCLUDES) $(CFLAGS) -c $< |
settings.o: ../settings.c |
$(CC) $(INCLUDES) $(CFLAGS) -c $< |
debug.o: ../debug.c |
$(CC) $(INCLUDES) $(CFLAGS) -c $< |
##Link |
$(TARGET): $(OBJECTS) |
$(CC) $(LDFLAGS) $(OBJECTS) $(LINKONLYOBJECTS) $(LIBDIRS) $(LIBS) -o $(TARGET) |
%.hex: $(TARGET) |
avr-objcopy -O ihex $(HEX_FLASH_FLAGS) $< $@ |
%.eep: $(TARGET) |
-avr-objcopy $(HEX_EEPROM_FLAGS) -O ihex $< $@ || exit 0 |
%.lss: $(TARGET) |
avr-objdump -h -S $< > $@ |
size: ${TARGET} |
@echo |
@avr-size -C --mcu=${MCU} ${TARGET} |
## Clean target |
.PHONY: clean |
clean: |
-rm -rf $(OBJECTS) MMT.elf dep/* MMT.hex MMT.eep |
## Other dependencies |
-include $(shell mkdir dep 2>/dev/null) $(wildcard dep/*) |
/Transportables_Koptertool/trunk/V-0.1/displ_val.c |
---|
0,0 → 1,83 |
#include <avr/io.h> |
#include <inttypes.h> |
#include <stdlib.h> |
#include <avr/pgmspace.h> |
#include "main.h" |
#include "base64.h" |
#include "lcd.h" |
#include "rs232.h" |
// Insgesamt 32 Werte können angezeigt werden |
// jeweils 8 Stück werden gleichzeitg angezeigt |
// Auswahl über Tasten |
uint8_t displ_page; |
void displ_get_text(uint8_t number) |
{ |
uint8_t text[17]; |
uint8_t i; |
p_buffer[0] = '#'; |
p_buffer[1] = 'a'; |
p_buffer[2] = 'a'; |
p_buffer[3] = number; |
p_buffer[4] = 0; |
p_buffer[5] = 0; |
base64_send(6); |
do |
{ |
get_message(); |
} |
while (r_buffer[1] != 'A'); |
for (i=0;i<16;i++) |
text[i] = p_buffer[i]; |
text[16] = 0x00; |
lcd_print_at(0,(number & 0x07),text,0); |
} |
void displ_values(void) |
{ |
uint8_t displ_page, i; |
int16_t value; |
uint8_t text[17]; |
displ_page = 0; // Page 0..3 (4 Pages zu je 8 Werte) |
lcd_cls(); // LCD löschen |
do |
{ |
for (i=0;i<8;i++) // Texte lesen und anzeigen |
displ_get_text(i+displ_page*8); |
do |
{ |
get_message(); |
if(r_buffer[1] == 'D') |
{ |
for (i=0;i<8;i++) |
{ |
value = p_buffer[i*2+displ_page*16+2] + 256*p_buffer[i*2+displ_page*16+3]; |
itoa(value,text,10); |
lcd_print_atp(14,i,PSTR(" "),0); |
lcd_print_at(14,i,text,0); |
} |
} |
} |
while (key == 0x00); |
if (key == 0x01) |
displ_page++; |
if (key == 0x02) |
displ_page--; |
displ_page &= 0x03; |
} |
while(key != 0x08); |
} |
/Transportables_Koptertool/trunk/V-0.1/displ_val.d |
---|
0,0 → 1,0 |
displ_val.o displ_val.d : displ_val.c main.h base64.h lcd.h rs232.h |
/Transportables_Koptertool/trunk/V-0.1/displ_val.h |
---|
0,0 → 1,6 |
#ifndef displ_val_h |
#define displ_val_h |
void displ_values(void); |
#endif |
/Transportables_Koptertool/trunk/V-0.1/displ_val.lst |
---|
0,0 → 1,284 |
1 .file "displ_val.c" |
2 .arch atmega32 |
3 __SREG__ = 0x3f |
4 __SP_H__ = 0x3e |
5 __SP_L__ = 0x3d |
6 __tmp_reg__ = 0 |
7 __zero_reg__ = 1 |
8 .global __do_copy_data |
9 .global __do_clear_bss |
17 .Ltext0: |
18 .global displ_get_text |
20 displ_get_text: |
21 .LFB4: |
22 .LM1: |
23 /* prologue: frame size=17 */ |
24 0000 1F93 push r17 |
25 0002 CF93 push r28 |
26 0004 DF93 push r29 |
27 0006 CDB7 in r28,__SP_L__ |
28 0008 DEB7 in r29,__SP_H__ |
29 000a 6197 sbiw r28,17 |
30 000c 0FB6 in __tmp_reg__,__SREG__ |
31 000e F894 cli |
32 0010 DEBF out __SP_H__,r29 |
33 0012 0FBE out __SREG__,__tmp_reg__ |
34 0014 CDBF out __SP_L__,r28 |
35 /* prologue end (size=11) */ |
36 0016 182F mov r17,r24 |
37 .LM2: |
38 0018 83E2 ldi r24,lo8(35) |
39 001a 8093 0000 sts p_buffer,r24 |
40 .LM3: |
41 001e 81E6 ldi r24,lo8(97) |
42 0020 8093 0000 sts p_buffer+1,r24 |
43 .LM4: |
44 0024 8093 0000 sts p_buffer+2,r24 |
45 .LM5: |
46 0028 1093 0000 sts p_buffer+3,r17 |
47 .LM6: |
48 002c 1092 0000 sts p_buffer+4,__zero_reg__ |
49 .LM7: |
50 0030 1092 0000 sts p_buffer+5,__zero_reg__ |
51 .LM8: |
52 0034 86E0 ldi r24,lo8(6) |
53 0036 0E94 0000 call base64_send |
54 .L2: |
55 .LM9: |
56 003a 0E94 0000 call get_message |
57 .LM10: |
58 003e 8091 0000 lds r24,r_buffer+1 |
59 0042 8134 cpi r24,lo8(65) |
60 0044 D1F7 brne .L2 |
61 0046 DE01 movw r26,r28 |
62 0048 1196 adiw r26,1 |
63 004a E0E0 ldi r30,lo8(p_buffer) |
64 004c F0E0 ldi r31,hi8(p_buffer) |
65 004e 9FE0 ldi r25,lo8(15) |
66 .L8: |
67 .LM11: |
68 0050 8191 ld r24,Z+ |
69 0052 8D93 st X+,r24 |
70 .LM12: |
71 0054 9150 subi r25,lo8(-(-1)) |
72 0056 97FF sbrs r25,7 |
73 0058 FBCF rjmp .L8 |
74 .LM13: |
75 005a 198A std Y+17,__zero_reg__ |
76 .LM14: |
77 005c 1770 andi r17,lo8(7) |
78 005e 2989 ldd r18,Y+17 |
79 0060 AE01 movw r20,r28 |
80 0062 4F5F subi r20,lo8(-(1)) |
81 0064 5F4F sbci r21,hi8(-(1)) |
82 0066 612F mov r22,r17 |
83 0068 822F mov r24,r18 |
84 006a 0E94 0000 call lcd_print_at |
85 /* epilogue: frame size=17 */ |
86 006e 6196 adiw r28,17 |
87 0070 0FB6 in __tmp_reg__,__SREG__ |
88 0072 F894 cli |
89 0074 DEBF out __SP_H__,r29 |
90 0076 0FBE out __SREG__,__tmp_reg__ |
91 0078 CDBF out __SP_L__,r28 |
92 007a DF91 pop r29 |
93 007c CF91 pop r28 |
94 007e 1F91 pop r17 |
95 0080 0895 ret |
96 /* epilogue end (size=10) */ |
97 /* function displ_get_text size 65 (44) */ |
98 .LFE4: |
100 .section .progmem.data,"a",@progbits |
103 __c.0: |
104 0000 2020 2020 .string " " |
104 2020 00 |
105 .text |
106 .global displ_values |
108 displ_values: |
109 .LFB5: |
110 .LM15: |
111 /* prologue: frame size=17 */ |
112 0082 CF92 push r12 |
113 0084 DF92 push r13 |
114 0086 EF92 push r14 |
115 0088 FF92 push r15 |
116 008a 0F93 push r16 |
117 008c 1F93 push r17 |
118 008e CF93 push r28 |
119 0090 DF93 push r29 |
120 0092 CDB7 in r28,__SP_L__ |
121 0094 DEB7 in r29,__SP_H__ |
122 0096 6197 sbiw r28,17 |
123 0098 0FB6 in __tmp_reg__,__SREG__ |
124 009a F894 cli |
125 009c DEBF out __SP_H__,r29 |
126 009e 0FBE out __SREG__,__tmp_reg__ |
127 00a0 CDBF out __SP_L__,r28 |
128 /* prologue end (size=16) */ |
129 .LM16: |
130 00a2 00E0 ldi r16,lo8(0) |
131 .LM17: |
132 00a4 0E94 0000 call lcd_cls |
133 .L12: |
134 .LM18: |
135 00a8 10E0 ldi r17,lo8(0) |
136 .L18: |
137 .LM19: |
138 00aa C02E mov r12,r16 |
139 00ac DD24 clr r13 |
140 00ae C601 movw r24,r12 |
141 00b0 53E0 ldi r21,3 |
142 00b2 880F 1: lsl r24 |
143 00b4 991F rol r25 |
144 00b6 5A95 dec r21 |
145 00b8 E1F7 brne 1b |
146 00ba 810F add r24,r17 |
147 00bc 0E94 0000 call displ_get_text |
148 .LM20: |
149 00c0 1F5F subi r17,lo8(-(1)) |
150 00c2 1830 cpi r17,lo8(8) |
151 00c4 90F3 brlo .L18 |
152 .L19: |
153 .LM21: |
154 00c6 0E94 0000 call get_message |
155 .LM22: |
156 00ca 8091 0000 lds r24,r_buffer+1 |
157 00ce 8434 cpi r24,lo8(68) |
158 00d0 91F5 brne .L21 |
159 .LM23: |
160 00d2 10E0 ldi r17,lo8(0) |
161 00d4 EE24 clr r14 |
162 00d6 FF24 clr r15 |
163 .L26: |
164 .LM24: |
165 00d8 F601 movw r30,r12 |
166 00da 43E0 ldi r20,3 |
167 00dc EE0F 1: lsl r30 |
168 00de FF1F rol r31 |
169 00e0 4A95 dec r20 |
170 00e2 E1F7 brne 1b |
171 00e4 EE0D add r30,r14 |
172 00e6 FF1D adc r31,r15 |
173 00e8 EE0F add r30,r30 |
174 00ea FF1F adc r31,r31 |
175 00ec E050 subi r30,lo8(-(p_buffer)) |
176 00ee F040 sbci r31,hi8(-(p_buffer)) |
177 00f0 2281 ldd r18,Z+2 |
178 00f2 8381 ldd r24,Z+3 |
179 00f4 9927 clr r25 |
180 00f6 982F mov r25,r24 |
181 00f8 8827 clr r24 |
182 .LM25: |
183 00fa 4AE0 ldi r20,lo8(10) |
184 00fc 50E0 ldi r21,hi8(10) |
185 00fe BE01 movw r22,r28 |
186 0100 6F5F subi r22,lo8(-(1)) |
187 0102 7F4F sbci r23,hi8(-(1)) |
188 0104 820F add r24,r18 |
189 0106 911D adc r25,__zero_reg__ |
190 0108 0E94 0000 call itoa |
191 .LM26: |
192 010c 20E0 ldi r18,lo8(0) |
193 010e 40E0 ldi r20,lo8(__c.0) |
194 0110 50E0 ldi r21,hi8(__c.0) |
195 0112 612F mov r22,r17 |
196 0114 8EE0 ldi r24,lo8(14) |
197 0116 0E94 0000 call lcd_print_atp |
198 .LM27: |
199 011a 20E0 ldi r18,lo8(0) |
200 011c AE01 movw r20,r28 |
201 011e 4F5F subi r20,lo8(-(1)) |
202 0120 5F4F sbci r21,hi8(-(1)) |
203 0122 612F mov r22,r17 |
204 0124 8EE0 ldi r24,lo8(14) |
205 0126 0E94 0000 call lcd_print_at |
206 .LM28: |
207 012a 1F5F subi r17,lo8(-(1)) |
208 012c 0894 sec |
209 012e E11C adc r14,__zero_reg__ |
210 0130 F11C adc r15,__zero_reg__ |
211 0132 1830 cpi r17,lo8(8) |
212 0134 88F2 brlo .L26 |
213 .L21: |
214 .LM29: |
215 0136 8091 0000 lds r24,key |
216 013a 8823 tst r24 |
217 013c 21F2 breq .L19 |
218 .LM30: |
219 013e 8091 0000 lds r24,key |
220 0142 8130 cpi r24,lo8(1) |
221 0144 09F4 brne .L27 |
222 .LM31: |
223 0146 0F5F subi r16,lo8(-(1)) |
224 .L27: |
225 .LM32: |
226 0148 8091 0000 lds r24,key |
227 014c 8230 cpi r24,lo8(2) |
228 014e 09F4 brne .L28 |
229 .LM33: |
230 0150 0150 subi r16,lo8(-(-1)) |
231 .L28: |
232 .LM34: |
233 0152 0370 andi r16,lo8(3) |
234 .LM35: |
235 0154 8091 0000 lds r24,key |
236 0158 8830 cpi r24,lo8(8) |
237 015a 09F0 breq .+2 |
238 015c A5CF rjmp .L12 |
239 /* epilogue: frame size=17 */ |
240 015e 6196 adiw r28,17 |
241 0160 0FB6 in __tmp_reg__,__SREG__ |
242 0162 F894 cli |
243 0164 DEBF out __SP_H__,r29 |
244 0166 0FBE out __SREG__,__tmp_reg__ |
245 0168 CDBF out __SP_L__,r28 |
246 016a DF91 pop r29 |
247 016c CF91 pop r28 |
248 016e 1F91 pop r17 |
249 0170 0F91 pop r16 |
250 0172 FF90 pop r15 |
251 0174 EF90 pop r14 |
252 0176 DF90 pop r13 |
253 0178 CF90 pop r12 |
254 017a 0895 ret |
255 /* epilogue end (size=15) */ |
256 /* function displ_values size 125 (94) */ |
257 .LFE5: |
259 .comm r_buffer,128,1 |
260 .comm p_buffer,128,1 |
261 .comm display_buffer,1024,1 |
262 .comm display_buffer_pointer,2,1 |
263 .comm display_buffer_counter,1,1 |
264 .comm display_page_counter,1,1 |
265 .comm display_mode,1,1 |
266 .comm displ_page,1,1 |
267 .Letext0: |
DEFINED SYMBOLS |
*ABS*:00000000 displ_val.c |
C:\DOKUME~1\thomas\LOKALE~1\Temp/ccG6aaaa.s:3 *ABS*:0000003f __SREG__ |
C:\DOKUME~1\thomas\LOKALE~1\Temp/ccG6aaaa.s:4 *ABS*:0000003e __SP_H__ |
C:\DOKUME~1\thomas\LOKALE~1\Temp/ccG6aaaa.s:5 *ABS*:0000003d __SP_L__ |
C:\DOKUME~1\thomas\LOKALE~1\Temp/ccG6aaaa.s:6 *ABS*:00000000 __tmp_reg__ |
C:\DOKUME~1\thomas\LOKALE~1\Temp/ccG6aaaa.s:7 *ABS*:00000001 __zero_reg__ |
C:\DOKUME~1\thomas\LOKALE~1\Temp/ccG6aaaa.s:20 .text:00000000 displ_get_text |
*COM*:00000080 p_buffer |
*COM*:00000080 r_buffer |
C:\DOKUME~1\thomas\LOKALE~1\Temp/ccG6aaaa.s:103 .progmem.data:00000000 __c.0 |
C:\DOKUME~1\thomas\LOKALE~1\Temp/ccG6aaaa.s:108 .text:00000082 displ_values |
*COM*:00000400 display_buffer |
*COM*:00000002 display_buffer_pointer |
*COM*:00000001 display_buffer_counter |
*COM*:00000001 display_page_counter |
*COM*:00000001 display_mode |
*COM*:00000001 displ_page |
UNDEFINED SYMBOLS |
__do_copy_data |
__do_clear_bss |
base64_send |
get_message |
lcd_print_at |
lcd_cls |
itoa |
lcd_print_atp |
key |
/Transportables_Koptertool/trunk/V-0.1/display.c |
---|
0,0 → 1,78 |
#include <avr/io.h> |
#include <inttypes.h> |
#include <stdlib.h> |
#include <avr/pgmspace.h> |
#include "main.h" |
#include "lcd.h" |
#include "rs232.h" |
#include "base64.h" |
#include "parameter.h" |
#include "menu.h" |
uint8_t read_display (uint8_t command) // |
{ |
uint8_t timeout; |
timeout = 0; |
p_buffer[0] = '#'; // Display-Zeile anfordern |
p_buffer[1] = 'a'; |
p_buffer[2] = 'h'; |
p_buffer[3] = command; |
p_buffer[4] = 0; |
p_buffer[5] = 0; |
base64_send(6); |
do // warten, bis die Parameter gesendet werden |
{ |
if (get_message() == 1) |
timeout = 10; |
timeout ++; |
} |
while (((r_buffer[1] < '0') || (r_buffer[1] > '4')) && (timeout < 10)); |
if (timeout >= 10) |
return 1; |
else |
return 0; |
} |
void display_data (void) |
{ |
uint8_t line; |
uint8_t text[10]; |
lcd_cls(); |
lcd_printp(PSTR("Display"),0); |
do |
{ |
while (key != 0x00); |
if (read_display(0) == 1) |
{ |
lcd_printp(PSTR("\r\nTimeout!"),0); |
timer = 200; |
while (timer > 0); |
break; |
} |
else |
{ |
line = r_buffer[1]; |
text[0] = line; |
text[1] = 0x00; |
lcd_print_at(10,0,text,0); |
lcd_print_at(0,line+1,p_buffer,0); |
timer = 10; |
while(timer > 0); |
if (key == 0x01) |
read_display(1); |
if (key == 0x02) |
read_display(2); |
} |
} |
while (key != 0x04); |
} |
/Transportables_Koptertool/trunk/V-0.1/display.d |
---|
0,0 → 1,0 |
display.o display.d : display.c main.h lcd.h rs232.h base64.h parameter.h menu.h |
/Transportables_Koptertool/trunk/V-0.1/display.h |
---|
0,0 → 1,6 |
#ifndef display_h |
#define display_h |
void display_data (void); |
#endif |
/Transportables_Koptertool/trunk/V-0.1/display.lst |
---|
0,0 → 1,235 |
1 .file "display.c" |
2 .arch atmega32 |
3 __SREG__ = 0x3f |
4 __SP_H__ = 0x3e |
5 __SP_L__ = 0x3d |
6 __tmp_reg__ = 0 |
7 __zero_reg__ = 1 |
8 .global __do_copy_data |
9 .global __do_clear_bss |
17 .Ltext0: |
18 .global read_display |
20 read_display: |
21 .LFB4: |
22 .LM1: |
23 /* prologue: frame size=0 */ |
24 0000 CF93 push r28 |
25 /* prologue end (size=1) */ |
26 .LM2: |
27 0002 C0E0 ldi r28,lo8(0) |
28 .LM3: |
29 0004 93E2 ldi r25,lo8(35) |
30 0006 9093 0000 sts p_buffer,r25 |
31 .LM4: |
32 000a 91E6 ldi r25,lo8(97) |
33 000c 9093 0000 sts p_buffer+1,r25 |
34 .LM5: |
35 0010 98E6 ldi r25,lo8(104) |
36 0012 9093 0000 sts p_buffer+2,r25 |
37 .LM6: |
38 0016 8093 0000 sts p_buffer+3,r24 |
39 .LM7: |
40 001a C093 0000 sts p_buffer+4,r28 |
41 .LM8: |
42 001e C093 0000 sts p_buffer+5,r28 |
43 .LM9: |
44 0022 86E0 ldi r24,lo8(6) |
45 0024 0E94 0000 call base64_send |
46 .L2: |
47 .LM10: |
48 0028 0E94 0000 call get_message |
49 002c 8130 cpi r24,lo8(1) |
50 002e 09F4 brne .L5 |
51 .LM11: |
52 0030 CAE0 ldi r28,lo8(10) |
53 .L5: |
54 .LM12: |
55 0032 CF5F subi r28,lo8(-(1)) |
56 .LM13: |
57 0034 8091 0000 lds r24,r_buffer+1 |
58 0038 8053 subi r24,lo8(-(-48)) |
59 003a 8530 cpi r24,lo8(5) |
60 003c 10F0 brlo .L3 |
61 003e CA30 cpi r28,lo8(10) |
62 0040 98F3 brlo .L2 |
63 .L3: |
64 .LM14: |
65 0042 CA30 cpi r28,lo8(10) |
66 0044 18F0 brlo .L6 |
67 .LM15: |
68 0046 81E0 ldi r24,lo8(1) |
69 0048 90E0 ldi r25,hi8(1) |
70 004a 02C0 rjmp .L1 |
71 .L6: |
72 .LM16: |
73 004c 80E0 ldi r24,lo8(0) |
74 004e 90E0 ldi r25,hi8(0) |
75 .L1: |
76 /* epilogue: frame size=0 */ |
77 0050 CF91 pop r28 |
78 0052 0895 ret |
79 /* epilogue end (size=2) */ |
80 /* function read_display size 42 (39) */ |
81 .LFE4: |
83 .section .progmem.data,"a",@progbits |
86 __c.0: |
87 0000 4469 7370 .string "Display" |
87 6C61 7900 |
90 __c.1: |
91 0008 0D0A 5469 .string "\r\nTimeout!" |
91 6D65 6F75 |
91 7421 00 |
92 .text |
93 .global display_data |
95 display_data: |
96 .LFB5: |
97 .LM17: |
98 /* prologue: frame size=10 */ |
99 0054 0F93 push r16 |
100 0056 1F93 push r17 |
101 0058 CF93 push r28 |
102 005a DF93 push r29 |
103 005c CDB7 in r28,__SP_L__ |
104 005e DEB7 in r29,__SP_H__ |
105 0060 2A97 sbiw r28,10 |
106 0062 0FB6 in __tmp_reg__,__SREG__ |
107 0064 F894 cli |
108 0066 DEBF out __SP_H__,r29 |
109 0068 0FBE out __SREG__,__tmp_reg__ |
110 006a CDBF out __SP_L__,r28 |
111 /* prologue end (size=12) */ |
112 .LM18: |
113 006c 0E94 0000 call lcd_cls |
114 .LM19: |
115 0070 60E0 ldi r22,lo8(0) |
116 0072 80E0 ldi r24,lo8(__c.0) |
117 0074 90E0 ldi r25,hi8(__c.0) |
118 0076 0E94 0000 call lcd_printp |
119 .L28: |
120 .LM20: |
121 007a 0091 0000 lds r16,key |
122 007e 0023 tst r16 |
123 0080 E1F7 brne .L28 |
124 .LM21: |
125 0082 802F mov r24,r16 |
126 0084 0E94 0000 call read_display |
127 0088 8130 cpi r24,lo8(1) |
128 008a 69F4 brne .L15 |
129 .LM22: |
130 008c 602F mov r22,r16 |
131 008e 80E0 ldi r24,lo8(__c.1) |
132 0090 90E0 ldi r25,hi8(__c.1) |
133 0092 0E94 0000 call lcd_printp |
134 .LM23: |
135 0096 88EC ldi r24,lo8(-56) |
136 0098 8093 0000 sts timer,r24 |
137 .L16: |
138 .LM24: |
139 009c 8091 0000 lds r24,timer |
140 00a0 8823 tst r24 |
141 00a2 E1F7 brne .L16 |
142 .LM25: |
143 00a4 2CC0 rjmp .L10 |
144 .L15: |
145 .LM26: |
146 00a6 1091 0000 lds r17,r_buffer+1 |
147 .LM27: |
148 00aa 1983 std Y+1,r17 |
149 .LM28: |
150 00ac 0A83 std Y+2,r16 |
151 .LM29: |
152 00ae 202F mov r18,r16 |
153 00b0 AE01 movw r20,r28 |
154 00b2 4F5F subi r20,lo8(-(1)) |
155 00b4 5F4F sbci r21,hi8(-(1)) |
156 00b6 602F mov r22,r16 |
157 00b8 8AE0 ldi r24,lo8(10) |
158 00ba 0E94 0000 call lcd_print_at |
159 .LM30: |
160 00be 1F5F subi r17,lo8(-(1)) |
161 00c0 202F mov r18,r16 |
162 00c2 40E0 ldi r20,lo8(p_buffer) |
163 00c4 50E0 ldi r21,hi8(p_buffer) |
164 00c6 612F mov r22,r17 |
165 00c8 802F mov r24,r16 |
166 00ca 0E94 0000 call lcd_print_at |
167 .LM31: |
168 00ce 8AE0 ldi r24,lo8(10) |
169 00d0 8093 0000 sts timer,r24 |
170 .L20: |
171 .LM32: |
172 00d4 8091 0000 lds r24,timer |
173 00d8 8823 tst r24 |
174 00da E1F7 brne .L20 |
175 .LM33: |
176 00dc 8091 0000 lds r24,key |
177 00e0 8130 cpi r24,lo8(1) |
178 00e2 11F4 brne .L23 |
179 .LM34: |
180 00e4 0E94 0000 call read_display |
181 .L23: |
182 .LM35: |
183 00e8 8091 0000 lds r24,key |
184 00ec 8230 cpi r24,lo8(2) |
185 00ee 11F4 brne .L11 |
186 .LM36: |
187 00f0 0E94 0000 call read_display |
188 .L11: |
189 .LM37: |
190 00f4 8091 0000 lds r24,key |
191 00f8 8430 cpi r24,lo8(4) |
192 00fa 09F0 breq .+2 |
193 00fc BECF rjmp .L28 |
194 .L10: |
195 /* epilogue: frame size=10 */ |
196 00fe 2A96 adiw r28,10 |
197 0100 0FB6 in __tmp_reg__,__SREG__ |
198 0102 F894 cli |
199 0104 DEBF out __SP_H__,r29 |
200 0106 0FBE out __SREG__,__tmp_reg__ |
201 0108 CDBF out __SP_L__,r28 |
202 010a DF91 pop r29 |
203 010c CF91 pop r28 |
204 010e 1F91 pop r17 |
205 0110 0F91 pop r16 |
206 0112 0895 ret |
207 /* epilogue end (size=11) */ |
208 /* function display_data size 96 (73) */ |
209 .LFE5: |
211 .comm r_buffer,128,1 |
212 .comm p_buffer,128,1 |
213 .comm display_buffer,1024,1 |
214 .comm display_buffer_pointer,2,1 |
215 .comm display_buffer_counter,1,1 |
216 .comm display_page_counter,1,1 |
217 .comm display_mode,1,1 |
218 .Letext0: |
DEFINED SYMBOLS |
*ABS*:00000000 display.c |
C:\DOKUME~1\thomas\LOKALE~1\Temp/cc8Aaaaa.s:3 *ABS*:0000003f __SREG__ |
C:\DOKUME~1\thomas\LOKALE~1\Temp/cc8Aaaaa.s:4 *ABS*:0000003e __SP_H__ |
C:\DOKUME~1\thomas\LOKALE~1\Temp/cc8Aaaaa.s:5 *ABS*:0000003d __SP_L__ |
C:\DOKUME~1\thomas\LOKALE~1\Temp/cc8Aaaaa.s:6 *ABS*:00000000 __tmp_reg__ |
C:\DOKUME~1\thomas\LOKALE~1\Temp/cc8Aaaaa.s:7 *ABS*:00000001 __zero_reg__ |
C:\DOKUME~1\thomas\LOKALE~1\Temp/cc8Aaaaa.s:20 .text:00000000 read_display |
*COM*:00000080 p_buffer |
*COM*:00000080 r_buffer |
C:\DOKUME~1\thomas\LOKALE~1\Temp/cc8Aaaaa.s:86 .progmem.data:00000000 __c.0 |
C:\DOKUME~1\thomas\LOKALE~1\Temp/cc8Aaaaa.s:90 .progmem.data:00000008 __c.1 |
C:\DOKUME~1\thomas\LOKALE~1\Temp/cc8Aaaaa.s:95 .text:00000054 display_data |
*COM*:00000400 display_buffer |
*COM*:00000002 display_buffer_pointer |
*COM*:00000001 display_buffer_counter |
*COM*:00000001 display_page_counter |
*COM*:00000001 display_mode |
UNDEFINED SYMBOLS |
__do_copy_data |
__do_clear_bss |
base64_send |
get_message |
lcd_cls |
lcd_printp |
key |
timer |
lcd_print_at |
/Transportables_Koptertool/trunk/V-0.1/font8x6.h |
---|
0,0 → 1,9 |
#ifndef font8x6_h |
#define font8x6_h |
#include <avr/pgmspace.h> |
extern prog_uint8_t f8x6[256][6]; |
#endif |
/Transportables_Koptertool/trunk/V-0.1/lcd.c |
---|
0,0 → 1,557 |
#define F_CPU 7372800UL |
#include <avr/io.h> |
#include <inttypes.h> |
#include <stdlib.h> |
#include <avr/pgmspace.h> |
#include <util/delay.h> |
#include "font8x6.h" |
#include "main.h" |
#include "lcd.h" |
#define DISP_W 128 |
#define DISP_H 64 |
// #define LCD_ORIENTATION 0 // 0 MJ Tasten unten / 4 Original Tasten oben |
uint8_t lcd_xpos; |
uint8_t lcd_ypos; |
//volatile uint8_t display_buffer[1024]; // Display-Puffer, weil nicht zurückgelesen werden kann |
//volatile uint16_t display_buffer_pointer; // Pointer auf das aktuell übertragene Byte |
//volatile uint8_t display_buffer_counter; // Hilfszähler zur Selektierung der Page |
//volatile uint8_t display_page_counter; // aktuelle Page-Nummer |
//volatile uint8_t display_mode; // Modus für State-Machine |
void send_byte (uint8_t data) |
{ |
clr_cs(); |
SPDR = data; |
while(!(SPSR & (1<<SPIF))); |
SPSR = SPSR; |
set_cs(); |
} |
void cls (void) |
{ |
uint16_t i,j; |
for (i=0;i<1024;i++) |
display_buffer[i] = 0x00; |
for (i=0;i<8;i++) |
{ |
clr_A0(); |
send_byte(0xB0+i); //1011xxxx |
send_byte(0x10); //00010000 |
// send_byte(0x04); //00000100 gedreht plus 4 Byte |
// send_byte(0x00); //00000000 |
send_byte(LCD_ORIENTATION); //00000000 |
set_A0(); |
for (j=0;j<128;j++) |
send_byte(0x00); |
} |
lcd_xpos = 0; |
lcd_ypos = 0; |
} |
void lcd_cls (void) |
{ |
cls(); |
} |
void wait_1ms(void) |
{ |
_delay_ms (1.0); |
} |
void wait_ms (uint16_t time) |
{ |
uint16_t i; |
for (i=0; i<time; i++) |
wait_1ms(); |
} |
void lcd_init (void) |
{ |
lcd_xpos = 0; |
lcd_ypos = 0; |
DDRB = 0xFF; |
SPCR = (1<<SPE)|(1<<MSTR)|(1<<CPHA)|(1<<CPOL)|(1<<SPR1); |
set_cs(); |
clr_reset(); |
wait_ms(10); |
set_reset(); |
clr_cs(); |
clr_A0(); |
send_byte(0x40); |
if (LCD_ORIENTATION == 0) |
{ |
send_byte(0xA1); // A1 normal A0 reverse(original) |
send_byte(0xC0); // C0 normal C8 reverse(original) |
} |
else |
{ |
send_byte(0xA0); // A1 normal A0 reverse(original) |
send_byte(0xC8); // C0 normal C8 reverse(original) |
} |
send_byte(0xA6); |
send_byte(0xA2); |
send_byte(0x2F); |
send_byte(0xF8); |
send_byte(0x00); |
send_byte(0x27); |
send_byte(0x81); |
send_byte(0x16); |
send_byte(0xAC); |
send_byte(0x00); |
send_byte(0xAF); |
cls(); |
} |
void set_adress (uint16_t adress, uint8_t data) |
{ |
uint8_t page; |
uint8_t column; |
page = adress >> 7; |
clr_A0(); |
send_byte(0xB0 + page); |
// column = (adress & 0x7F) + 4; Wenn gedreht |
// column = (adress & 0x7F); |
column = (adress & 0x7F) + LCD_ORIENTATION; |
send_byte(0x10 + (column >> 4)); |
send_byte(column & 0x0F); |
set_A0(); |
send_byte(data); |
} |
void scroll (void) |
{ |
uint16_t adress; |
for (adress=0;adress<896;adress++) |
{ |
display_buffer[adress] = display_buffer[adress+128]; |
set_adress(adress,display_buffer[adress]); |
} |
for (adress=896;adress<1024;adress++) |
{ |
display_buffer[adress] = 0; |
set_adress(adress,0); |
} |
} |
// |
// x,y = character-Pos. ! |
// |
// mode: 0=Overwrite, 1 = OR, 2 = XOR, 3 = AND, 4 = Delete |
void put_char (uint8_t x, uint8_t y, uint8_t c, uint8_t mode) |
{ |
uint8_t ch; |
uint8_t i; |
uint16_t adress; |
switch(c) |
{ |
case 'ä': |
c = 0x84; |
break; |
case 'ö': |
c = 0x94; |
break; |
case 'ü': |
c = 0x81; |
break; |
case 'Ä': |
c = 0x8E; |
break; |
case 'Ö': |
c = 0x99; |
break; |
case 'Ü': |
c = 0x9A; |
break; |
case 'ß': |
c = 0xE1; |
break; |
} |
adress = y*128 + x*6; |
adress &= 0x3FF; |
for (i=0;i<6;i++) |
{ |
ch = pgm_read_byte (&f8x6[0][0] + i + c * 6); |
switch (mode) |
{ |
case 0: |
display_buffer[adress+i] = ch; |
break; |
case 1: |
display_buffer[adress+i] |= ch; |
break; |
case 2: |
display_buffer[adress+i] ^= ch; |
break; |
case 3: |
display_buffer[adress+i] &= ch; |
break; |
case 4: |
display_buffer[adress+i] &= ~ch; |
break; |
} |
set_adress(adress+i,display_buffer[adress+i]); |
} |
} |
void new_line (void) |
{ |
lcd_ypos++; |
if (lcd_ypos > 7) |
{ |
scroll(); |
lcd_ypos = 7; |
} |
} |
void lcd_printp (const char *text, uint8_t mode) |
{ |
while (pgm_read_byte(text)) |
{ |
if (pgm_read_byte(text) > 0x1F) |
{ |
put_char(lcd_xpos,lcd_ypos,pgm_read_byte(text++),mode); |
lcd_xpos++; |
if (lcd_xpos > 20) |
{ |
lcd_xpos = 0; |
new_line(); |
} |
} |
else |
{ |
switch (pgm_read_byte(text)) |
{ |
case 0x0D: |
lcd_xpos = 0; |
break; |
case 0x0A: |
new_line(); |
break; |
} |
text++; |
} |
} |
} |
void lcd_print_atp (uint8_t x, uint8_t y, const char *text, uint8_t mode) |
{ |
lcd_xpos = x; |
lcd_ypos = y; |
lcd_printp (text, mode); |
} |
void lcd_print (uint8_t *text, uint8_t mode) |
{ |
while (*text) |
{ |
if (*text > 0x1F) |
{ |
put_char(lcd_xpos,lcd_ypos,*text++,mode); |
lcd_xpos++; |
if (lcd_xpos > 20) |
{ |
lcd_xpos = 0; |
new_line(); |
} |
} |
else |
{ |
switch (*text) |
{ |
case 0x0D: |
lcd_xpos = 0; |
break; |
case 0x0A: |
new_line(); |
break; |
} |
text++; |
} |
} |
} |
void lcd_print_at (uint8_t x, uint8_t y, uint8_t *text, uint8_t mode) |
{ |
lcd_xpos = x; |
lcd_ypos = y; |
lcd_print(text, mode); |
} |
// ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++ |
// + Plot (set one Pixel) |
// ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++ |
// mode: |
// 0=Clear, 1=Set, 2=XOR |
void lcd_plot (uint8_t xpos, uint8_t ypos, uint8_t mode) |
{ |
uint16_t adress; |
uint8_t mask; |
if ((xpos < 128) && (ypos < 64)) |
{ |
adress = (ypos/8) * 128 + xpos; // adress = 0/8 * 128 + 0 = 0 |
mask = 1<<(ypos & 0x07); // mask = 1<<0 = 1 |
adress &= 0x3FF; |
switch (mode) |
{ |
case 0: |
display_buffer[adress] &=~mask; |
break; |
case 1: |
display_buffer[adress] |= mask; |
break; |
case 2: |
display_buffer[adress] ^= mask; |
break; |
} |
set_adress(adress,display_buffer[adress]); |
} |
} |
// ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++ |
// + Line (draws a line from x1,y1 to x2,y2 |
// + Based on Bresenham line-Algorithm |
// + found in the internet, modified by thkais 2007 |
// ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++ |
void lcd_line(unsigned char x1, unsigned char y1, unsigned char x2, unsigned char y2, uint8_t mode) |
{ |
int x,y,count,xs,ys,xm,ym; |
x=(int)x1; |
y=(int)y1; |
xs=(int)x2 - (int)x1; |
ys=(int)y2 - (int)y1; |
if(xs < 0) |
xm= -1; |
else |
if(xs > 0) |
xm= 1; |
else |
xm= 0; |
if(ys < 0) |
ym= -1; |
else |
if(ys > 0) |
ym= 1; |
else |
ym= 0; |
if(xs < 0) |
xs= -xs; |
if(ys < 0) |
ys= -ys; |
lcd_plot((unsigned char)x, (unsigned char)y, mode); |
if(xs > ys) // Flat Line <45 degrees |
{ |
count= -(xs / 2); |
while(x != x2) |
{ |
count= count + ys; |
x= x + xm; |
if(count > 0) |
{ |
y= y + ym; |
count= count - xs; |
} |
lcd_plot((unsigned char)x, (unsigned char)y, mode); |
} |
} |
else // Line >=45 degrees |
{ |
count=- (ys / 2); |
while(y != y2) |
{ |
count= count + xs; |
y= y + ym; |
if(count > 0) |
{ |
x= x + xm; |
count= count - ys; |
} |
lcd_plot((unsigned char)x, (unsigned char)y, mode); |
} |
} |
} |
// ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++ |
// + Filled rectangle |
// + x1, y1 = upper left corner |
// ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++ |
void lcd_frect (uint8_t x1, uint8_t y1, uint8_t widthx, uint8_t widthy, uint8_t mode) |
{ |
uint16_t x2, y2; |
uint16_t i; |
if (x1 >= DISP_W) |
x1 = DISP_W - 1; |
if (y1 >= DISP_H) |
y1 = DISP_H - 1; |
x2 = x1 + widthx; |
y2 = y1 + widthy; |
if (x2 > DISP_W) |
x2 = DISP_W; |
if (y2 > DISP_H) |
y2 = DISP_H; |
for (i=y1;i<=y2;i++) |
{ |
lcd_line(x1,i,x2,i,mode); |
} |
} |
// ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++ |
// + outline of rectangle |
// + x1, y1 = upper left corner |
// ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++ |
void lcd_rect (uint8_t x1, uint8_t y1, uint8_t widthx, uint8_t widthy, uint8_t mode) |
{ |
uint16_t x2, y2; |
if (x1 >= DISP_W) |
x1 = DISP_W - 1; |
if (y1 >= DISP_H) |
y1 = DISP_H - 1; |
x2 = x1 + widthx; |
y2 = y1 + widthy; |
if (x2 > DISP_W) |
x2 = DISP_W; |
if (y2 > DISP_H) |
y2 = DISP_H; |
lcd_line (x1, y1, x2, y1, mode); |
lcd_line (x2, y1, x2, y2, mode); |
lcd_line (x2, y2, x1, y2, mode); |
lcd_line (x1, y2, x1, y1, mode); |
} |
// ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++ |
// + outline of a circle |
// + Based on Bresenham-algorithm found in wikipedia |
// + modified by thkais (2007) |
// ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++ |
void draw_circle(int16_t x0, int16_t y0, int16_t radius, uint8_t mode) |
{ |
int16_t f = 1 - radius; |
int16_t ddF_x = 0; |
int16_t ddF_y = -2 * radius; |
int16_t x = 0; |
int16_t y = radius; |
lcd_plot(x0, y0 + radius, mode); |
lcd_plot(x0, y0 - radius, mode); |
lcd_plot(x0 + radius, y0, mode); |
lcd_plot(x0 - radius, y0, mode); |
while(x < y) |
{ |
if(f >= 0) |
{ |
y --; |
ddF_y += 2; |
f += ddF_y; |
} |
x ++; |
ddF_x += 2; |
f += ddF_x + 1; |
lcd_plot(x0 + x, y0 + y, mode); |
lcd_plot(x0 - x, y0 + y, mode); |
lcd_plot(x0 + x, y0 - y, mode); |
lcd_plot(x0 - x, y0 - y, mode); |
lcd_plot(x0 + y, y0 + x, mode); |
lcd_plot(x0 - y, y0 + x, mode); |
lcd_plot(x0 + y, y0 - x, mode); |
lcd_plot(x0 - y, y0 - x, mode); |
} |
} |
// ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++ |
// + filled Circle |
// + modified circle-algorithm thkais (2007) |
// ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++ |
void draw_fcircle(int16_t x0, int16_t y0, int16_t radius) |
{ |
int16_t f = 1 - radius; |
int16_t ddF_x = 0; |
int16_t ddF_y = -2 * radius; |
int16_t x = 0; |
int16_t y = radius; |
lcd_line(x0, y0 + radius,x0, y0 - radius,1); |
lcd_line(x0 + radius, y0,x0 - radius, y0,1); |
while(x < y) |
{ |
if(f >= 0) |
{ |
y--; |
ddF_y += 2; |
f += ddF_y; |
} |
x++; |
ddF_x += 2; |
f += ddF_x + 1; |
lcd_line(x0 + x, y0 + y,x0 - x, y0 + y,1); |
lcd_line(x0 + x, y0 - y,x0 - x, y0 - y,1); |
lcd_line(x0 + y, y0 + x,x0 - y, y0 + x,1); |
lcd_line(x0 + y, y0 - x,x0 - y, y0 - x,1); |
} |
} |
/Transportables_Koptertool/trunk/V-0.1/lcd.d |
---|
0,0 → 1,0 |
lcd.o lcd.d : lcd.c font8x6.h main.h lcd.h |
/Transportables_Koptertool/trunk/V-0.1/lcd.h |
---|
0,0 → 1,27 |
#ifndef graphics_h |
#define graphics_h |
void lcd_init (void); |
void lcd_plot (uint8_t x, uint8_t y, uint8_t mode); |
void lcd_rect (uint8_t x1, uint8_t y1, uint8_t widthx, uint8_t widthy,uint8_t mode); |
void lcd_frect (uint8_t x1, uint8_t y1, uint8_t x2, uint8_t y2, uint8_t mode); |
void draw_circle(int16_t x0, int16_t y0, int16_t radius, uint8_t mode); |
void draw_fcircle(int16_t x0, int16_t y0, int16_t radius); |
void put_char (uint8_t x, uint8_t y, uint8_t c, uint8_t mode); |
void lcd_line(unsigned char x1, unsigned char y1, unsigned char x2, unsigned char y2, uint8_t mode); |
void send_byte (uint8_t data); |
void lcd_print(uint8_t *text, uint8_t mode); |
void lcd_print_at (uint8_t x, uint8_t y, uint8_t *text, uint8_t mode); |
void lcd_printp (const char *text, uint8_t mode); |
void lcd_print_atp (uint8_t x, uint8_t y, const char *text, uint8_t mode); |
void lcd_cls (void); |
volatile uint8_t display_buffer[1024]; // Display-Puffer, weil nicht zurückgelesen werden kann |
volatile uint16_t display_buffer_pointer; // Pointer auf das aktuell übertragene Byte |
volatile uint8_t display_buffer_counter; // Hilfszähler zur Selektierung der Page |
volatile uint8_t display_page_counter; // aktuelle Page-Nummer |
volatile uint8_t display_mode; // Modus für State-Machine |
volatile uint8_t LCD_ORIENTATION; |
#endif |
/Transportables_Koptertool/trunk/V-0.1/lcd.lst |
---|
0,0 → 1,1805 |
1 .file "lcd.c" |
2 .arch atmega32 |
3 __SREG__ = 0x3f |
4 __SP_H__ = 0x3e |
5 __SP_L__ = 0x3d |
6 __tmp_reg__ = 0 |
7 __zero_reg__ = 1 |
8 .global __do_copy_data |
9 .global __do_clear_bss |
17 .Ltext0: |
18 .global send_byte |
20 send_byte: |
21 .LFB8: |
22 .LM1: |
23 /* prologue: frame size=0 */ |
24 /* prologue end (size=0) */ |
25 .LM2: |
26 0000 C498 cbi 56-0x20,4 |
27 .LM3: |
28 0002 8FB9 out 47-0x20,r24 |
29 .L2: |
30 .LM4: |
31 0004 779B sbis 46-0x20,7 |
32 0006 FECF rjmp .L2 |
33 .LM5: |
34 0008 8EB1 in r24,46-0x20 |
35 000a 8EB9 out 46-0x20,r24 |
36 .LM6: |
37 000c C49A sbi 56-0x20,4 |
38 /* epilogue: frame size=0 */ |
39 000e 0895 ret |
40 /* epilogue end (size=1) */ |
41 /* function send_byte size 8 (7) */ |
42 .LFE8: |
44 .global cls |
46 cls: |
47 .LFB9: |
48 .LM7: |
49 /* prologue: frame size=0 */ |
50 0010 0F93 push r16 |
51 0012 1F93 push r17 |
52 0014 CF93 push r28 |
53 0016 DF93 push r29 |
54 /* prologue end (size=4) */ |
55 0018 80E0 ldi r24,lo8(display_buffer) |
56 001a 90E0 ldi r25,hi8(display_buffer) |
57 001c FC01 movw r30,r24 |
58 .L9: |
59 .LM8: |
60 001e 1192 st Z+,__zero_reg__ |
61 0020 0196 adiw r24,1 |
62 .LM9: |
63 0022 20E0 ldi r18,hi8(display_buffer+1023) |
64 0024 8030 cpi r24,lo8(display_buffer+1023) |
65 0026 9207 cpc r25,r18 |
66 0028 D1F3 breq .L9 |
67 002a C8F3 brlo .L9 |
68 .LM10: |
69 002c 00E0 ldi r16,lo8(0) |
70 002e 10E0 ldi r17,hi8(0) |
71 .L17: |
72 .LM11: |
73 0030 C398 cbi 56-0x20,3 |
74 .LM12: |
75 0032 802F mov r24,r16 |
76 0034 8055 subi r24,lo8(-(-80)) |
77 0036 0E94 0000 call send_byte |
78 .LM13: |
79 003a 80E1 ldi r24,lo8(16) |
80 003c 0E94 0000 call send_byte |
81 .LM14: |
82 0040 84E0 ldi r24,lo8(4) |
83 0042 0E94 0000 call send_byte |
84 .LM15: |
85 0046 C39A sbi 56-0x20,3 |
86 0048 CFE7 ldi r28,lo8(127) |
87 004a D0E0 ldi r29,hi8(127) |
88 .L16: |
89 .LM16: |
90 004c 80E0 ldi r24,lo8(0) |
91 004e 0E94 0000 call send_byte |
92 .LM17: |
93 0052 2197 sbiw r28,1 |
94 0054 D7FF sbrs r29,7 |
95 0056 FACF rjmp .L16 |
96 .LM18: |
97 0058 0F5F subi r16,lo8(-(1)) |
98 005a 1F4F sbci r17,hi8(-(1)) |
99 005c 0830 cpi r16,8 |
100 005e 1105 cpc r17,__zero_reg__ |
101 0060 38F3 brlo .L17 |
102 .LM19: |
103 0062 1092 0000 sts lcd_xpos,__zero_reg__ |
104 .LM20: |
105 0066 1092 0000 sts lcd_ypos,__zero_reg__ |
106 /* epilogue: frame size=0 */ |
107 006a DF91 pop r29 |
108 006c CF91 pop r28 |
109 006e 1F91 pop r17 |
110 0070 0F91 pop r16 |
111 0072 0895 ret |
112 /* epilogue end (size=5) */ |
113 /* function cls size 50 (41) */ |
114 .LFE9: |
116 .global lcd_cls |
118 lcd_cls: |
119 .LFB10: |
120 .LM21: |
121 /* prologue: frame size=0 */ |
122 /* prologue end (size=0) */ |
123 .LM22: |
124 0074 0E94 0000 call cls |
125 /* epilogue: frame size=0 */ |
126 0078 0895 ret |
127 /* epilogue end (size=1) */ |
128 /* function lcd_cls size 3 (2) */ |
129 .LFE10: |
131 .global wait_1ms |
133 wait_1ms: |
134 .LFB11: |
135 .LM23: |
136 /* prologue: frame size=0 */ |
137 /* prologue end (size=0) */ |
138 .LBB2: |
139 .LBB3: |
140 .LM24: |
141 007a 83E3 ldi r24,lo8(1843) |
142 007c 97E0 ldi r25,hi8(1843) |
143 .LBB4: |
144 .LBB5: |
145 .LM25: |
146 /* #APP */ |
147 007e 0197 1: sbiw r24,1 |
148 0080 F1F7 brne 1b |
149 /* #NOAPP */ |
150 .LBE5: |
151 .LBE4: |
152 .LBE3: |
153 .LBE2: |
154 /* epilogue: frame size=0 */ |
155 0082 0895 ret |
156 /* epilogue end (size=1) */ |
157 /* function wait_1ms size 7 (6) */ |
158 .LFE11: |
160 .global wait_ms |
162 wait_ms: |
163 .LFB12: |
164 .LM26: |
165 /* prologue: frame size=0 */ |
166 0084 0F93 push r16 |
167 0086 1F93 push r17 |
168 0088 CF93 push r28 |
169 008a DF93 push r29 |
170 /* prologue end (size=4) */ |
171 008c 8C01 movw r16,r24 |
172 .LM27: |
173 008e C0E0 ldi r28,lo8(0) |
174 0090 D0E0 ldi r29,hi8(0) |
175 0092 C817 cp r28,r24 |
176 0094 D907 cpc r29,r25 |
177 0096 30F4 brsh .L40 |
178 .L38: |
179 .LM28: |
180 0098 0E94 0000 call wait_1ms |
181 .LM29: |
182 009c 2196 adiw r28,1 |
183 009e C017 cp r28,r16 |
184 00a0 D107 cpc r29,r17 |
185 00a2 D0F3 brlo .L38 |
186 .L40: |
187 /* epilogue: frame size=0 */ |
188 00a4 DF91 pop r29 |
189 00a6 CF91 pop r28 |
190 00a8 1F91 pop r17 |
191 00aa 0F91 pop r16 |
192 00ac 0895 ret |
193 /* epilogue end (size=5) */ |
194 /* function wait_ms size 21 (12) */ |
195 .LFE12: |
197 .global lcd_init |
199 lcd_init: |
200 .LFB13: |
201 .LM30: |
202 /* prologue: frame size=0 */ |
203 /* prologue end (size=0) */ |
204 .LM31: |
205 00ae 1092 0000 sts lcd_xpos,__zero_reg__ |
206 .LM32: |
207 00b2 1092 0000 sts lcd_ypos,__zero_reg__ |
208 .LM33: |
209 00b6 8FEF ldi r24,lo8(-1) |
210 00b8 87BB out 55-0x20,r24 |
211 .LM34: |
212 00ba 8EE5 ldi r24,lo8(94) |
213 00bc 8DB9 out 45-0x20,r24 |
214 .LM35: |
215 00be C49A sbi 56-0x20,4 |
216 .LM36: |
217 00c0 C298 cbi 56-0x20,2 |
218 .LM37: |
219 00c2 8AE0 ldi r24,lo8(10) |
220 00c4 90E0 ldi r25,hi8(10) |
221 00c6 0E94 0000 call wait_ms |
222 .LM38: |
223 00ca C29A sbi 56-0x20,2 |
224 .LM39: |
225 00cc C498 cbi 56-0x20,4 |
226 .LM40: |
227 00ce C398 cbi 56-0x20,3 |
228 .LM41: |
229 00d0 80E4 ldi r24,lo8(64) |
230 00d2 0E94 0000 call send_byte |
231 .LM42: |
232 00d6 80EA ldi r24,lo8(-96) |
233 00d8 0E94 0000 call send_byte |
234 .LM43: |
235 00dc 88EC ldi r24,lo8(-56) |
236 00de 0E94 0000 call send_byte |
237 .LM44: |
238 00e2 86EA ldi r24,lo8(-90) |
239 00e4 0E94 0000 call send_byte |
240 .LM45: |
241 00e8 82EA ldi r24,lo8(-94) |
242 00ea 0E94 0000 call send_byte |
243 .LM46: |
244 00ee 8FE2 ldi r24,lo8(47) |
245 00f0 0E94 0000 call send_byte |
246 .LM47: |
247 00f4 88EF ldi r24,lo8(-8) |
248 00f6 0E94 0000 call send_byte |
249 .LM48: |
250 00fa 80E0 ldi r24,lo8(0) |
251 00fc 0E94 0000 call send_byte |
252 .LM49: |
253 0100 87E2 ldi r24,lo8(39) |
254 0102 0E94 0000 call send_byte |
255 .LM50: |
256 0106 81E8 ldi r24,lo8(-127) |
257 0108 0E94 0000 call send_byte |
258 .LM51: |
259 010c 86E1 ldi r24,lo8(22) |
260 010e 0E94 0000 call send_byte |
261 .LM52: |
262 0112 8CEA ldi r24,lo8(-84) |
263 0114 0E94 0000 call send_byte |
264 .LM53: |
265 0118 80E0 ldi r24,lo8(0) |
266 011a 0E94 0000 call send_byte |
267 .LM54: |
268 011e 8FEA ldi r24,lo8(-81) |
269 0120 0E94 0000 call send_byte |
270 .LM55: |
271 0124 0E94 0000 call cls |
272 /* epilogue: frame size=0 */ |
273 0128 0895 ret |
274 /* epilogue end (size=1) */ |
275 /* function lcd_init size 62 (61) */ |
276 .LFE13: |
278 .global set_adress |
280 set_adress: |
281 .LFB14: |
282 .LM56: |
283 /* prologue: frame size=0 */ |
284 012a FF92 push r15 |
285 012c 0F93 push r16 |
286 012e 1F93 push r17 |
287 /* prologue end (size=3) */ |
288 0130 8C01 movw r16,r24 |
289 0132 F62E mov r15,r22 |
290 .LM57: |
291 0134 880F lsl r24 |
292 0136 892F mov r24,r25 |
293 0138 881F rol r24 |
294 013a 990B sbc r25,r25 |
295 013c 9195 neg r25 |
296 .LM58: |
297 013e C398 cbi 56-0x20,3 |
298 .LM59: |
299 0140 8055 subi r24,lo8(-(-80)) |
300 0142 0E94 0000 call send_byte |
301 .LM60: |
302 0146 102F mov r17,r16 |
303 0148 1F77 andi r17,lo8(127) |
304 014a 1C5F subi r17,lo8(-(4)) |
305 .LM61: |
306 014c 812F mov r24,r17 |
307 014e 8295 swap r24 |
308 0150 8F70 andi r24,0x0f |
309 0152 805F subi r24,lo8(-(16)) |
310 0154 0E94 0000 call send_byte |
311 .LM62: |
312 0158 812F mov r24,r17 |
313 015a 8F70 andi r24,lo8(15) |
314 015c 0E94 0000 call send_byte |
315 .LM63: |
316 0160 C39A sbi 56-0x20,3 |
317 .LM64: |
318 0162 8F2D mov r24,r15 |
319 0164 0E94 0000 call send_byte |
320 /* epilogue: frame size=0 */ |
321 0168 1F91 pop r17 |
322 016a 0F91 pop r16 |
323 016c FF90 pop r15 |
324 016e 0895 ret |
325 /* epilogue end (size=4) */ |
326 /* function set_adress size 35 (28) */ |
327 .LFE14: |
329 .global scroll |
331 scroll: |
332 .LFB15: |
333 .LM65: |
334 /* prologue: frame size=0 */ |
335 0170 EF92 push r14 |
336 0172 FF92 push r15 |
337 0174 0F93 push r16 |
338 0176 1F93 push r17 |
339 0178 CF93 push r28 |
340 017a DF93 push r29 |
341 /* prologue end (size=6) */ |
342 .LM66: |
343 017c C0E0 ldi r28,lo8(0) |
344 017e D0E0 ldi r29,hi8(0) |
345 0180 30E0 ldi r19,lo8(display_buffer+128) |
346 0182 E32E mov r14,r19 |
347 0184 30E0 ldi r19,hi8(display_buffer+128) |
348 0186 F32E mov r15,r19 |
349 0188 8701 movw r16,r14 |
350 018a 0058 subi r16,lo8(-(-128)) |
351 018c 1040 sbci r17,hi8(-(-128)) |
352 .L47: |
353 .LM67: |
354 018e F701 movw r30,r14 |
355 0190 8191 ld r24,Z+ |
356 0192 7F01 movw r14,r30 |
357 0194 F801 movw r30,r16 |
358 0196 8083 st Z,r24 |
359 .LM68: |
360 0198 6191 ld r22,Z+ |
361 019a 8F01 movw r16,r30 |
362 019c CE01 movw r24,r28 |
363 019e 0E94 0000 call set_adress |
364 .LM69: |
365 01a2 2196 adiw r28,1 |
366 01a4 F3E0 ldi r31,hi8(896) |
367 01a6 C038 cpi r28,lo8(896) |
368 01a8 DF07 cpc r29,r31 |
369 01aa 88F3 brlo .L47 |
370 01ac C0E8 ldi r28,lo8(896) |
371 01ae D3E0 ldi r29,hi8(896) |
372 01b0 00E0 ldi r16,lo8(display_buffer+896) |
373 01b2 10E0 ldi r17,hi8(display_buffer+896) |
374 .L51: |
375 .LM70: |
376 01b4 F801 movw r30,r16 |
377 01b6 1192 st Z+,__zero_reg__ |
378 01b8 8F01 movw r16,r30 |
379 .LM71: |
380 01ba 60E0 ldi r22,lo8(0) |
381 01bc CE01 movw r24,r28 |
382 01be 0E94 0000 call set_adress |
383 .LM72: |
384 01c2 2196 adiw r28,1 |
385 01c4 F4E0 ldi r31,hi8(1024) |
386 01c6 C030 cpi r28,lo8(1024) |
387 01c8 DF07 cpc r29,r31 |
388 01ca A0F3 brlo .L51 |
389 /* epilogue: frame size=0 */ |
390 01cc DF91 pop r29 |
391 01ce CF91 pop r28 |
392 01d0 1F91 pop r17 |
393 01d2 0F91 pop r16 |
394 01d4 FF90 pop r15 |
395 01d6 EF90 pop r14 |
396 01d8 0895 ret |
397 /* epilogue end (size=7) */ |
398 /* function scroll size 53 (40) */ |
399 .LFE15: |
401 .global put_char |
403 put_char: |
404 .LFB16: |
405 .LM73: |
406 /* prologue: frame size=0 */ |
407 01da BF92 push r11 |
408 01dc CF92 push r12 |
409 01de DF92 push r13 |
410 01e0 EF92 push r14 |
411 01e2 FF92 push r15 |
412 01e4 0F93 push r16 |
413 01e6 1F93 push r17 |
414 01e8 CF93 push r28 |
415 01ea DF93 push r29 |
416 /* prologue end (size=9) */ |
417 01ec 382F mov r19,r24 |
418 01ee F42E mov r15,r20 |
419 01f0 B22E mov r11,r18 |
420 .LM74: |
421 01f2 842F mov r24,r20 |
422 01f4 9927 clr r25 |
423 01f6 8F3D cpi r24,223 |
424 01f8 9105 cpc r25,__zero_reg__ |
425 01fa 89F1 breq .L64 |
426 .LM75: |
427 01fc 803E cpi r24,224 |
428 01fe 9105 cpc r25,__zero_reg__ |
429 0200 74F4 brge .L65 |
430 0202 863D cpi r24,214 |
431 0204 9105 cpc r25,__zero_reg__ |
432 0206 29F1 breq .L62 |
433 0208 873D cpi r24,215 |
434 020a 9105 cpc r25,__zero_reg__ |
435 020c 24F4 brge .L66 |
436 020e 843C cpi r24,196 |
437 0210 9105 cpc r25,__zero_reg__ |
438 0212 E1F0 breq .L61 |
439 0214 26C0 rjmp .L57 |
440 .L66: |
441 0216 8C3D cpi r24,220 |
442 0218 9105 cpc r25,__zero_reg__ |
443 021a F1F0 breq .L63 |
444 021c 22C0 rjmp .L57 |
445 .L65: |
446 021e 863F cpi r24,246 |
447 0220 9105 cpc r25,__zero_reg__ |
448 0222 71F0 breq .L59 |
449 0224 873F cpi r24,247 |
450 0226 9105 cpc r25,__zero_reg__ |
451 0228 24F4 brge .L67 |
452 022a 843E cpi r24,228 |
453 022c 9105 cpc r25,__zero_reg__ |
454 022e 29F0 breq .L58 |
455 0230 18C0 rjmp .L57 |
456 .L67: |
457 0232 8C3F cpi r24,252 |
458 0234 9105 cpc r25,__zero_reg__ |
459 0236 39F0 breq .L60 |
460 0238 14C0 rjmp .L57 |
461 .L58: |
462 .LM76: |
463 023a 14E8 ldi r17,lo8(-124) |
464 023c F12E mov r15,r17 |
465 .LM77: |
466 023e 11C0 rjmp .L57 |
467 .L59: |
468 .LM78: |
469 0240 C4E9 ldi r28,lo8(-108) |
470 0242 FC2E mov r15,r28 |
471 .LM79: |
472 0244 0EC0 rjmp .L57 |
473 .L60: |
474 .LM80: |
475 0246 B1E8 ldi r27,lo8(-127) |
476 0248 FB2E mov r15,r27 |
477 .LM81: |
478 024a 0BC0 rjmp .L57 |
479 .L61: |
480 .LM82: |
481 024c AEE8 ldi r26,lo8(-114) |
482 024e FA2E mov r15,r26 |
483 .LM83: |
484 0250 08C0 rjmp .L57 |
485 .L62: |
486 .LM84: |
487 0252 F9E9 ldi r31,lo8(-103) |
488 0254 FF2E mov r15,r31 |
489 .LM85: |
490 0256 05C0 rjmp .L57 |
491 .L63: |
492 .LM86: |
493 0258 EAE9 ldi r30,lo8(-102) |
494 025a FE2E mov r15,r30 |
495 .LM87: |
496 025c 02C0 rjmp .L57 |
497 .L64: |
498 .LM88: |
499 025e 71EE ldi r23,lo8(-31) |
500 0260 F72E mov r15,r23 |
501 .L57: |
502 .LM89: |
503 0262 C62F mov r28,r22 |
504 0264 DD27 clr r29 |
505 0266 D695 lsr r29 |
506 0268 DC2F mov r29,r28 |
507 026a CC27 clr r28 |
508 026c D795 ror r29 |
509 026e C795 ror r28 |
510 0270 86E0 ldi r24,lo8(6) |
511 0272 389F mul r19,r24 |
512 0274 C001 movw r24,r0 |
513 0276 1124 clr r1 |
514 0278 C80F add r28,r24 |
515 027a D91F adc r29,r25 |
516 .LM90: |
517 027c D370 andi r29,hi8(1023) |
518 027e 6E01 movw r12,r28 |
519 0280 00E0 ldi r16,lo8(0) |
520 0282 10E0 ldi r17,hi8(0) |
521 0284 45E0 ldi r20,lo8(5) |
522 0286 E42E mov r14,r20 |
523 .L78: |
524 .LBB6: |
525 .LM91: |
526 0288 86E0 ldi r24,lo8(6) |
527 028a F89E mul r15,r24 |
528 028c F001 movw r30,r0 |
529 028e 1124 clr r1 |
530 0290 E00F add r30,r16 |
531 0292 F11F adc r31,r17 |
532 0294 E050 subi r30,lo8(-(f8x6)) |
533 0296 F040 sbci r31,hi8(-(f8x6)) |
534 /* #APP */ |
535 0298 2491 lpm r18, Z |
536 |
537 /* #NOAPP */ |
538 .LBE6: |
539 .LM92: |
540 029a 8B2D mov r24,r11 |
541 029c 9927 clr r25 |
542 029e 8230 cpi r24,2 |
543 02a0 9105 cpc r25,__zero_reg__ |
544 02a2 E9F0 breq .L74 |
545 02a4 8330 cpi r24,3 |
546 02a6 9105 cpc r25,__zero_reg__ |
547 02a8 2CF4 brge .L77 |
548 02aa 0097 sbiw r24,0 |
549 02ac 49F0 breq .L72 |
550 02ae 0197 sbiw r24,1 |
551 02b0 71F0 breq .L73 |
552 02b2 2CC0 rjmp .L71 |
553 .L77: |
554 02b4 8330 cpi r24,3 |
555 02b6 9105 cpc r25,__zero_reg__ |
556 02b8 D1F0 breq .L75 |
557 02ba 0497 sbiw r24,4 |
558 02bc F1F0 breq .L76 |
559 02be 26C0 rjmp .L71 |
560 .L72: |
561 .LM93: |
562 02c0 FE01 movw r30,r28 |
563 02c2 E050 subi r30,lo8(-(display_buffer)) |
564 02c4 F040 sbci r31,hi8(-(display_buffer)) |
565 02c6 E00F add r30,r16 |
566 02c8 F11F adc r31,r17 |
567 02ca 2083 st Z,r18 |
568 .LM94: |
569 02cc 1FC0 rjmp .L71 |
570 .L73: |
571 .LM95: |
572 02ce FE01 movw r30,r28 |
573 02d0 E050 subi r30,lo8(-(display_buffer)) |
574 02d2 F040 sbci r31,hi8(-(display_buffer)) |
575 02d4 E00F add r30,r16 |
576 02d6 F11F adc r31,r17 |
577 02d8 8081 ld r24,Z |
578 02da 822B or r24,r18 |
579 02dc 16C0 rjmp .L82 |
580 .L74: |
581 .LM96: |
582 02de FE01 movw r30,r28 |
583 02e0 E050 subi r30,lo8(-(display_buffer)) |
584 02e2 F040 sbci r31,hi8(-(display_buffer)) |
585 02e4 E00F add r30,r16 |
586 02e6 F11F adc r31,r17 |
587 02e8 8081 ld r24,Z |
588 02ea 8227 eor r24,r18 |
589 02ec 0EC0 rjmp .L82 |
590 .L75: |
591 .LM97: |
592 02ee FE01 movw r30,r28 |
593 02f0 E050 subi r30,lo8(-(display_buffer)) |
594 02f2 F040 sbci r31,hi8(-(display_buffer)) |
595 02f4 E00F add r30,r16 |
596 02f6 F11F adc r31,r17 |
597 02f8 06C0 rjmp .L81 |
598 .L76: |
599 .LM98: |
600 02fa FE01 movw r30,r28 |
601 02fc E050 subi r30,lo8(-(display_buffer)) |
602 02fe F040 sbci r31,hi8(-(display_buffer)) |
603 0300 E00F add r30,r16 |
604 0302 F11F adc r31,r17 |
605 0304 2095 com r18 |
606 .L81: |
607 0306 8081 ld r24,Z |
608 0308 8223 and r24,r18 |
609 .L82: |
610 030a 8083 st Z,r24 |
611 .L71: |
612 .LM99: |
613 030c FE01 movw r30,r28 |
614 030e E050 subi r30,lo8(-(display_buffer)) |
615 0310 F040 sbci r31,hi8(-(display_buffer)) |
616 0312 E00F add r30,r16 |
617 0314 F11F adc r31,r17 |
618 0316 6081 ld r22,Z |
619 0318 C601 movw r24,r12 |
620 031a 0E94 0000 call set_adress |
621 .LM100: |
622 031e EA94 dec r14 |
623 0320 0F5F subi r16,lo8(-(1)) |
624 0322 1F4F sbci r17,hi8(-(1)) |
625 0324 0894 sec |
626 0326 C11C adc r12,__zero_reg__ |
627 0328 D11C adc r13,__zero_reg__ |
628 032a E7FE sbrs r14,7 |
629 032c ADCF rjmp .L78 |
630 /* epilogue: frame size=0 */ |
631 032e DF91 pop r29 |
632 0330 CF91 pop r28 |
633 0332 1F91 pop r17 |
634 0334 0F91 pop r16 |
635 0336 FF90 pop r15 |
636 0338 EF90 pop r14 |
637 033a DF90 pop r13 |
638 033c CF90 pop r12 |
639 033e BF90 pop r11 |
640 0340 0895 ret |
641 /* epilogue end (size=10) */ |
642 /* function put_char size 186 (167) */ |
643 .LFE16: |
645 .global new_line |
647 new_line: |
648 .LFB17: |
649 .LM101: |
650 /* prologue: frame size=0 */ |
651 /* prologue end (size=0) */ |
652 .LM102: |
653 0342 8091 0000 lds r24,lcd_ypos |
654 0346 8F5F subi r24,lo8(-(1)) |
655 0348 8093 0000 sts lcd_ypos,r24 |
656 .LM103: |
657 034c 8830 cpi r24,lo8(8) |
658 034e 28F0 brlo .L83 |
659 .LM104: |
660 0350 0E94 0000 call scroll |
661 .LM105: |
662 0354 87E0 ldi r24,lo8(7) |
663 0356 8093 0000 sts lcd_ypos,r24 |
664 .L83: |
665 035a 0895 ret |
666 /* epilogue: frame size=0 */ |
667 /* epilogue: noreturn */ |
668 /* epilogue end (size=0) */ |
669 /* function new_line size 13 (13) */ |
670 .LFE17: |
672 .global lcd_printp |
674 lcd_printp: |
675 .LFB18: |
676 .LM106: |
677 /* prologue: frame size=0 */ |
678 035c 1F93 push r17 |
679 035e CF93 push r28 |
680 0360 DF93 push r29 |
681 /* prologue end (size=3) */ |
682 0362 EC01 movw r28,r24 |
683 0364 162F mov r17,r22 |
684 .LBB7: |
685 .LM107: |
686 0366 FC01 movw r30,r24 |
687 /* #APP */ |
688 0368 8491 lpm r24, Z |
689 |
690 /* #NOAPP */ |
691 .LBE7: |
692 036a 8823 tst r24 |
693 036c 51F1 breq .L96 |
694 .L94: |
695 .LBB8: |
696 .LM108: |
697 036e FE01 movw r30,r28 |
698 /* #APP */ |
699 0370 8491 lpm r24, Z |
700 |
701 /* #NOAPP */ |
702 .LBE8: |
703 0372 8032 cpi r24,lo8(32) |
704 0374 B0F0 brlo .L88 |
705 .LBB9: |
706 .LM109: |
707 0376 2196 adiw r28,1 |
708 /* #APP */ |
709 0378 8491 lpm r24, Z |
710 |
711 /* #NOAPP */ |
712 .LBE9: |
713 037a 212F mov r18,r17 |
714 037c 482F mov r20,r24 |
715 037e 6091 0000 lds r22,lcd_ypos |
716 0382 8091 0000 lds r24,lcd_xpos |
717 0386 0E94 0000 call put_char |
718 .LM110: |
719 038a 8091 0000 lds r24,lcd_xpos |
720 038e 8F5F subi r24,lo8(-(1)) |
721 0390 8093 0000 sts lcd_xpos,r24 |
722 .LM111: |
723 0394 8531 cpi r24,lo8(21) |
724 0396 88F0 brlo .L86 |
725 .LM112: |
726 0398 1092 0000 sts lcd_xpos,__zero_reg__ |
727 .LM113: |
728 039c 0E94 0000 call new_line |
729 03a0 0CC0 rjmp .L86 |
730 .L88: |
731 .LM114: |
732 03a2 9927 clr r25 |
733 03a4 8A30 cpi r24,10 |
734 03a6 9105 cpc r25,__zero_reg__ |
735 03a8 29F0 breq .L93 |
736 03aa 0D97 sbiw r24,13 |
737 03ac 29F4 brne .L91 |
738 .LM115: |
739 03ae 1092 0000 sts lcd_xpos,__zero_reg__ |
740 .LM116: |
741 03b2 02C0 rjmp .L91 |
742 .L93: |
743 .LM117: |
744 03b4 0E94 0000 call new_line |
745 .L91: |
746 .LM118: |
747 03b8 2196 adiw r28,1 |
748 .L86: |
749 .LBB10: |
750 03ba FE01 movw r30,r28 |
751 /* #APP */ |
752 03bc 8491 lpm r24, Z |
753 |
754 /* #NOAPP */ |
755 .LBE10: |
756 03be 8823 tst r24 |
757 03c0 B1F6 brne .L94 |
758 .L96: |
759 /* epilogue: frame size=0 */ |
760 03c2 DF91 pop r29 |
761 03c4 CF91 pop r28 |
762 03c6 1F91 pop r17 |
763 03c8 0895 ret |
764 /* epilogue end (size=4) */ |
765 /* function lcd_printp size 68 (61) */ |
766 .LFE18: |
768 .global lcd_print_atp |
770 lcd_print_atp: |
771 .LFB19: |
772 .LM119: |
773 /* prologue: frame size=0 */ |
774 /* prologue end (size=0) */ |
775 .LM120: |
776 03ca 8093 0000 sts lcd_xpos,r24 |
777 .LM121: |
778 03ce 6093 0000 sts lcd_ypos,r22 |
779 .LM122: |
780 03d2 622F mov r22,r18 |
781 03d4 CA01 movw r24,r20 |
782 03d6 0E94 0000 call lcd_printp |
783 /* epilogue: frame size=0 */ |
784 03da 0895 ret |
785 /* epilogue end (size=1) */ |
786 /* function lcd_print_atp size 9 (8) */ |
787 .LFE19: |
789 .global lcd_print |
791 lcd_print: |
792 .LFB20: |
793 .LM123: |
794 /* prologue: frame size=0 */ |
795 03dc 1F93 push r17 |
796 03de CF93 push r28 |
797 03e0 DF93 push r29 |
798 /* prologue end (size=3) */ |
799 03e2 EC01 movw r28,r24 |
800 03e4 162F mov r17,r22 |
801 .LM124: |
802 03e6 8881 ld r24,Y |
803 03e8 8823 tst r24 |
804 03ea 39F1 breq .L109 |
805 .L107: |
806 .LM125: |
807 03ec 4881 ld r20,Y |
808 03ee 4032 cpi r20,lo8(32) |
809 03f0 A0F0 brlo .L101 |
810 .LM126: |
811 03f2 2196 adiw r28,1 |
812 03f4 212F mov r18,r17 |
813 03f6 6091 0000 lds r22,lcd_ypos |
814 03fa 8091 0000 lds r24,lcd_xpos |
815 03fe 0E94 0000 call put_char |
816 .LM127: |
817 0402 8091 0000 lds r24,lcd_xpos |
818 0406 8F5F subi r24,lo8(-(1)) |
819 0408 8093 0000 sts lcd_xpos,r24 |
820 .LM128: |
821 040c 8531 cpi r24,lo8(21) |
822 040e 90F0 brlo .L99 |
823 .LM129: |
824 0410 1092 0000 sts lcd_xpos,__zero_reg__ |
825 .LM130: |
826 0414 0E94 0000 call new_line |
827 0418 0DC0 rjmp .L99 |
828 .L101: |
829 .LM131: |
830 041a 5527 clr r21 |
831 041c 4A30 cpi r20,10 |
832 041e 5105 cpc r21,__zero_reg__ |
833 0420 31F0 breq .L106 |
834 0422 4D30 cpi r20,13 |
835 0424 5105 cpc r21,__zero_reg__ |
836 0426 29F4 brne .L104 |
837 .LM132: |
838 0428 1092 0000 sts lcd_xpos,__zero_reg__ |
839 .LM133: |
840 042c 02C0 rjmp .L104 |
841 .L106: |
842 .LM134: |
843 042e 0E94 0000 call new_line |
844 .L104: |
845 .LM135: |
846 0432 2196 adiw r28,1 |
847 .L99: |
848 0434 8881 ld r24,Y |
849 0436 8823 tst r24 |
850 0438 C9F6 brne .L107 |
851 .L109: |
852 /* epilogue: frame size=0 */ |
853 043a DF91 pop r29 |
854 043c CF91 pop r28 |
855 043e 1F91 pop r17 |
856 0440 0895 ret |
857 /* epilogue end (size=4) */ |
858 /* function lcd_print size 51 (44) */ |
859 .LFE20: |
861 .global lcd_print_at |
863 lcd_print_at: |
864 .LFB21: |
865 .LM136: |
866 /* prologue: frame size=0 */ |
867 /* prologue end (size=0) */ |
868 .LM137: |
869 0442 8093 0000 sts lcd_xpos,r24 |
870 .LM138: |
871 0446 6093 0000 sts lcd_ypos,r22 |
872 .LM139: |
873 044a 622F mov r22,r18 |
874 044c CA01 movw r24,r20 |
875 044e 0E94 0000 call lcd_print |
876 /* epilogue: frame size=0 */ |
877 0452 0895 ret |
878 /* epilogue end (size=1) */ |
879 /* function lcd_print_at size 9 (8) */ |
880 .LFE21: |
882 .global lcd_plot |
884 lcd_plot: |
885 .LFB22: |
886 .LM140: |
887 /* prologue: frame size=0 */ |
888 /* prologue end (size=0) */ |
889 0454 982F mov r25,r24 |
890 .LM141: |
891 0456 87FD sbrc r24,7 |
892 0458 45C0 rjmp .L111 |
893 .LM142: |
894 045a 6034 cpi r22,lo8(64) |
895 045c 08F0 brlo .+2 |
896 045e 42C0 rjmp .L111 |
897 .LM143: |
898 0460 862F mov r24,r22 |
899 0462 8695 lsr r24 |
900 0464 8695 lsr r24 |
901 0466 8695 lsr r24 |
902 0468 A82F mov r26,r24 |
903 046a BB27 clr r27 |
904 046c B695 lsr r27 |
905 046e BA2F mov r27,r26 |
906 0470 AA27 clr r26 |
907 0472 B795 ror r27 |
908 0474 A795 ror r26 |
909 0476 A90F add r26,r25 |
910 0478 B11D adc r27,__zero_reg__ |
911 .LM144: |
912 047a 262F mov r18,r22 |
913 047c 3327 clr r19 |
914 047e 2770 andi r18,lo8(7) |
915 0480 3070 andi r19,hi8(7) |
916 0482 81E0 ldi r24,lo8(1) |
917 0484 90E0 ldi r25,hi8(1) |
918 0486 02C0 rjmp 2f |
919 0488 880F 1: lsl r24 |
920 048a 991F rol r25 |
921 048c 2A95 2: dec r18 |
922 048e E2F7 brpl 1b |
923 0490 982F mov r25,r24 |
924 .LM145: |
925 0492 B370 andi r27,hi8(1023) |
926 .LM146: |
927 0494 5527 clr r21 |
928 0496 4130 cpi r20,1 |
929 0498 5105 cpc r21,__zero_reg__ |
930 049a 89F0 breq .L115 |
931 049c 4230 cpi r20,2 |
932 049e 5105 cpc r21,__zero_reg__ |
933 04a0 1CF4 brge .L117 |
934 04a2 452B or r20,r21 |
935 04a4 29F0 breq .L114 |
936 04a6 17C0 rjmp .L113 |
937 .L117: |
938 04a8 4230 cpi r20,2 |
939 04aa 5105 cpc r21,__zero_reg__ |
940 04ac 71F0 breq .L116 |
941 04ae 13C0 rjmp .L113 |
942 .L114: |
943 .LM147: |
944 04b0 FD01 movw r30,r26 |
945 04b2 E050 subi r30,lo8(-(display_buffer)) |
946 04b4 F040 sbci r31,hi8(-(display_buffer)) |
947 04b6 9095 com r25 |
948 04b8 8081 ld r24,Z |
949 04ba 8923 and r24,r25 |
950 04bc 0BC0 rjmp .L118 |
951 .L115: |
952 .LM148: |
953 04be FD01 movw r30,r26 |
954 04c0 E050 subi r30,lo8(-(display_buffer)) |
955 04c2 F040 sbci r31,hi8(-(display_buffer)) |
956 04c4 8081 ld r24,Z |
957 04c6 892B or r24,r25 |
958 04c8 05C0 rjmp .L118 |
959 .L116: |
960 .LM149: |
961 04ca FD01 movw r30,r26 |
962 04cc E050 subi r30,lo8(-(display_buffer)) |
963 04ce F040 sbci r31,hi8(-(display_buffer)) |
964 04d0 8081 ld r24,Z |
965 04d2 8927 eor r24,r25 |
966 .L118: |
967 04d4 8083 st Z,r24 |
968 .L113: |
969 .LM150: |
970 04d6 FD01 movw r30,r26 |
971 04d8 E050 subi r30,lo8(-(display_buffer)) |
972 04da F040 sbci r31,hi8(-(display_buffer)) |
973 04dc 6081 ld r22,Z |
974 04de CD01 movw r24,r26 |
975 04e0 0E94 0000 call set_adress |
976 .L111: |
977 04e4 0895 ret |
978 /* epilogue: frame size=0 */ |
979 /* epilogue: noreturn */ |
980 /* epilogue end (size=0) */ |
981 /* function lcd_plot size 75 (75) */ |
982 .LFE22: |
984 .global lcd_line |
986 lcd_line: |
987 .LFB23: |
988 .LM151: |
989 /* prologue: frame size=3 */ |
990 04e6 2F92 push r2 |
991 04e8 3F92 push r3 |
992 04ea 4F92 push r4 |
993 04ec 5F92 push r5 |
994 04ee 6F92 push r6 |
995 04f0 7F92 push r7 |
996 04f2 8F92 push r8 |
997 04f4 9F92 push r9 |
998 04f6 AF92 push r10 |
999 04f8 BF92 push r11 |
1000 04fa CF92 push r12 |
1001 04fc DF92 push r13 |
1002 04fe EF92 push r14 |
1003 0500 FF92 push r15 |
1004 0502 0F93 push r16 |
1005 0504 1F93 push r17 |
1006 0506 CF93 push r28 |
1007 0508 DF93 push r29 |
1008 050a CDB7 in r28,__SP_L__ |
1009 050c DEB7 in r29,__SP_H__ |
1010 050e 2397 sbiw r28,3 |
1011 0510 0FB6 in __tmp_reg__,__SREG__ |
1012 0512 F894 cli |
1013 0514 DEBF out __SP_H__,r29 |
1014 0516 0FBE out __SREG__,__tmp_reg__ |
1015 0518 CDBF out __SP_L__,r28 |
1016 /* prologue end (size=26) */ |
1017 051a 0983 std Y+1,r16 |
1018 .LM152: |
1019 051c A82E mov r10,r24 |
1020 051e BB24 clr r11 |
1021 .LM153: |
1022 0520 C62E mov r12,r22 |
1023 0522 DD24 clr r13 |
1024 .LM154: |
1025 0524 642E mov r6,r20 |
1026 0526 7724 clr r7 |
1027 0528 7301 movw r14,r6 |
1028 052a EA18 sub r14,r10 |
1029 052c FB08 sbc r15,r11 |
1030 .LM155: |
1031 052e 822E mov r8,r18 |
1032 0530 9924 clr r9 |
1033 0532 8401 movw r16,r8 |
1034 0534 0C19 sub r16,r12 |
1035 0536 1D09 sbc r17,r13 |
1036 .LM156: |
1037 0538 F7FE sbrs r15,7 |
1038 053a 04C0 rjmp .L120 |
1039 .LM157: |
1040 053c 7FEF ldi r23,lo8(-1) |
1041 053e 272E mov r2,r23 |
1042 0540 372E mov r3,r23 |
1043 0542 09C0 rjmp .L121 |
1044 .L120: |
1045 .LM158: |
1046 0544 1E14 cp __zero_reg__,r14 |
1047 0546 1F04 cpc __zero_reg__,r15 |
1048 0548 24F4 brge .L122 |
1049 .LM159: |
1050 054a 61E0 ldi r22,lo8(1) |
1051 054c 262E mov r2,r22 |
1052 054e 312C mov r3,__zero_reg__ |
1053 0550 02C0 rjmp .L121 |
1054 .L122: |
1055 .LM160: |
1056 0552 2224 clr r2 |
1057 0554 3324 clr r3 |
1058 .L121: |
1059 .LM161: |
1060 0556 17FF sbrs r17,7 |
1061 0558 04C0 rjmp .L124 |
1062 .LM162: |
1063 055a 5FEF ldi r21,lo8(-1) |
1064 055c 452E mov r4,r21 |
1065 055e 552E mov r5,r21 |
1066 0560 09C0 rjmp .L125 |
1067 .L124: |
1068 .LM163: |
1069 0562 1016 cp __zero_reg__,r16 |
1070 0564 1106 cpc __zero_reg__,r17 |
1071 0566 24F4 brge .L126 |
1072 .LM164: |
1073 0568 41E0 ldi r20,lo8(1) |
1074 056a 442E mov r4,r20 |
1075 056c 512C mov r5,__zero_reg__ |
1076 056e 02C0 rjmp .L125 |
1077 .L126: |
1078 .LM165: |
1079 0570 4424 clr r4 |
1080 0572 5524 clr r5 |
1081 .L125: |
1082 .LM166: |
1083 0574 F7FE sbrs r15,7 |
1084 0576 04C0 rjmp .L128 |
1085 .LM167: |
1086 0578 F094 com r15 |
1087 057a E194 neg r14 |
1088 057c F108 sbc r15,__zero_reg__ |
1089 057e F394 inc r15 |
1090 .L128: |
1091 .LM168: |
1092 0580 17FF sbrs r17,7 |
1093 0582 03C0 rjmp .L129 |
1094 .LM169: |
1095 0584 1095 com r17 |
1096 0586 0195 neg r16 |
1097 0588 1F4F sbci r17,lo8(-1) |
1098 .L129: |
1099 .LM170: |
1100 058a 4981 ldd r20,Y+1 |
1101 058c 6C2D mov r22,r12 |
1102 058e 8A2D mov r24,r10 |
1103 0590 0E94 0000 call lcd_plot |
1104 .LM171: |
1105 0594 0E15 cp r16,r14 |
1106 0596 1F05 cpc r17,r15 |
1107 0598 4CF5 brge .L130 |
1108 .LM172: |
1109 059a C701 movw r24,r14 |
1110 059c F7FC sbrc r15,7 |
1111 059e 0196 adiw r24,1 |
1112 .L131: |
1113 05a0 9595 asr r25 |
1114 05a2 8795 ror r24 |
1115 05a4 2227 clr r18 |
1116 05a6 3327 clr r19 |
1117 05a8 281B sub r18,r24 |
1118 05aa 390B sbc r19,r25 |
1119 05ac 3B83 std Y+3,r19 |
1120 05ae 2A83 std Y+2,r18 |
1121 .LM173: |
1122 05b0 A614 cp r10,r6 |
1123 05b2 B704 cpc r11,r7 |
1124 05b4 09F4 brne .+2 |
1125 05b6 41C0 rjmp .L119 |
1126 .L135: |
1127 .LM174: |
1128 05b8 8A81 ldd r24,Y+2 |
1129 05ba 9B81 ldd r25,Y+3 |
1130 05bc 800F add r24,r16 |
1131 05be 911F adc r25,r17 |
1132 05c0 9B83 std Y+3,r25 |
1133 05c2 8A83 std Y+2,r24 |
1134 .LM175: |
1135 05c4 A20C add r10,r2 |
1136 05c6 B31C adc r11,r3 |
1137 .LM176: |
1138 05c8 1816 cp __zero_reg__,r24 |
1139 05ca 1906 cpc __zero_reg__,r25 |
1140 05cc 34F4 brge .L134 |
1141 .LM177: |
1142 05ce C40C add r12,r4 |
1143 05d0 D51C adc r13,r5 |
1144 .LM178: |
1145 05d2 8E19 sub r24,r14 |
1146 05d4 9F09 sbc r25,r15 |
1147 05d6 9B83 std Y+3,r25 |
1148 05d8 8A83 std Y+2,r24 |
1149 .L134: |
1150 .LM179: |
1151 05da 4981 ldd r20,Y+1 |
1152 05dc 6C2D mov r22,r12 |
1153 05de 8A2D mov r24,r10 |
1154 05e0 0E94 0000 call lcd_plot |
1155 05e4 A614 cp r10,r6 |
1156 05e6 B704 cpc r11,r7 |
1157 05e8 39F7 brne .L135 |
1158 05ea 27C0 rjmp .L119 |
1159 .L130: |
1160 .LM180: |
1161 05ec C801 movw r24,r16 |
1162 05ee 17FD sbrc r17,7 |
1163 05f0 0196 adiw r24,1 |
1164 .L137: |
1165 05f2 9595 asr r25 |
1166 05f4 8795 ror r24 |
1167 05f6 EE27 clr r30 |
1168 05f8 FF27 clr r31 |
1169 05fa E81B sub r30,r24 |
1170 05fc F90B sbc r31,r25 |
1171 05fe FB83 std Y+3,r31 |
1172 0600 EA83 std Y+2,r30 |
1173 .LM181: |
1174 0602 C814 cp r12,r8 |
1175 0604 D904 cpc r13,r9 |
1176 0606 C9F0 breq .L119 |
1177 .L141: |
1178 .LM182: |
1179 0608 2A81 ldd r18,Y+2 |
1180 060a 3B81 ldd r19,Y+3 |
1181 060c 2E0D add r18,r14 |
1182 060e 3F1D adc r19,r15 |
1183 0610 3B83 std Y+3,r19 |
1184 0612 2A83 std Y+2,r18 |
1185 .LM183: |
1186 0614 C40C add r12,r4 |
1187 0616 D51C adc r13,r5 |
1188 .LM184: |
1189 0618 1216 cp __zero_reg__,r18 |
1190 061a 1306 cpc __zero_reg__,r19 |
1191 061c 34F4 brge .L140 |
1192 .LM185: |
1193 061e A20C add r10,r2 |
1194 0620 B31C adc r11,r3 |
1195 .LM186: |
1196 0622 201B sub r18,r16 |
1197 0624 310B sbc r19,r17 |
1198 0626 3B83 std Y+3,r19 |
1199 0628 2A83 std Y+2,r18 |
1200 .L140: |
1201 .LM187: |
1202 062a 4981 ldd r20,Y+1 |
1203 062c 6C2D mov r22,r12 |
1204 062e 8A2D mov r24,r10 |
1205 0630 0E94 0000 call lcd_plot |
1206 0634 C814 cp r12,r8 |
1207 0636 D904 cpc r13,r9 |
1208 0638 39F7 brne .L141 |
1209 .L119: |
1210 /* epilogue: frame size=3 */ |
1211 063a 2396 adiw r28,3 |
1212 063c 0FB6 in __tmp_reg__,__SREG__ |
1213 063e F894 cli |
1214 0640 DEBF out __SP_H__,r29 |
1215 0642 0FBE out __SREG__,__tmp_reg__ |
1216 0644 CDBF out __SP_L__,r28 |
1217 0646 DF91 pop r29 |
1218 0648 CF91 pop r28 |
1219 064a 1F91 pop r17 |
1220 064c 0F91 pop r16 |
1221 064e FF90 pop r15 |
1222 0650 EF90 pop r14 |
1223 0652 DF90 pop r13 |
1224 0654 CF90 pop r12 |
1225 0656 BF90 pop r11 |
1226 0658 AF90 pop r10 |
1227 065a 9F90 pop r9 |
1228 065c 8F90 pop r8 |
1229 065e 7F90 pop r7 |
1230 0660 6F90 pop r6 |
1231 0662 5F90 pop r5 |
1232 0664 4F90 pop r4 |
1233 0666 3F90 pop r3 |
1234 0668 2F90 pop r2 |
1235 066a 0895 ret |
1236 /* epilogue end (size=25) */ |
1237 /* function lcd_line size 197 (146) */ |
1238 .LFE23: |
1240 .global lcd_frect |
1242 lcd_frect: |
1243 .LFB24: |
1244 .LM188: |
1245 /* prologue: frame size=0 */ |
1246 066c BF92 push r11 |
1247 066e CF92 push r12 |
1248 0670 DF92 push r13 |
1249 0672 EF92 push r14 |
1250 0674 FF92 push r15 |
1251 0676 0F93 push r16 |
1252 0678 1F93 push r17 |
1253 067a CF93 push r28 |
1254 067c DF93 push r29 |
1255 /* prologue end (size=9) */ |
1256 067e 182F mov r17,r24 |
1257 0680 822F mov r24,r18 |
1258 0682 B02E mov r11,r16 |
1259 .LM189: |
1260 0684 17FD sbrc r17,7 |
1261 .LM190: |
1262 0686 1FE7 ldi r17,lo8(127) |
1263 .L146: |
1264 .LM191: |
1265 0688 6034 cpi r22,lo8(64) |
1266 068a 08F0 brlo .L147 |
1267 .LM192: |
1268 068c 6FE3 ldi r22,lo8(63) |
1269 .L147: |
1270 .LM193: |
1271 068e 212F mov r18,r17 |
1272 0690 240F add r18,r20 |
1273 0692 312D mov r19,__zero_reg__ |
1274 0694 311D adc r19,__zero_reg__ |
1275 0696 6901 movw r12,r18 |
1276 .LM194: |
1277 0698 262F mov r18,r22 |
1278 069a 3327 clr r19 |
1279 069c 7901 movw r14,r18 |
1280 069e E80E add r14,r24 |
1281 06a0 F11C adc r15,__zero_reg__ |
1282 .LM195: |
1283 06a2 81E8 ldi r24,lo8(129) |
1284 06a4 C816 cp r12,r24 |
1285 06a6 D104 cpc r13,__zero_reg__ |
1286 06a8 18F0 brlo .L148 |
1287 .LM196: |
1288 06aa F0E8 ldi r31,lo8(128) |
1289 06ac CF2E mov r12,r31 |
1290 06ae D12C mov r13,__zero_reg__ |
1291 .L148: |
1292 .LM197: |
1293 06b0 81E4 ldi r24,lo8(65) |
1294 06b2 E816 cp r14,r24 |
1295 06b4 F104 cpc r15,__zero_reg__ |
1296 06b6 18F0 brlo .L149 |
1297 .LM198: |
1298 06b8 E0E4 ldi r30,lo8(64) |
1299 06ba EE2E mov r14,r30 |
1300 06bc F12C mov r15,__zero_reg__ |
1301 .L149: |
1302 .LM199: |
1303 06be E901 movw r28,r18 |
1304 06c0 E216 cp r14,r18 |
1305 06c2 F306 cpc r15,r19 |
1306 06c4 58F0 brlo .L155 |
1307 .L153: |
1308 .LM200: |
1309 06c6 0B2D mov r16,r11 |
1310 06c8 2C2F mov r18,r28 |
1311 06ca 4C2D mov r20,r12 |
1312 06cc 6C2F mov r22,r28 |
1313 06ce 812F mov r24,r17 |
1314 06d0 0E94 0000 call lcd_line |
1315 .LM201: |
1316 06d4 2196 adiw r28,1 |
1317 06d6 EC16 cp r14,r28 |
1318 06d8 FD06 cpc r15,r29 |
1319 06da A8F7 brsh .L153 |
1320 .L155: |
1321 /* epilogue: frame size=0 */ |
1322 06dc DF91 pop r29 |
1323 06de CF91 pop r28 |
1324 06e0 1F91 pop r17 |
1325 06e2 0F91 pop r16 |
1326 06e4 FF90 pop r15 |
1327 06e6 EF90 pop r14 |
1328 06e8 DF90 pop r13 |
1329 06ea CF90 pop r12 |
1330 06ec BF90 pop r11 |
1331 06ee 0895 ret |
1332 /* epilogue end (size=10) */ |
1333 /* function lcd_frect size 67 (48) */ |
1334 .LFE24: |
1336 .global lcd_rect |
1338 lcd_rect: |
1339 .LFB25: |
1340 .LM202: |
1341 /* prologue: frame size=0 */ |
1342 06f0 CF92 push r12 |
1343 06f2 DF92 push r13 |
1344 06f4 EF92 push r14 |
1345 06f6 FF92 push r15 |
1346 06f8 0F93 push r16 |
1347 06fa 1F93 push r17 |
1348 06fc CF93 push r28 |
1349 06fe DF93 push r29 |
1350 /* prologue end (size=8) */ |
1351 0700 D82E mov r13,r24 |
1352 0702 162F mov r17,r22 |
1353 0704 C02E mov r12,r16 |
1354 .LM203: |
1355 0706 87FF sbrs r24,7 |
1356 0708 02C0 rjmp .L157 |
1357 .LM204: |
1358 070a BFE7 ldi r27,lo8(127) |
1359 070c DB2E mov r13,r27 |
1360 .L157: |
1361 .LM205: |
1362 070e 1034 cpi r17,lo8(64) |
1363 0710 08F0 brlo .L158 |
1364 .LM206: |
1365 0712 1FE3 ldi r17,lo8(63) |
1366 .L158: |
1367 .LM207: |
1368 0714 8D2D mov r24,r13 |
1369 0716 840F add r24,r20 |
1370 0718 912D mov r25,__zero_reg__ |
1371 071a 911D adc r25,__zero_reg__ |
1372 071c EC01 movw r28,r24 |
1373 .LM208: |
1374 071e 812F mov r24,r17 |
1375 0720 820F add r24,r18 |
1376 0722 912D mov r25,__zero_reg__ |
1377 0724 911D adc r25,__zero_reg__ |
1378 0726 7C01 movw r14,r24 |
1379 .LM209: |
1380 0728 C138 cpi r28,129 |
1381 072a D105 cpc r29,__zero_reg__ |
1382 072c 10F0 brlo .L159 |
1383 .LM210: |
1384 072e C0E8 ldi r28,lo8(128) |
1385 0730 D0E0 ldi r29,hi8(128) |
1386 .L159: |
1387 .LM211: |
1388 0732 91E4 ldi r25,lo8(65) |
1389 0734 E916 cp r14,r25 |
1390 0736 F104 cpc r15,__zero_reg__ |
1391 0738 18F0 brlo .L160 |
1392 .LM212: |
1393 073a A0E4 ldi r26,lo8(64) |
1394 073c EA2E mov r14,r26 |
1395 073e F12C mov r15,__zero_reg__ |
1396 .L160: |
1397 .LM213: |
1398 0740 0C2D mov r16,r12 |
1399 0742 212F mov r18,r17 |
1400 0744 4C2F mov r20,r28 |
1401 0746 612F mov r22,r17 |
1402 0748 8D2D mov r24,r13 |
1403 074a 0E94 0000 call lcd_line |
1404 .LM214: |
1405 074e 2E2D mov r18,r14 |
1406 0750 4C2F mov r20,r28 |
1407 0752 612F mov r22,r17 |
1408 0754 8C2F mov r24,r28 |
1409 0756 0E94 0000 call lcd_line |
1410 .LM215: |
1411 075a 2E2D mov r18,r14 |
1412 075c 4D2D mov r20,r13 |
1413 075e 6E2D mov r22,r14 |
1414 0760 8C2F mov r24,r28 |
1415 0762 0E94 0000 call lcd_line |
1416 .LM216: |
1417 0766 212F mov r18,r17 |
1418 0768 4D2D mov r20,r13 |
1419 076a 6E2D mov r22,r14 |
1420 076c 8D2D mov r24,r13 |
1421 076e 0E94 0000 call lcd_line |
1422 /* epilogue: frame size=0 */ |
1423 0772 DF91 pop r29 |
1424 0774 CF91 pop r28 |
1425 0776 1F91 pop r17 |
1426 0778 0F91 pop r16 |
1427 077a FF90 pop r15 |
1428 077c EF90 pop r14 |
1429 077e DF90 pop r13 |
1430 0780 CF90 pop r12 |
1431 0782 0895 ret |
1432 /* epilogue end (size=9) */ |
1433 /* function lcd_rect size 74 (57) */ |
1434 .LFE25: |
1436 .global draw_circle |
1438 draw_circle: |
1439 .LFB26: |
1440 .LM217: |
1441 /* prologue: frame size=0 */ |
1442 0784 2F92 push r2 |
1443 0786 3F92 push r3 |
1444 0788 4F92 push r4 |
1445 078a 5F92 push r5 |
1446 078c 6F92 push r6 |
1447 078e 7F92 push r7 |
1448 0790 8F92 push r8 |
1449 0792 9F92 push r9 |
1450 0794 AF92 push r10 |
1451 0796 BF92 push r11 |
1452 0798 CF92 push r12 |
1453 079a DF92 push r13 |
1454 079c EF92 push r14 |
1455 079e FF92 push r15 |
1456 07a0 0F93 push r16 |
1457 07a2 1F93 push r17 |
1458 07a4 CF93 push r28 |
1459 07a6 DF93 push r29 |
1460 /* prologue end (size=18) */ |
1461 07a8 5C01 movw r10,r24 |
1462 07aa 6B01 movw r12,r22 |
1463 07ac E22E mov r14,r18 |
1464 .LM218: |
1465 07ae C1E0 ldi r28,lo8(1) |
1466 07b0 8C2E mov r8,r28 |
1467 07b2 912C mov r9,__zero_reg__ |
1468 07b4 841A sub r8,r20 |
1469 07b6 950A sbc r9,r21 |
1470 .LM219: |
1471 07b8 2224 clr r2 |
1472 07ba 3324 clr r3 |
1473 .LM220: |
1474 07bc 8EEF ldi r24,lo8(-2) |
1475 07be 9FEF ldi r25,hi8(-2) |
1476 07c0 489F mul r20,r24 |
1477 07c2 2001 movw r4,r0 |
1478 07c4 499F mul r20,r25 |
1479 07c6 500C add r5,r0 |
1480 07c8 589F mul r21,r24 |
1481 07ca 500C add r5,r0 |
1482 07cc 1124 clr r1 |
1483 .LM221: |
1484 07ce 3101 movw r6,r2 |
1485 .LM222: |
1486 07d0 EA01 movw r28,r20 |
1487 .LM223: |
1488 07d2 862F mov r24,r22 |
1489 07d4 840F add r24,r20 |
1490 07d6 422F mov r20,r18 |
1491 07d8 682F mov r22,r24 |
1492 07da 8A2D mov r24,r10 |
1493 07dc 0E94 0000 call lcd_plot |
1494 .LM224: |
1495 07e0 8C2D mov r24,r12 |
1496 07e2 8C1B sub r24,r28 |
1497 07e4 4E2D mov r20,r14 |
1498 07e6 682F mov r22,r24 |
1499 07e8 8A2D mov r24,r10 |
1500 07ea 0E94 0000 call lcd_plot |
1501 .LM225: |
1502 07ee 4E2D mov r20,r14 |
1503 07f0 6C2D mov r22,r12 |
1504 07f2 8A2D mov r24,r10 |
1505 07f4 8C0F add r24,r28 |
1506 07f6 0E94 0000 call lcd_plot |
1507 .LM226: |
1508 07fa 4E2D mov r20,r14 |
1509 07fc 6C2D mov r22,r12 |
1510 07fe 8A2D mov r24,r10 |
1511 0800 8C1B sub r24,r28 |
1512 0802 0E94 0000 call lcd_plot |
1513 .LM227: |
1514 0806 2C16 cp r2,r28 |
1515 0808 3D06 cpc r3,r29 |
1516 080a 0CF0 brlt .+2 |
1517 080c 51C0 rjmp .L167 |
1518 .L165: |
1519 .LM228: |
1520 080e 97FC sbrc r9,7 |
1521 0810 07C0 rjmp .L164 |
1522 .LM229: |
1523 0812 2197 sbiw r28,1 |
1524 .LM230: |
1525 0814 82E0 ldi r24,lo8(2) |
1526 0816 90E0 ldi r25,hi8(2) |
1527 0818 480E add r4,r24 |
1528 081a 591E adc r5,r25 |
1529 .LM231: |
1530 081c 840C add r8,r4 |
1531 081e 951C adc r9,r5 |
1532 .L164: |
1533 .LM232: |
1534 0820 0894 sec |
1535 0822 611C adc r6,__zero_reg__ |
1536 0824 711C adc r7,__zero_reg__ |
1537 .LM233: |
1538 0826 82E0 ldi r24,lo8(2) |
1539 0828 90E0 ldi r25,hi8(2) |
1540 082a 280E add r2,r24 |
1541 082c 391E adc r3,r25 |
1542 .LM234: |
1543 082e 820C add r8,r2 |
1544 0830 931C adc r9,r3 |
1545 0832 0894 sec |
1546 0834 811C adc r8,__zero_reg__ |
1547 0836 911C adc r9,__zero_reg__ |
1548 .LM235: |
1549 0838 1C2D mov r17,r12 |
1550 083a 1C0F add r17,r28 |
1551 083c FA2C mov r15,r10 |
1552 083e F60C add r15,r6 |
1553 0840 4E2D mov r20,r14 |
1554 0842 612F mov r22,r17 |
1555 0844 8F2D mov r24,r15 |
1556 0846 0E94 0000 call lcd_plot |
1557 .LM236: |
1558 084a 0A2D mov r16,r10 |
1559 084c 0619 sub r16,r6 |
1560 084e 4E2D mov r20,r14 |
1561 0850 612F mov r22,r17 |
1562 0852 802F mov r24,r16 |
1563 0854 0E94 0000 call lcd_plot |
1564 .LM237: |
1565 0858 1C2D mov r17,r12 |
1566 085a 1C1B sub r17,r28 |
1567 085c 4E2D mov r20,r14 |
1568 085e 612F mov r22,r17 |
1569 0860 8F2D mov r24,r15 |
1570 0862 0E94 0000 call lcd_plot |
1571 .LM238: |
1572 0866 4E2D mov r20,r14 |
1573 0868 612F mov r22,r17 |
1574 086a 802F mov r24,r16 |
1575 086c 0E94 0000 call lcd_plot |
1576 .LM239: |
1577 0870 1C2D mov r17,r12 |
1578 0872 160D add r17,r6 |
1579 0874 FA2C mov r15,r10 |
1580 0876 FC0E add r15,r28 |
1581 0878 4E2D mov r20,r14 |
1582 087a 612F mov r22,r17 |
1583 087c 8F2D mov r24,r15 |
1584 087e 0E94 0000 call lcd_plot |
1585 .LM240: |
1586 0882 0A2D mov r16,r10 |
1587 0884 0C1B sub r16,r28 |
1588 0886 4E2D mov r20,r14 |
1589 0888 612F mov r22,r17 |
1590 088a 802F mov r24,r16 |
1591 088c 0E94 0000 call lcd_plot |
1592 .LM241: |
1593 0890 1C2D mov r17,r12 |
1594 0892 1619 sub r17,r6 |
1595 0894 4E2D mov r20,r14 |
1596 0896 612F mov r22,r17 |
1597 0898 8F2D mov r24,r15 |
1598 089a 0E94 0000 call lcd_plot |
1599 .LM242: |
1600 089e 4E2D mov r20,r14 |
1601 08a0 612F mov r22,r17 |
1602 08a2 802F mov r24,r16 |
1603 08a4 0E94 0000 call lcd_plot |
1604 08a8 6C16 cp r6,r28 |
1605 08aa 7D06 cpc r7,r29 |
1606 08ac 0CF4 brge .+2 |
1607 08ae AFCF rjmp .L165 |
1608 .L167: |
1609 /* epilogue: frame size=0 */ |
1610 08b0 DF91 pop r29 |
1611 08b2 CF91 pop r28 |
1612 08b4 1F91 pop r17 |
1613 08b6 0F91 pop r16 |
1614 08b8 FF90 pop r15 |
1615 08ba EF90 pop r14 |
1616 08bc DF90 pop r13 |
1617 08be CF90 pop r12 |
1618 08c0 BF90 pop r11 |
1619 08c2 AF90 pop r10 |
1620 08c4 9F90 pop r9 |
1621 08c6 8F90 pop r8 |
1622 08c8 7F90 pop r7 |
1623 08ca 6F90 pop r6 |
1624 08cc 5F90 pop r5 |
1625 08ce 4F90 pop r4 |
1626 08d0 3F90 pop r3 |
1627 08d2 2F90 pop r2 |
1628 08d4 0895 ret |
1629 /* epilogue end (size=19) */ |
1630 /* function draw_circle size 169 (132) */ |
1631 .LFE26: |
1633 .global draw_fcircle |
1635 draw_fcircle: |
1636 .LFB27: |
1637 .LM243: |
1638 /* prologue: frame size=0 */ |
1639 08d6 2F92 push r2 |
1640 08d8 3F92 push r3 |
1641 08da 4F92 push r4 |
1642 08dc 5F92 push r5 |
1643 08de 6F92 push r6 |
1644 08e0 7F92 push r7 |
1645 08e2 8F92 push r8 |
1646 08e4 9F92 push r9 |
1647 08e6 AF92 push r10 |
1648 08e8 BF92 push r11 |
1649 08ea CF92 push r12 |
1650 08ec DF92 push r13 |
1651 08ee FF92 push r15 |
1652 08f0 0F93 push r16 |
1653 08f2 1F93 push r17 |
1654 08f4 CF93 push r28 |
1655 08f6 DF93 push r29 |
1656 /* prologue end (size=17) */ |
1657 08f8 5C01 movw r10,r24 |
1658 08fa 6B01 movw r12,r22 |
1659 .LM244: |
1660 08fc 11E0 ldi r17,lo8(1) |
1661 08fe 612E mov r6,r17 |
1662 0900 712C mov r7,__zero_reg__ |
1663 0902 641A sub r6,r20 |
1664 0904 750A sbc r7,r21 |
1665 .LM245: |
1666 0906 2224 clr r2 |
1667 0908 3324 clr r3 |
1668 .LM246: |
1669 090a 8EEF ldi r24,lo8(-2) |
1670 090c 9FEF ldi r25,hi8(-2) |
1671 090e 489F mul r20,r24 |
1672 0910 2001 movw r4,r0 |
1673 0912 499F mul r20,r25 |
1674 0914 500C add r5,r0 |
1675 0916 589F mul r21,r24 |
1676 0918 500C add r5,r0 |
1677 091a 1124 clr r1 |
1678 .LM247: |
1679 091c 4101 movw r8,r2 |
1680 .LM248: |
1681 091e EA01 movw r28,r20 |
1682 .LM249: |
1683 0920 862F mov r24,r22 |
1684 0922 841B sub r24,r20 |
1685 0924 962F mov r25,r22 |
1686 0926 940F add r25,r20 |
1687 0928 01E0 ldi r16,lo8(1) |
1688 092a 282F mov r18,r24 |
1689 092c 4A2D mov r20,r10 |
1690 092e 692F mov r22,r25 |
1691 0930 8A2D mov r24,r10 |
1692 0932 0E94 0000 call lcd_line |
1693 .LM250: |
1694 0936 8A2D mov r24,r10 |
1695 0938 8C1B sub r24,r28 |
1696 093a 2C2D mov r18,r12 |
1697 093c 482F mov r20,r24 |
1698 093e 6C2D mov r22,r12 |
1699 0940 8A2D mov r24,r10 |
1700 0942 8C0F add r24,r28 |
1701 0944 0E94 0000 call lcd_line |
1702 .LM251: |
1703 0948 2C16 cp r2,r28 |
1704 094a 3D06 cpc r3,r29 |
1705 094c 0CF0 brlt .+2 |
1706 094e 42C0 rjmp .L174 |
1707 .L172: |
1708 .LM252: |
1709 0950 77FC sbrc r7,7 |
1710 0952 07C0 rjmp .L171 |
1711 .LM253: |
1712 0954 2197 sbiw r28,1 |
1713 .LM254: |
1714 0956 82E0 ldi r24,lo8(2) |
1715 0958 90E0 ldi r25,hi8(2) |
1716 095a 480E add r4,r24 |
1717 095c 591E adc r5,r25 |
1718 .LM255: |
1719 095e 640C add r6,r4 |
1720 0960 751C adc r7,r5 |
1721 .L171: |
1722 .LM256: |
1723 0962 0894 sec |
1724 0964 811C adc r8,__zero_reg__ |
1725 0966 911C adc r9,__zero_reg__ |
1726 .LM257: |
1727 0968 82E0 ldi r24,lo8(2) |
1728 096a 90E0 ldi r25,hi8(2) |
1729 096c 280E add r2,r24 |
1730 096e 391E adc r3,r25 |
1731 .LM258: |
1732 0970 620C add r6,r2 |
1733 0972 731C adc r7,r3 |
1734 0974 0894 sec |
1735 0976 611C adc r6,__zero_reg__ |
1736 0978 711C adc r7,__zero_reg__ |
1737 .LM259: |
1738 097a 8C2D mov r24,r12 |
1739 097c 8C0F add r24,r28 |
1740 097e 1A2D mov r17,r10 |
1741 0980 1819 sub r17,r8 |
1742 0982 FA2C mov r15,r10 |
1743 0984 F80C add r15,r8 |
1744 0986 01E0 ldi r16,lo8(1) |
1745 0988 282F mov r18,r24 |
1746 098a 412F mov r20,r17 |
1747 098c 682F mov r22,r24 |
1748 098e 8F2D mov r24,r15 |
1749 0990 0E94 0000 call lcd_line |
1750 .LM260: |
1751 0994 8C2D mov r24,r12 |
1752 0996 8C1B sub r24,r28 |
1753 0998 282F mov r18,r24 |
1754 099a 412F mov r20,r17 |
1755 099c 682F mov r22,r24 |
1756 099e 8F2D mov r24,r15 |
1757 09a0 0E94 0000 call lcd_line |
1758 .LM261: |
1759 09a4 8C2D mov r24,r12 |
1760 09a6 880D add r24,r8 |
1761 09a8 1A2D mov r17,r10 |
1762 09aa 1C1B sub r17,r28 |
1763 09ac FA2C mov r15,r10 |
1764 09ae FC0E add r15,r28 |
1765 09b0 282F mov r18,r24 |
1766 09b2 412F mov r20,r17 |
1767 09b4 682F mov r22,r24 |
1768 09b6 8F2D mov r24,r15 |
1769 09b8 0E94 0000 call lcd_line |
1770 .LM262: |
1771 09bc 8C2D mov r24,r12 |
1772 09be 8819 sub r24,r8 |
1773 09c0 282F mov r18,r24 |
1774 09c2 412F mov r20,r17 |
1775 09c4 682F mov r22,r24 |
1776 09c6 8F2D mov r24,r15 |
1777 09c8 0E94 0000 call lcd_line |
1778 09cc 8C16 cp r8,r28 |
1779 09ce 9D06 cpc r9,r29 |
1780 09d0 0CF4 brge .+2 |
1781 09d2 BECF rjmp .L172 |
1782 .L174: |
1783 /* epilogue: frame size=0 */ |
1784 09d4 DF91 pop r29 |
1785 09d6 CF91 pop r28 |
1786 09d8 1F91 pop r17 |
1787 09da 0F91 pop r16 |
1788 09dc FF90 pop r15 |
1789 09de DF90 pop r13 |
1790 09e0 CF90 pop r12 |
1791 09e2 BF90 pop r11 |
1792 09e4 AF90 pop r10 |
1793 09e6 9F90 pop r9 |
1794 09e8 8F90 pop r8 |
1795 09ea 7F90 pop r7 |
1796 09ec 6F90 pop r6 |
1797 09ee 5F90 pop r5 |
1798 09f0 4F90 pop r4 |
1799 09f2 3F90 pop r3 |
1800 09f4 2F90 pop r2 |
1801 09f6 0895 ret |
1802 /* epilogue end (size=18) */ |
1803 /* function draw_fcircle size 145 (110) */ |
1804 .LFE27: |
1806 .comm display_buffer,1024,1 |
1807 .comm display_buffer_pointer,2,1 |
1808 .comm display_buffer_counter,1,1 |
1809 .comm display_page_counter,1,1 |
1810 .comm display_mode,1,1 |
1811 .comm lcd_xpos,1,1 |
1812 .comm lcd_ypos,1,1 |
1813 .Letext0: |
DEFINED SYMBOLS |
*ABS*:00000000 lcd.c |
C:\DOKUME~1\thomas\LOKALE~1\Temp/ccUHaaaa.s:3 *ABS*:0000003f __SREG__ |
C:\DOKUME~1\thomas\LOKALE~1\Temp/ccUHaaaa.s:4 *ABS*:0000003e __SP_H__ |
C:\DOKUME~1\thomas\LOKALE~1\Temp/ccUHaaaa.s:5 *ABS*:0000003d __SP_L__ |
C:\DOKUME~1\thomas\LOKALE~1\Temp/ccUHaaaa.s:6 *ABS*:00000000 __tmp_reg__ |
C:\DOKUME~1\thomas\LOKALE~1\Temp/ccUHaaaa.s:7 *ABS*:00000001 __zero_reg__ |
C:\DOKUME~1\thomas\LOKALE~1\Temp/ccUHaaaa.s:20 .text:00000000 send_byte |
C:\DOKUME~1\thomas\LOKALE~1\Temp/ccUHaaaa.s:46 .text:00000010 cls |
*COM*:00000400 display_buffer |
*COM*:00000001 lcd_xpos |
*COM*:00000001 lcd_ypos |
C:\DOKUME~1\thomas\LOKALE~1\Temp/ccUHaaaa.s:118 .text:00000074 lcd_cls |
C:\DOKUME~1\thomas\LOKALE~1\Temp/ccUHaaaa.s:133 .text:0000007a wait_1ms |
C:\DOKUME~1\thomas\LOKALE~1\Temp/ccUHaaaa.s:162 .text:00000084 wait_ms |
C:\DOKUME~1\thomas\LOKALE~1\Temp/ccUHaaaa.s:199 .text:000000ae lcd_init |
C:\DOKUME~1\thomas\LOKALE~1\Temp/ccUHaaaa.s:280 .text:0000012a set_adress |
C:\DOKUME~1\thomas\LOKALE~1\Temp/ccUHaaaa.s:331 .text:00000170 scroll |
C:\DOKUME~1\thomas\LOKALE~1\Temp/ccUHaaaa.s:403 .text:000001da put_char |
C:\DOKUME~1\thomas\LOKALE~1\Temp/ccUHaaaa.s:647 .text:00000342 new_line |
C:\DOKUME~1\thomas\LOKALE~1\Temp/ccUHaaaa.s:674 .text:0000035c lcd_printp |
C:\DOKUME~1\thomas\LOKALE~1\Temp/ccUHaaaa.s:770 .text:000003ca lcd_print_atp |
C:\DOKUME~1\thomas\LOKALE~1\Temp/ccUHaaaa.s:791 .text:000003dc lcd_print |
C:\DOKUME~1\thomas\LOKALE~1\Temp/ccUHaaaa.s:863 .text:00000442 lcd_print_at |
C:\DOKUME~1\thomas\LOKALE~1\Temp/ccUHaaaa.s:884 .text:00000454 lcd_plot |
C:\DOKUME~1\thomas\LOKALE~1\Temp/ccUHaaaa.s:986 .text:000004e6 lcd_line |
C:\DOKUME~1\thomas\LOKALE~1\Temp/ccUHaaaa.s:1242 .text:0000066c lcd_frect |
C:\DOKUME~1\thomas\LOKALE~1\Temp/ccUHaaaa.s:1338 .text:000006f0 lcd_rect |
C:\DOKUME~1\thomas\LOKALE~1\Temp/ccUHaaaa.s:1438 .text:00000784 draw_circle |
C:\DOKUME~1\thomas\LOKALE~1\Temp/ccUHaaaa.s:1635 .text:000008d6 draw_fcircle |
*COM*:00000002 display_buffer_pointer |
*COM*:00000001 display_buffer_counter |
*COM*:00000001 display_page_counter |
*COM*:00000001 display_mode |
UNDEFINED SYMBOLS |
__do_copy_data |
__do_clear_bss |
f8x6 |
/Transportables_Koptertool/trunk/V-0.1/main.c |
---|
0,0 → 1,88 |
/* |
Mobiles Mikrokopter-Tool |
+++++ BETA 0.1 +++++ |
Diese Software ist Open-Source und darf nicht für kommerzielle Zwecke verwendet werden. |
Die Software darf kopiert, verändert und weitergegeben werden, unter der Bedingung, |
dass immer der komplette Source inklusive dieser Lizenz weitergegeben wird. |
Für den LCD-Font gilt das dort angegebene Copyright. |
(C) 2008 Thomas Kaiser, thomas@ft-fanpage.de |
Die Software wird "so wie sie ist" geliefert. |
Keine Gewähr auf Fehlerfreiheit, Vollständigkeit oder Funktion. |
Benutzung auf eigene Gefahr. |
Ich übernehmen keinerlei Haftung für direkte oder indirekte Personen- oder Sachschäden. |
Dies gilt insbesondere für die vorliegende Beta-Version. |
Teile des Source (z.B. die base64-Funktionen) sind abgewandelte Funktionen aus dem Mikrokopter-Source, |
siehe http://www.mikrokopter.de |
*/ |
//#define F_CPU 7378200ul |
#include <avr/io.h> |
#include <util/delay.h> |
#include <avr/interrupt.h> |
#include <stdlib.h> |
#include <avr/pgmspace.h> |
#include "main.h" |
#include "lcd.h" |
#include "rs232.h" |
#include "parameter.h" |
#include "menu.h" |
#include "display.h" |
#include "base64.h" |
#include "timer.h" |
unsigned char EEPromArray[E2END+1] EEMEM; |
void ReadParameter(void) |
{ |
// unsigned char *buffer; |
LCD_ORIENTATION = eeprom_read_byte(&EEPromArray[EEPROM_ADR_ORIENTATION]); |
// set = eeprom_read_byte(&EEPromArray[EEPROM_ADR_ACTIVE_SET]); |
// if (number > 5) number = 5; |
// eeprom_read_block(buffer, &EEPromArray[EEPROM_ADR_PARAM_BEGIN + length * number], length); |
} |
void WriteParameterset(void) |
{ |
eeprom_write_byte(&EEPromArray[EEPROM_ADR_VALID], 1); |
eeprom_write_byte(&EEPromArray[EEPROM_ADR_ORIENTATION], 0); |
// if(number > 5) number = 5; |
// eeprom_write_block(buffer, &EEPromArray[EEPROM_ADR_PARAM_BEGIN + length * number], length); |
// eeprom_write_byte(&EEPromArray[EEPROM_ADR_ACTIVE_SET], number); // diesen Parametersatz als aktuell merken |
} |
int main (void) |
{ |
PORTA = 0xFF; // unbenutzte Pins auf Pull-Up |
PORTB = 0x43; |
PORTC = 0xFC; |
PORTD = 0x7C; |
DDRC = 0x03; // Pins für Beleuchtung auf Ausgang |
DDRD = 0x80; |
if ((eeprom_read_byte(&EEPromArray[EEPROM_ADR_VALID])) != 1) |
WriteParameterset(); |
ReadParameter(); |
// LCD_ORIENTATION = 0; |
lcd_init(); |
RS232_init(); |
timer_init(); |
sei(); |
for (;;) |
main_menu(); |
} |
/Transportables_Koptertool/trunk/V-0.1/main.d |
---|
0,0 → 1,2 |
main.o main.d : main.c main.h lcd.h rs232.h parameter.h menu.h display.h base64.h \ |
timer.h |
/Transportables_Koptertool/trunk/V-0.1/main.eep |
---|
0,0 → 1,0 |
:00000001FF |
/Transportables_Koptertool/trunk/V-0.1/main.elf |
---|
Cannot display: file marked as a binary type. |
svn:mime-type = application/octet-stream |
Property changes: |
Added: svn:mime-type |
+application/octet-stream |
\ No newline at end of property |
/Transportables_Koptertool/trunk/V-0.1/main.h |
---|
0,0 → 1,45 |
#ifndef main_h |
#define main_h |
#include <avr/eeprom.h> |
#define set_cs() PORTB |= (1<<4) |
#define clr_cs() PORTB &=~(1<<4) |
#define set_reset() PORTB |= (1<<2) |
#define clr_reset() PORTB &=~(1<<2) |
#define set_A0() PORTB |= (1<<3) // Data |
#define clr_A0() PORTB &=~(1<<3) // Command |
#define set_scl() PORTB |= (1<<7) |
#define clr_scl() PORTB &=~(1<<7) |
#define set_si() PORTB |= (1<<5) |
#define clr_si() PORTB &=~(1<<5) |
#define key_enter 0x08 |
#define key_esc 0x04 |
#define key_plus 0x02 |
#define key_minus 0x01 |
#define key_nokey 0x00 |
extern uint8_t r_buffer[128]; |
extern uint8_t p_buffer[128]; |
//extern struct str_DebugIn *p_buffer; |
extern volatile uint8_t key; |
extern volatile uint8_t timer; |
extern volatile uint8_t rs232_timer; |
#endif |
//#define EEPROM_ADR_VALID 1 |
#define EEPROM_ADR_VALID 1 |
#define EEPROM_ADR_ORIENTATION 2 |
extern unsigned char EEPromArray[]; |
#ifndef EEMEM |
#define EEMEM __attribute__ ((section (".eeprom"))) |
#endif |
/Transportables_Koptertool/trunk/V-0.1/main.hex |
---|
0,0 → 1,616 |
:100000000C947E060C9499060C9499060C9499060F |
:100010000C9499060C9499060C9499060C949906E4 |
:100020000C9499060C9499060C94B5060C949906B8 |
:100030000C9499060C94F80B0C9499060C94990660 |
:100040000C9499060C9499060C9499060C949906B4 |
:100050000C9499060000000000003E5B4F5B3E00E0 |
:100060003E6B4F6B3E001C3E7C3E1C00183C7E3CB1 |
:1000700018001C577D571C001C5E7F5E1C0000187A |
:100080003C180000FFE7C3E7FF0000182418000039 |
:10009000FFE7DBE7FF0030483A060E002629792902 |
:1000A0002600407F05050700407F05253F005A3C9C |
:1000B000E73C5A007F3E1C1C0800081C1C3E7F00C9 |
:1000C00014227F2214005F5F005F5F0006097F013A |
:1000D0007F00006689956A0060606060606094A23D |
:1000E000FFA2940008047E04080010207E20100067 |
:1000F00008082A1C0800081C2A0808001E101010F6 |
:1001000010000C1E0C1E0C0030383E383000060E5D |
:100110003E0E060000000000000000005F0000002E |
:10012000000700070000147F147F1400242A7F2A90 |
:10013000120023130864620036495620500000085C |
:1001400007030000001C224100000041221C0000A7 |
:100150002A1C7F1C2A0008083E0808000080703016 |
:100160000000080808080800000060600000201077 |
:10017000080402003E5149453E0000427F40000015 |
:100180007249494946002141494D33001814127FF4 |
:1001900010002745454539003C4A49493100412175 |
:1001A00011090700364949493600464949291E00C8 |
:1001B0000000140000000040340000000008142279 |
:1001C0004100141414141400004122140800020108 |
:1001D000590906003E415D594E007C1211127C0007 |
:1001E0007F49494936003E41414122007F4141411A |
:1001F0003E007F49494941007F09090901003E410C |
:10020000415173007F0808087F0000417F410000D2 |
:100210002040413F01007F08142241007F404040C0 |
:1002200040007F021C027F007F0408107F003E41D7 |
:1002300041413E007F09090906003E4151215E000F |
:100240007F091929460026494949320003017F01E7 |
:1002500003003F4040403F001F2040201F003F4020 |
:1002600038403F006314081463000304780403005B |
:100270006159494D4300007F41414100020408108B |
:100280002000004141417F0004020102040040407F |
:10029000404040000003070800002054547840000C |
:1002A0007F284444380038444444280038444428D3 |
:1002B0007F0038545454180000087E09020018A426 |
:1002C000A49C78007F080404780000447D4000006E |
:1002D0002040403D00007F102844000000417F4046 |
:1002E00000007C04780478007C080404780038441A |
:1002F00044443800FC182424180018242418FC0056 |
:100300007C080404080048545454240004043F4466 |
:1003100024003C4040207C001C2040201C003C402D |
:1003200030403C004428102844004C9090907C00C1 |
:100330004464544C4400000836410000000077003B |
:1003400000000041360800000201020402003C26C1 |
:1003500023263C001EA1A16112003A4040207A00F1 |
:100360003854545559002155557941002154547839 |
:1003700041002155547840002054557940000C1E0E |
:100380005272120039555555590039545454590078 |
:100390003955545458000000457C41000002457D09 |
:1003A00042000001457C4000791412147900F028C5 |
:1003B0002528F0007C54554500002054547C5444BA |
:1003C0007C0A097F4941324949493200324848484C |
:1003D0003200324A484830003A4141217A003A42DC |
:1003E00040207800009DA0A07D003944444439009D |
:1003F0003D4040403D003C24FF242400487E4943CA |
:1004000066002B2FFC2F2B00FF0929F62000C08847 |
:100410007E0903002054547941000000447D4100CE |
:100420003048484A3200384040227A00007A0A0AAE |
:1004300072007D0D19317D002629292F28002629DB |
:100440002929260030484D402000380808080800B7 |
:100450000808080838002F10C8ACBA002F1028343C |
:10046000FA0000007B00000008142A142200221465 |
:100470002A140800AA005500AA00AA55AA55AA5590 |
:1004800055AA55AA55AA000000FF0000101010FF41 |
:100490000000141414FF00001010FF00FF001010E3 |
:1004A000F010F000141414FC00001414F700FF0006 |
:1004B0000000FF00FF001414F404FC0014141710D3 |
:1004C0001F0010101F101F001414141F0000101024 |
:1004D00010F000000000001F10101010101F10106E |
:1004E000101010F01010000000FF1010101010106D |
:1004F0001010101010FF1010000000FF1414000066 |
:10050000FF00FF1000001F1017140000FC04F4147B |
:100510001414171017141414F404F4140000FF003A |
:10052000F7141414141414141414F700F7141414F6 |
:100530001417141410101F101F10141414F4141492 |
:100540001010F010F01000001F101F100000001F0E |
:100550001414000000FC14140000F010F01010102F |
:10056000FF10FF10141414FF14141010101F0000BB |
:10057000000000F01010FFFFFFFFFFFFF0F0F0F0B1 |
:10058000F0F0FFFFFF000000000000FFFFFF0F0F73 |
:100590000F0F0F0F3844443844007C2A2A3E1400C1 |
:1005A0007E0202060600027E027E02006355494179 |
:1005B00063003844443C0400407E201E20000602B4 |
:1005C0007E02020099A5E7A599001C2A492A1C0071 |
:1005D0004C7201724C00304A4D4D30003048784822 |
:1005E0003000BC625A463D003E49494900007E0148 |
:1005F00001017E002A2A2A2A2A0044445F4444003A |
:1006000040514A44400040444A5140000000FF012C |
:100610000300E080FF00000008086B6B080836123A |
:1006200036243600060F090F0600000018180000D7 |
:100630000000101000003040FF010100001F010108 |
:100640001E0000191D171200003C3C3C3C0000003D |
:1006500000000000202020202020004E69636B2035 |
:100660002020202020202020202000526F6C6C2091 |
:1006700020202020202020202020004761732020DF |
:10068000202020202020202020200047696572099A |
:100690000909000000000000000000506F7469317B |
:1006A0000909090000000000000000506F74693261 |
:1006B0000909090000000000000000506F74693350 |
:1006C0000909090000000000000000506F7469343F |
:1006D0000909090000000000000000436F6E666910 |
:1006E0006709090900000000000000486F6568659F |
:1006F0005F4D696E476173202020004C75667464FD |
:100700007275636B5F4420202020004D6178486F34 |
:100710006568652020202020202000486F656865DE |
:100720005F50202020202020202000486F65686531 |
:100730005F56657273746165726B00486F656865BA |
:100740005F4143435F5769726B2E00537469636B5B |
:100750005F50202020202020202000537469636BEC |
:100760005F44202020202020202000476965725F00 |
:1007700050202020202020202020004761735F4D42 |
:10078000696E2020202020202020004761735F4DCB |
:1007900061782020202020202020004779726F419E |
:1007A000636346616B746F720900004B6F6D70611B |
:1007B00073735769726B756E6720004779726F5F4C |
:1007C00050200909000000000000004779726F5FA7 |
:1007D0004909090900000000000000556E746572A7 |
:1007E0007370616E6E756E672020004E6F74476186 |
:1007F00073090909000000000000004E6F74476192 |
:10080000735A65697420202020200055666F417559 |
:10081000737269636874756E672000495F46616B27 |
:10082000746F7220202020202020005573657250A4 |
:100830006172616D310909000000005573657250E5 |
:100840006172616D320909000000005573657250D4 |
:100850006172616D330909000000005573657250C3 |
:100860006172616D34090900000000536572766F92 |
:100870004E69636B4374726C090000536572766F46 |
:100880004E69636B436F6D70090000536572766F3C |
:100890004E69636B4D696E09000000536572766F97 |
:1008A0004E69636B4D617809000000536572766F85 |
:1008B0004E69636B526566727368004C6F6F704768 |
:1008C00061734C696D6974090000004C6F6F70545E |
:1008D00068726573686F6C640900004C6F6F7048D4 |
:1008E0007973746572657365090000416368734BC1 |
:1008F0006F70706C756E6709000000416368734724 |
:100900006567656E4B6F70706C2E0057696E6B6C0F |
:10091000556D7363686C4E69636B0057696E6B6CE1 |
:10092000556D7363686C526F6C6C004779726F41E0 |
:1009300063634162676C65696368004472696674E9 |
:100940006B6F6D700909000000000044796E616DE5 |
:10095000696353746162696C6974005573657250A0 |
:100960006172616D350909000000005573657250B0 |
:100970006172616D3609090000000055736572509F |
:100980006172616D3709090000000055736572508E |
:100990006172616D380909000000004C6F6F70438F |
:1009A0006F6E666967090900000000536572766F13 |
:1009B0004E69636B436F6D70496E004C6F6F7020B2 |
:1009C00075702020202020202020004C6F6F702088 |
:1009D000646F776E092020202000004C6F6F70201C |
:1009E0006C656674202020202020004C6F6F7020E2 |
:1009F000726967687420202020200048F668656EC0 |
:100A00007265676C6572202020200048F668656E6C |
:100A1000736368616C746572202000486561646866 |
:100A20006F6C6409090000000000004B6F6D70617D |
:100A300073730909000000000000004B6F6D7061C6 |
:100A4000737346697809090000000047505309098B |
:100A500009000000000000000000004163687365A9 |
:100A60006E6B6F70706C756E672000447265687293 |
:100A70006174650909000000000000010802010816 |
:100A8000020108020108020108020108020108022D |
:100A900001080200000000FF0400FF0400FF040042 |
:100AA000FF0400320400FF040006030040030014AA |
:100AB0000300200821FA0800320800FF08000005A2 |
:100AC00000000500FA0800FA0800FA08000100001A |
:100AD000FF0500FF0900FF0900FF0900FF0900FFF3 |
:100AE0000700FA0700FA0700FA0700190700FF06D7 |
:100AF00000FA0600FA0600FF0A00FF0A00FA0600E4 |
:100B0000FA0600FA0500FA0500FF0500FF0900FFDC |
:100B10000900FF0900FF09000001000107000000B3 |
:100B200000000000000000000000000000000000C5 |
:100B300000000000000000000000000000000000B5 |
:100B40000000020202020202020200040404040481 |
:100B50000403030308080808050508080800050938 |
:100B60000909090707070707070606060A0A06060E |
:100B70000505050909090900070B0B0B0B0C0C0CEB |
:100B80000C0C0C0C0C436F6E666967202020200053 |
:100B90004368616E6E656C73202000537469636BEB |
:100BA000202020202000486F65686520202020201C |
:100BB000004779726F202020202020004C6F6F703A |
:100BC000696E672020200043616D657261202020DE |
:100BD0002000536F6E7374696765732000557365E9 |
:100BE0007220202020202000436F75706C696E6792 |
:100BF000202000436F6E66696728322920004C6F01 |
:100C00006F70696E67736574002D002D002D004CA8 |
:100C100061646520506172616D657465720D0A00D2 |
:100C200020313A0D0A0020323A0D0A0020333A0DE5 |
:100C30000A0020343A0D0A0020353A0D0A005469A2 |
:100C40006D656F757400506172616D6574657220B9 |
:100C500073706569636865726E3F0D0A20206A6172 |
:100C60000D0A20206E65696E000D0A2D2D2D3E00A7 |
:100C70000D0A506172616D657465722067657370ED |
:100C800065696368657274000D0A4E696368742053 |
:100C900067657370656963686572740020002A0077 |
:100CA00048617570746D656EFC284245544120564C |
:100CB000302E31290D0A000D0A446973706C617978 |
:100CC0000D0A00506172616D657465720D0A004D08 |
:100CD0006F746F727465737400446973706C6179BA |
:100CE000000D0A54696D656F757421005461737449 |
:100CF00065206472FC636B656E0D0A0011241FBED3 |
:100D0000CFE5D8E0DEBFCDBF10E0A0E6B0E0ECE676 |
:100D1000F6E202C005900D92A036B107D9F715E0B2 |
:100D2000A0E6B0E001C01D92A738B107E1F70C942E |
:100D30009B060C940000CFE5D8E0DEBFCDBF8FEF5F |
:100D40008BBB83E488BB8CEF85BB8CE782BB83E0E5 |
:100D500084BB80E881BB0E9453070E941A0C0E944A |
:100D6000F40678940E94C811FDCF1F920F920FB61F |
:100D70000F9211248F939F938091E404882331F084 |
:100D80008091E40481508093E40415C08AE080934C |
:100D9000E40489B3992780959095689413F8959504 |
:100DA00087951694E1F78F708093E604809169052A |
:100DB0008F5F8093690580916100882329F080917D |
:100DC00061008150809361008091E504882329F0BF |
:100DD0008091E50481508093E5049F918F910F905D |
:100DE0000FBE0F901F9018958DE083BF88E48CBFD5 |
:100DF00089B7826089BF0895C4988FB9779BFECF69 |
:100E00008EB18EB9C49A08950F931F93CF93DF9339 |
:100E100082E690E0FC011192019624E0813692076F |
:100E2000D1F3C8F300E010E0C398802F80550E94F2 |
:100E3000FC0680E10E94FC0684E00E94FC06C39A46 |
:100E4000CFE7D0E080E00E94FC062197D7FFFACFE1 |
:100E50000F5F1F4F0830110538F310926A0510928A |
:100E60006B05DF91CF911F910F9108950E940407A8 |
:100E7000089583E397E00197F1F708950F931F9387 |
:100E8000CF93DF938C01C0E0D0E0C817D90730F4CE |
:100E90000E9439072196C017D107D0F3DF91CF9177 |
:100EA0001F910F91089510926A0510926B058FEFB4 |
:100EB00087BB8EE58DB9C49AC2988AE090E00E9403 |
:100EC0003E07C29AC498C39880E40E94FC0680EA58 |
:100ED0000E94FC0688EC0E94FC0686EA0E94FC0642 |
:100EE00082EA0E94FC068FE20E94FC0688EF0E94C4 |
:100EF000FC0680E00E94FC0687E20E94FC0681E876 |
:100F00000E94FC0686E10E94FC068CEA0E94FC0618 |
:100F100080E00E94FC068FEA0E94FC060E94040703 |
:100F20000895FF920F931F938C01F62E880F892F3F |
:100F3000881F990B9195C39880550E94FC06102F2D |
:100F40001F771C5F812F82958F70805F0E94FC0647 |
:100F5000812F8F700E94FC06C39A8F2D0E94FC0681 |
:100F60001F910F91FF900895EF92FF920F931F939F |
:100F7000CF93DF93C0E0D0E032EEE32E30E0F32EEB |
:100F8000870100581040F70181917F01F8018083AB |
:100F900061918F01CE010E9491072196F3E0C03844 |
:100FA000DF0788F3C0E8D3E002EE13E0F801119206 |
:100FB0008F0160E0CE010E9491072196F4E0C030DD |
:100FC000DF07A0F3DF91CF911F910F91FF90EF907A |
:100FD0000895BF92CF92DF92EF92FF920F931F93EB |
:100FE000CF93DF93382FF42EB22E842F99278F3D85 |
:100FF000910589F1803E910574F4863D910529F1B2 |
:10100000873D910524F4843C9105E1F026C08C3D98 |
:101010009105F1F022C0863F910571F0873F91055F |
:1010200024F4843E910529F018C08C3F910539F0D5 |
:1010300014C014E8F12E11C0C4E9FC2E0EC0B1E8B2 |
:10104000FB2E0BC0AEE8FA2E08C0F9E9FF2E05C052 |
:10105000EAE9FE2E02C071EEF72EC62FDD27D695E7 |
:10106000DC2FCC27D795C79586E0389FC001112487 |
:10107000C80FD91FD3706E0100E010E045E0E42EE8 |
:1010800086E0F89EF0011124E00FF11FEC5AFF4FAB |
:1010900024918B2D992782309105E9F083309105B9 |
:1010A0002CF4009749F0019771F02CC08330910522 |
:1010B000D1F00497F1F026C0FE01EE59FF4FE00F8A |
:1010C000F11F20831FC0FE01EE59FF4FE00FF11FFB |
:1010D0008081822B16C0FE01EE59FF4FE00FF11FF9 |
:1010E000808182270EC0FE01EE59FF4FE00FF11FF5 |
:1010F00006C0FE01EE59FF4FE00FF11F20958081E1 |
:1011000082238083FE01EE59FF4FE00FF11F6081C3 |
:10111000C6010E949107EA940F5F1F4F0894C11CFB |
:10112000D11CE7FEADCFDF91CF911F910F91FF90C2 |
:10113000EF90DF90CF90BF90089580916B058F5F07 |
:1011400080936B05883028F00E94B40787E0809375 |
:101150006B0508951F93CF93DF93EC01162FFC01CD |
:101160008491882351F1FE0184918032B0F0219660 |
:101170008491212F482F60916B0580916A050E9410 |
:10118000E90780916A058F5F80936A05853188F051 |
:1011900010926A050E949D080CC099278A3091051B |
:1011A00029F00D9729F410926A0502C00E949D084B |
:1011B0002196FE0184918823B1F6DF91CF911F9192 |
:1011C000089580936A0560936B05622FCA010E949F |
:1011D000AA0808951F93CF93DF93EC01162F8881FF |
:1011E000882339F148814032A0F02196212F609167 |
:1011F0006B0580916A050E94E90780916A058F5FFF |
:1012000080936A05853190F010926A050E949D08CE |
:101210000DC055274A30510531F04D30510529F4A4 |
:1012200010926A0502C00E949D0821968881882339 |
:10123000C9F6DF91CF911F91089580936A0560935D |
:101240006B05622FCA010E94EA080895982F87FD56 |
:1012500045C0603408F042C0862F869586958695F5 |
:10126000A82FBB27B695BA2FAA27B795A795A90F80 |
:10127000B11D262F33272770307081E090E002C027 |
:10128000880F991F2A95E2F7982FB37055274130A0 |
:10129000510589F0423051051CF4452B29F017C047 |
:1012A0004230510571F013C0FD01EE59FF4F90958A |
:1012B000808189230BC0FD01EE59FF4F8081892B6E |
:1012C00005C0FD01EE59FF4F808189278083FD0114 |
:1012D000EE59FF4F6081CD010E94910708952F9232 |
:1012E0003F924F925F926F927F928F929F92AF92B6 |
:1012F000BF92CF92DF92EF92FF920F931F93CF9303 |
:10130000DF93CDB7DEB723970FB6F894DEBF0FBEDD |
:10131000CDBF0983A82EBB24C62EDD24642E7724DE |
:101320007301EA18FB08822E992484010C191D0907 |
:10133000F7FE04C07FEF272E372E09C01E141F04AE |
:1013400024F461E0262E312C02C02224332417FF1E |
:1013500004C05FEF452E552E09C01016110624F467 |
:1013600041E0442E512C02C044245524F7FE04C011 |
:10137000F094E194F108F39417FF03C010950195E0 |
:101380001F4F49816C2D8A2D0E9426090E151F05BD |
:101390004CF5C701F7FC01969595879522273327D1 |
:1013A000281B390B3B832A83A614B70409F441C0D8 |
:1013B0008A819B81800F911F9B838A83A20CB31C1F |
:1013C0001816190634F4C40CD51C8E199F099B837A |
:1013D0008A8349816C2D8A2D0E942609A614B704A0 |
:1013E00039F727C0C80117FD019695958795EE2717 |
:1013F000FF27E81BF90BFB83EA83C814D904C9F063 |
:101400002A813B812E0D3F1D3B832A83C40CD51CB2 |
:101410001216130634F4A20CB31C201B310B3B83B1 |
:101420002A8349816C2D8A2D0E942609C814D9046B |
:1014300039F723960FB6F894DEBF0FBECDBFDF910C |
:10144000CF911F910F91FF90EF90DF90CF90BF90C1 |
:10145000AF909F908F907F906F905F904F903F9054 |
:101460002F900895BF92CF92DF92EF92FF920F9349 |
:101470001F93CF93DF93182F822FB02E17FD1FE7F6 |
:10148000603408F06FE3212F240F312D311D6901E5 |
:10149000262F33277901E80EF11C81E8C816D10404 |
:1014A00018F0F0E8CF2ED12C81E4E816F10418F002 |
:1014B000E0E4EE2EF12CE901E216F30658F00B2DD4 |
:1014C0002C2F4C2D6C2F812F0E946F092196EC162A |
:1014D000FD06A8F7DF91CF911F910F91FF90EF903C |
:1014E000DF90CF90BF900895CF92DF92EF92FF925E |
:1014F0000F931F93CF93DF93D82E162FC02E87FF05 |
:1015000002C0BFE7DB2E103408F01FE38D2D840FDF |
:10151000912D911DEC01812F820F912D911D7C0148 |
:10152000C138D10510F0C0E8D0E091E4E916F1042B |
:1015300018F0A0E4EA2EF12C0C2D212F4C2F612F56 |
:101540008D2D0E946F092E2D4C2F612F8C2F0E9404 |
:101550006F092E2D4D2D6E2D8C2F0E946F09212F7E |
:101560004D2D6E2D8D2D0E946F09DF91CF911F9112 |
:101570000F91FF90EF90DF90CF9008952F923F92C0 |
:101580004F925F926F927F928F929F92AF92BF9293 |
:10159000CF92DF92EF92FF920F931F93CF93DF933F |
:1015A0005C016B01E22EC1E08C2E912C841A950A0D |
:1015B000222433248EEF9FEF489F2001499F500C37 |
:1015C000589F500C11243101EA01862F840F422FBD |
:1015D000682F8A2D0E9426098C2D8C1B4E2D682F7A |
:1015E0008A2D0E9426094E2D6C2D8A2D8C0F0E946B |
:1015F00026094E2D6C2D8A2D8C1B0E9426092C1637 |
:101600003D060CF051C097FC07C0219782E090E0A6 |
:10161000480E591E840C951C0894611C711C82E0B4 |
:1016200090E0280E391E820C931C0894811C911C9A |
:101630001C2D1C0FFA2CF60C4E2D612F8F2D0E94A5 |
:1016400026090A2D06194E2D612F802F0E9426098A |
:101650001C2D1C1B4E2D612F8F2D0E9426094E2DF7 |
:10166000612F802F0E9426091C2D160DFA2CFC0ECE |
:101670004E2D612F8F2D0E9426090A2D0C1B4E2DF9 |
:10168000612F802F0E9426091C2D16194E2D612FC7 |
:101690008F2D0E9426094E2D612F802F0E94260932 |
:1016A0006C167D060CF4AFCFDF91CF911F910F9197 |
:1016B000FF90EF90DF90CF90BF90AF909F908F9072 |
:1016C0007F906F905F904F903F902F9008952F9252 |
:1016D0003F924F925F926F927F928F929F92AF92C2 |
:1016E000BF92CF92DF92FF920F931F93CF93DF931E |
:1016F0005C016B0111E0612E712C641A750A2224C1 |
:1017000033248EEF9FEF489F2001499F500C589F34 |
:10171000500C11244101EA01862F841B962F940F4F |
:1017200001E0282F4A2D692F8A2D0E946F098A2DEA |
:101730008C1B2C2D482F6C2D8A2D8C0F0E946F092D |
:101740002C163D060CF042C077FC07C0219782E0C2 |
:1017500090E0480E591E640C751C0894811C911C65 |
:1017600082E090E0280E391E620C731C0894611C04 |
:10177000711C8C2D8C0F1A2D1819FA2CF80C01E005 |
:10178000282F412F682F8F2D0E946F098C2D8C1BC5 |
:10179000282F412F682F8F2D0E946F098C2D880DC7 |
:1017A0001A2D1C1BFA2CFC0E282F412F682F8F2D71 |
:1017B0000E946F098C2D8819282F412F682F8F2D9B |
:1017C0000E946F098C169D060CF4BECFDF91CF915D |
:1017D0001F910F91FF90DF90CF90BF90AF909F909F |
:1017E0008F907F906F905F904F903F902F900895D3 |
:1017F0001F920F920FB60F9211248F939F93EF9326 |
:10180000FF9390916C05EEE6F5E0E90FF11D8CB1C8 |
:1018100080839F5F90936C0580916C058F7080939F |
:101820006C05FF91EF919F918F910F900FBE0F90DC |
:101830001F90189588E98AB987E089B908958AE0E8 |
:101840008093E50490916D0580916C05981721F4C3 |
:101850008091E5048823B1F78091E504882381F025 |
:1018600080916D05E82FFF27E259FA4F8F5F809333 |
:101870006D05E08180916D058F7080936D0501C0CD |
:10188000E82F8E2F992708955D9BFECF8CB9089580 |
:10189000CF93DF93EC018881882331F089910E94F6 |
:1018A000440C88818823D1F7DF91CF910895A82F28 |
:1018B00062E070E06A17B0F5E62FFF27E751FB4FB3 |
:1018C00080818D5331813D5352815D5343814D530E |
:1018D0006C5FE72FFF27ED59FB4F9927880F991F62 |
:1018E000880F991F232F22952F70282B2083832F59 |
:1018F00099278F70907034E0880F991F3A95E1F71F |
:10190000252F26952695282B2183852F99278370AF |
:10191000907026E0880F991F2A95E1F7482B4283A3 |
:101920007D5FC8CF872F99270895CF9384E1809357 |
:1019300061000E941F0C833221F080916100882396 |
:10194000C1F780916100882399F0C0E00E941F0CCC |
:10195000EC2FFF27E751FB4F8083CF5FC7FDCFE719 |
:101960008D30A1F78C2F0E94570C80E090E002C0D0 |
:1019700081E090E0CF910895FF920F931F93CF9352 |
:10198000A82F809163048093E9048091640480937C |
:10199000EA04809165048093EB0443E0F42E7F2DEC |
:1019A000FA16E0F5E72FFF27ED59FB4F90812181D3 |
:1019B00062817D5FEF2DFF27E751FB4F892F8695D1 |
:1019C0008695835C8083892F99278370907034E09B |
:1019D000880F991F3A95E1F7422F55279A0194E015 |
:1019E000369527959A95E1F7822B835C81834F701A |
:1019F0005070440F551F440F551F862F992716E02E |
:101A0000969587951A95E1F7842B835C82836F7393 |
:101A1000635C638384E0F80E7A1720F220E030E004 |
:101A2000C0E0CF1540F4E9EEF4E08191280F311DBC |
:101A3000CF5FCF15D0F33F70EF2DFF27E751FB4F5E |
:101A4000C901C6E096958795CA95E1F7835C8083C6 |
:101A50002F733070822F835C81838DE082831382A9 |
:101A600083E0F80EC381CF1550F409EE14E0F801BD |
:101A700081918F010E94440CCF5FCF15C0F3CF91AD |
:101A80001F910F91FF9008951F93CF93DF93CDB7D0 |
:101A9000DEB761970FB6F894DEBF0FBECDBF182F2B |
:101AA00083E28093630481E68093640480936504F9 |
:101AB00010936604109267041092680486E00E94F6 |
:101AC000BC0C0E94950C8091EA048134D1F7DE01B0 |
:101AD0001196E3E6F4E09FE081918D93915097FF9A |
:101AE000FBCF198A17702989AE014F5F5F4F612FB5 |
:101AF000822F0E941D0961960FB6F894DEBF0FBEBB |
:101B0000CDBFDF91CF911F910895CF92DF92EF92D9 |
:101B1000FF920F931F93CF93DF93CDB7DEB76197FB |
:101B20000FB6F894DEBF0FBECDBF00E00E943607AF |
:101B300010E0C02EDD24C60153E0880F991F5A958E |
:101B4000E1F7810F0E94440D1F5F183090F30E944F |
:101B5000950C8091EA04843491F510E0EE24FF2482 |
:101B6000F60143E0EE0FFF1F4A95E1F7EE0DFF1D72 |
:101B7000EE0FFF1FED59FB4F228183819927982F8C |
:101B800088274AE050E0BE016F5F7F4F820F911DB2 |
:101B90000E94CF1220E044E556E0612F8EE00E94C3 |
:101BA000E10820E0AE014F5F5F4F612F8EE00E94A1 |
:101BB0001D091F5F0894E11CF11C183088F2809108 |
:101BC000E604882321F28091E604813009F40F5F56 |
:101BD0008091E604823009F4015003708091E6049C |
:101BE000883009F0A5CF61960FB6F894DEBF0FBE1E |
:101BF000CDBFDF91CF911F910F91FF90EF90DF90BC |
:101C0000CF900895CF93C0E093E29093630491E660 |
:101C10009093640491E79093650480936604C09365 |
:101C20006704C093680486E00E94BC0C0E94950C77 |
:101C3000813009F4CEE1CF5F8091EA048C54853085 |
:101C400010F0CE3198F3CE3118F081E090E002C070 |
:101C500080E090E0CF910895982F8630B8F4E9EABB |
:101C6000F4E026E4808183832150319727FFFACF67 |
:101C700083E28093630481E6809364049559909392 |
:101C800065041092AD048BE40E94BC0C08959B0186 |
:101C9000682F772751E0F90120E030E047E0CB01E1 |
:101CA000022E02C0959587950A94E2F780FF02C044 |
:101CB000508301C0108241502F5F3F4F319647FF44 |
:101CC000EECF089550E061E070E0FC0120E030E0EC |
:101CD00047E08191813041F4CB01022E02C0880F90 |
:101CE000991F0A94E2F7580F41502F5F3F4F47FF6B |
:101CF000F0CF852F99270895282FFB0134E6632F15 |
:101D00000E941613582F839FC0011124281B3AE00C |
:101D1000822F632F0E941613482F839FC001112426 |
:101D2000281B205D2283852F805D8083405D418359 |
:101D3000803329F480E28083403309F48183138265 |
:101D400008959F92AF92BF92CF92DF92EF92FF924F |
:101D50000F931F93CF93DF93CDB7DEB7A1970FB645 |
:101D6000F894DEBF0FBECDBF082F9924823008F44F |
:101D70003EC0192D4BE5A42E46E0B42E33E6C32E0B |
:101D800034E0D32E2DE7E22E2AE0F22EF7018491E3 |
:101D90008017F1F4E92DFF27E158FA4F1083BE01B7 |
:101DA0006F5F7F4FF60180810E947C0E20E0AE01C4 |
:101DB0004F5F5F4F692D822F0E941D0920E0A50112 |
:101DC000692D85E00E94E108F7E0F91508F0939489 |
:101DD0001F5F83E090E0E80EF91E0894C11CD11C3F |
:101DE000E0E1F0E0AE0EBF1E123480F25FC0813041 |
:101DF00071F5BE01665E7F4F809197040E94470E89 |
:101E00009A82192D9BEBC92E99E0D92EEE24FF243E |
:101E1000CE010196F701E80FF91F218D205D29837E |
:101E200020E0AC01612F822F0E941D0920E0A60155 |
:101E3000612F85E00E94E1081F5F0894E11CF11CFE |
:101E400080E190E0C80ED91E143010F32FC0882313 |
:101E500069F5BE01665E7F4F80916B040E94470E5C |
:101E60009A82192D8BEFC82E89E0D82EEE24FF24FC |
:101E7000CE010196F701E80FF91F218D205D29831E |
:101E800020E0AC01612F822F0E941D0920E0A601F5 |
:101E9000612F85E00E94E1081F5F0894E11CF11C9E |
:101EA000E0E1F0E0CE0EDF1E183010F3892D992707 |
:101EB000A1960FB6F894DEBF0FBECDBFDF91CF91D4 |
:101EC0001F910F91FF90EF90DF90CF90BF90AF9058 |
:101ED0009F9008958F929F92AF92BF92DF92EF9260 |
:101EE000FF920F931F93CF93DF93CDB7DEB7629727 |
:101EF0000FB6F894DEBF0FBECDBFD82E81E08D1592 |
:101F000008F055C0615044E080E00E948611082F1F |
:101F10008F3F09F44CC0E82EFF24F701E158FA4F37 |
:101F20008081E82FFF27ED59FB4F108120E049E029 |
:101F30005CE0602F84E00E94E1088091E604882341 |
:101F4000E1F78091E604813009F411508091E604B4 |
:101F5000823009F41F5FBE016F5F7F4F812F0E94A7 |
:101F60007C0E20E0AE014F5F5F4F602F822F0E94FA |
:101F70001D0984E180936100809161008823E1F76D |
:101F80008091E604843021F08091E6048830C9F61F |
:101F90008091E604883059F4EFE7F5E0EE0EFF1E7D |
:101FA000F7018081E82FFF27ED59FB4F1083F1E007 |
:101FB000DF1609F06CC06BE0862E912C8C0E9D1EF6 |
:101FC000B401809197040E94470E1A8244E063E0B6 |
:101FD0008A810E948611082F8F3F09F4C6C0E82E1F |
:101FE000FF245E010894A11CB11CF701EA0DFB1D42 |
:101FF000128520E04BE05CE0682F84E00E94E1085D |
:102000008091E604813009F410E08091E60482308A |
:1020100009F411E0105D1983105320E0AE014F5F09 |
:102020005F4F602F822F0E941D0984E18093610021 |
:10203000D0906100DD20E1F78091E604883021F046 |
:102040008091E6048430E1F68091E604883049F41A |
:10205000EA0CFB1CF7011287C4010E94620E8093F8 |
:1020600097040E943607BE016F5F7F4F80919704EF |
:102070000E947C0E6D2DCE0101960E94EA0888EC2C |
:1020800080936100809161008823E1F76EC0DD20BC |
:1020900009F06BC05BE0852E912C8C0E9D1EB40167 |
:1020A00080916B040E94470EDA8244E067E08D2D38 |
:1020B0000E948611082F8F3F09F457C0E82EFF2495 |
:1020C0005E010894A11CB11CF701EA0DFB1D1285ED |
:1020D0002D2D4DE05CE0682F84E00E94E1088091A6 |
:1020E000E604813009F410E08091E604823009F4BE |
:1020F00011E0105D1983105320E0AE014F5F5F4F78 |
:10210000602F822F0E941D0984E180936100D0908E |
:102110006100DD20E1F78091E604883021F08091B4 |
:10212000E6048430E1F68091E604883049F4EA0C54 |
:10213000FB1CF7011287C4010E94620E80936B049E |
:102140000E943607BE016F5F7F4F80916B040E9433 |
:102150007C0E6D2DCE0101960E94EA0888EC8093DA |
:102160006100809161008823E1F762960FB6F894D0 |
:10217000DEBF0FBECDBFDF91CF911F910F91FF90BA |
:10218000EF90DF90BF90AF909F908F9008951F9336 |
:10219000CF93DF93CDB7DEB72F970FB6F894DEBF9E |
:1021A0000FBECDBF0E94360760E08FE09CE00E942A |
:1021B000AA0860E080E29CE00E94AA0860E086E253 |
:1021C0009CE00E94AA0860E08CE29CE00E94AA08C1 |
:1021D00060E082E39CE00E94AA0860E088E39CE063 |
:1021E0000E94AA0840E065E081E00E94861112E0AA |
:1021F0000E94020E813041F420E04EE35CE066E094 |
:10220000822F0E94E1085CC00E9436074AE050E03D |
:10221000BE016F5F7F4F812F99270E94F01260E00F |
:10222000CE0101960E94EA0882E3809361008091CA |
:1022300061008823E1F70E943607812F0E94A10EDA |
:10224000682F8091E6048823E1F38091E6048230D0 |
:1022500009F41F5F8091E604813009F411501F3F9B |
:1022600011F41CE003C01D3008F010E08091E6047A |
:10227000883019F4812F0E946A0F8091E60484301F |
:1022800019F60E94360760E086E49CE00E94AA08E6 |
:1022900040E062E081E00E948611813061F460E0FC |
:1022A00089E69CE00E94AA0885E00E942C0E60E06E |
:1022B00080E79CE003C060E088E89CE00E94AA08F8 |
:1022C00084E680936100809161008823E1F72F9676 |
:1022D0000FB6F894DEBF0FBECDBFDF91CF911F9137 |
:1022E00008950F931F93062F142F20E04CE95CE014 |
:1022F000682F812F0E94E10820E04EE95CE0602F0A |
:10230000812F0E94E1081F910F910895EF92FF9293 |
:102310000F931F93CF93F82EE62E042FC82F182F5C |
:10232000682F0E9471118091E6048823E1F7809163 |
:10233000E6048823E1F38091E604823019F4CE1597 |
:1023400008F4CF5F8091E604813019F4FC1608F49C |
:10235000C150402F6C2F812F0E9471111C2F809132 |
:10236000E604883021F08091E6048430E1F6809123 |
:10237000E604843009F4CFEF8091E6048823E1F786 |
:102380008C2F9927CF911F910F91FF90EF90089577 |
:102390000E94360760E080EA9CE00E94AA0860E0A4 |
:1023A00087EB9CE00E94AA0860E083EC9CE00E941E |
:1023B000AA0860E08FEC9CE00E94AA084AE064E072 |
:1023C00082E00E94861199278330910561F0843064 |
:1023D00091051CF4029721F00895049739F00895AF |
:1023E0000E94231208950E94C71008950E9483122C |
:1023F0000895CF93C0E093E29093630491E69093A5 |
:10240000640498E69093650480936604C09367041F |
:10241000C093680486E00E94BC0C0E94950C813039 |
:1024200009F4CAE0CF5F8091EA048053853010F050 |
:10243000CA3098F3CA3018F081E090E002C080E022 |
:1024400090E0CF9108950F931F93CF93DF93CDB773 |
:10245000DEB72A970FB6F894DEBF0FBECDBF0E943D |
:10246000360760E089ED9CE00E94AA080091E6042E |
:102470000023E1F7802F0E94F911813069F4602F69 |
:1024800081EE9CE00E94AA0888EC80936100809114 |
:1024900061008823E1F72CC01091EA0419830A83B4 |
:1024A000202FAE014F5F5F4F602F8AE00E941D0911 |
:1024B0001F5F202F43E654E0612F802F0E941D09EB |
:1024C0008AE080936100809161008823E1F7809128 |
:1024D000E604813011F40E94F9118091E604823003 |
:1024E00011F40E94F9118091E604843009F0BECF06 |
:1024F0002A960FB6F894DEBF0FBECDBFDF91CF9105 |
:102500001F910F9108950E9436076091E60466239B |
:10251000E1F78CEE9CE00E94AA088091E6048823F3 |
:10252000E1F38091E6048830C9F483E28093630488 |
:1025300081E68093640484E7809365048AE0809355 |
:102540006604809367048093680480936904109202 |
:102550006A0410926B0489E00E94BC0C8091E6042E |
:102560008823E1F78091E6048823E1F383E28093F6 |
:10257000630481E68093640484E780936504109289 |
:102580006604109267041092680410926904109215 |
:102590006A0410926B0489E00E94BC0C0895FB0150 |
:1025A0009F01E8944230C4F04532B4F44A3029F433 |
:1025B00097FB1EF4909581959F4F642F77270E947B |
:1025C0002213805D8A330CF0895D8193CB010097E3 |
:1025D000A1F716F45DE251931082C9010C94061321 |
:1025E000FB019F01423074F0453264F4642F772779 |
:1025F0000E942213805D8A330CF0895D8193CB01A8 |
:102600000097A1F71082C9010C940613DC01FC01AC |
:1026100001900020E9F73297AE17BF0730F47C91A4 |
:102620006081708331976D93F7CF0895991B79E09E |
:1026300004C0991F961708F0961B881F7A95C9F752 |
:1026400080950895AA1BBB1B51E107C0AA1FBB1FA1 |
:10265000A617B70710F0A61BB70B881F991F5A952E |
:0C266000A9F780959095BC01CD0108956C |
:00000001FF |
/Transportables_Koptertool/trunk/V-0.1/main.lss |
---|
0,0 → 1,5331 |
main.elf: file format elf32-avr |
Sections: |
Idx Name Size VMA LMA File off Algn |
0 .text 0000266c 00000000 00000000 00000094 2**0 |
CONTENTS, ALLOC, LOAD, READONLY, CODE |
1 .data 00000000 00800060 0000266c 00002700 2**0 |
CONTENTS, ALLOC, LOAD, DATA |
2 .bss 00000527 00800060 00800060 00002700 2**0 |
ALLOC |
3 .noinit 00000000 00800587 00800587 00002700 2**0 |
CONTENTS |
4 .eeprom 00000000 00810000 00810000 00002700 2**0 |
CONTENTS |
5 .stab 0000036c 00000000 00000000 00002700 2**2 |
CONTENTS, READONLY, DEBUGGING |
6 .stabstr 00000084 00000000 00000000 00002a6c 2**0 |
CONTENTS, READONLY, DEBUGGING |
7 .debug_aranges 000000c8 00000000 00000000 00002af0 2**0 |
CONTENTS, READONLY, DEBUGGING |
8 .debug_pubnames 00000902 00000000 00000000 00002bb8 2**0 |
CONTENTS, READONLY, DEBUGGING |
9 .debug_info 00001dfa 00000000 00000000 000034ba 2**0 |
CONTENTS, READONLY, DEBUGGING |
10 .debug_abbrev 0000098e 00000000 00000000 000052b4 2**0 |
CONTENTS, READONLY, DEBUGGING |
11 .debug_line 00001982 00000000 00000000 00005c42 2**0 |
CONTENTS, READONLY, DEBUGGING |
12 .debug_str 000004dc 00000000 00000000 000075c4 2**0 |
CONTENTS, READONLY, DEBUGGING |
13 .debug_ranges 0000000c 0000266c 0000266c 00007aa0 2**0 |
CONTENTS, READONLY, DEBUGGING |
Disassembly of section .text: |
00000000 <__vectors>: |
0: 0c 94 7e 06 jmp 0xcfc <__init> |
4: 0c 94 99 06 jmp 0xd32 <__bad_interrupt> |
8: 0c 94 99 06 jmp 0xd32 <__bad_interrupt> |
c: 0c 94 99 06 jmp 0xd32 <__bad_interrupt> |
10: 0c 94 99 06 jmp 0xd32 <__bad_interrupt> |
14: 0c 94 99 06 jmp 0xd32 <__bad_interrupt> |
18: 0c 94 99 06 jmp 0xd32 <__bad_interrupt> |
1c: 0c 94 99 06 jmp 0xd32 <__bad_interrupt> |
20: 0c 94 99 06 jmp 0xd32 <__bad_interrupt> |
24: 0c 94 99 06 jmp 0xd32 <__bad_interrupt> |
28: 0c 94 b5 06 jmp 0xd6a <__vector_10> |
2c: 0c 94 99 06 jmp 0xd32 <__bad_interrupt> |
30: 0c 94 99 06 jmp 0xd32 <__bad_interrupt> |
34: 0c 94 f8 0b jmp 0x17f0 <__vector_13> |
38: 0c 94 99 06 jmp 0xd32 <__bad_interrupt> |
3c: 0c 94 99 06 jmp 0xd32 <__bad_interrupt> |
40: 0c 94 99 06 jmp 0xd32 <__bad_interrupt> |
44: 0c 94 99 06 jmp 0xd32 <__bad_interrupt> |
48: 0c 94 99 06 jmp 0xd32 <__bad_interrupt> |
4c: 0c 94 99 06 jmp 0xd32 <__bad_interrupt> |
50: 0c 94 99 06 jmp 0xd32 <__bad_interrupt> |
00000054 <__ctors_end>: |
54: 00 00 nop |
56: 00 00 nop |
58: 00 00 nop |
5a: 3e 5b subi r19, 0xBE ; 190 |
5c: 4f 5b subi r20, 0xBF ; 191 |
5e: 3e 00 .word 0x003e ; ???? |
60: 3e 6b ori r19, 0xBE ; 190 |
62: 4f 6b ori r20, 0xBF ; 191 |
64: 3e 00 .word 0x003e ; ???? |
66: 1c 3e cpi r17, 0xEC ; 236 |
68: 7c 3e cpi r23, 0xEC ; 236 |
6a: 1c 00 .word 0x001c ; ???? |
6c: 18 3c cpi r17, 0xC8 ; 200 |
6e: 7e 3c cpi r23, 0xCE ; 206 |
70: 18 00 .word 0x0018 ; ???? |
72: 1c 57 subi r17, 0x7C ; 124 |
74: 7d 57 subi r23, 0x7D ; 125 |
76: 1c 00 .word 0x001c ; ???? |
78: 1c 5e subi r17, 0xEC ; 236 |
7a: 7f 5e subi r23, 0xEF ; 239 |
7c: 1c 00 .word 0x001c ; ???? |
7e: 00 18 sub r0, r0 |
80: 3c 18 sub r3, r12 |
82: 00 00 nop |
84: ff e7 ldi r31, 0x7F ; 127 |
86: c3 e7 ldi r28, 0x73 ; 115 |
88: ff 00 .word 0x00ff ; ???? |
8a: 00 18 sub r0, r0 |
8c: 24 18 sub r2, r4 |
8e: 00 00 nop |
90: ff e7 ldi r31, 0x7F ; 127 |
92: db e7 ldi r29, 0x7B ; 123 |
94: ff 00 .word 0x00ff ; ???? |
96: 30 48 sbci r19, 0x80 ; 128 |
98: 3a 06 cpc r3, r26 |
9a: 0e 00 .word 0x000e ; ???? |
9c: 26 29 or r18, r6 |
9e: 79 29 or r23, r9 |
a0: 26 00 .word 0x0026 ; ???? |
a2: 40 7f andi r20, 0xF0 ; 240 |
a4: 05 05 cpc r16, r5 |
a6: 07 00 .word 0x0007 ; ???? |
a8: 40 7f andi r20, 0xF0 ; 240 |
aa: 05 25 eor r16, r5 |
ac: 3f 00 .word 0x003f ; ???? |
ae: 5a 3c cpi r21, 0xCA ; 202 |
b0: e7 3c cpi r30, 0xC7 ; 199 |
b2: 5a 00 .word 0x005a ; ???? |
b4: 7f 3e cpi r23, 0xEF ; 239 |
b6: 1c 1c adc r1, r12 |
b8: 08 00 .word 0x0008 ; ???? |
ba: 08 1c adc r0, r8 |
bc: 1c 3e cpi r17, 0xEC ; 236 |
be: 7f 00 .word 0x007f ; ???? |
c0: 14 22 and r1, r20 |
c2: 7f 22 and r7, r31 |
c4: 14 00 .word 0x0014 ; ???? |
c6: 5f 5f subi r21, 0xFF ; 255 |
c8: 00 5f subi r16, 0xF0 ; 240 |
ca: 5f 00 .word 0x005f ; ???? |
cc: 06 09 sbc r16, r6 |
ce: 7f 01 movw r14, r30 |
d0: 7f 00 .word 0x007f ; ???? |
d2: 00 66 ori r16, 0x60 ; 96 |
d4: 89 95 .word 0x9589 ; ???? |
d6: 6a 00 .word 0x006a ; ???? |
d8: 60 60 ori r22, 0x00 ; 0 |
da: 60 60 ori r22, 0x00 ; 0 |
dc: 60 60 ori r22, 0x00 ; 0 |
de: 94 a2 std Z+36, r9 ; 0x24 |
e0: ff a2 std Y+39, r15 ; 0x27 |
e2: 94 00 .word 0x0094 ; ???? |
e4: 08 04 cpc r0, r8 |
e6: 7e 04 cpc r7, r14 |
e8: 08 00 .word 0x0008 ; ???? |
ea: 10 20 and r1, r0 |
ec: 7e 20 and r7, r14 |
ee: 10 00 .word 0x0010 ; ???? |
f0: 08 08 sbc r0, r8 |
f2: 2a 1c adc r2, r10 |
f4: 08 00 .word 0x0008 ; ???? |
f6: 08 1c adc r0, r8 |
f8: 2a 08 sbc r2, r10 |
fa: 08 00 .word 0x0008 ; ???? |
fc: 1e 10 cpse r1, r14 |
fe: 10 10 cpse r1, r0 |
100: 10 00 .word 0x0010 ; ???? |
102: 0c 1e adc r0, r28 |
104: 0c 1e adc r0, r28 |
106: 0c 00 .word 0x000c ; ???? |
108: 30 38 cpi r19, 0x80 ; 128 |
10a: 3e 38 cpi r19, 0x8E ; 142 |
10c: 30 00 .word 0x0030 ; ???? |
10e: 06 0e add r0, r22 |
110: 3e 0e add r3, r30 |
112: 06 00 .word 0x0006 ; ???? |
... |
11c: 5f 00 .word 0x005f ; ???? |
11e: 00 00 nop |
120: 00 07 cpc r16, r16 |
122: 00 07 cpc r16, r16 |
124: 00 00 nop |
126: 14 7f andi r17, 0xF4 ; 244 |
128: 14 7f andi r17, 0xF4 ; 244 |
12a: 14 00 .word 0x0014 ; ???? |
12c: 24 2a or r2, r20 |
12e: 7f 2a or r7, r31 |
130: 12 00 .word 0x0012 ; ???? |
132: 23 13 cpse r18, r19 |
134: 08 64 ori r16, 0x48 ; 72 |
136: 62 00 .word 0x0062 ; ???? |
138: 36 49 sbci r19, 0x96 ; 150 |
13a: 56 20 and r5, r6 |
13c: 50 00 .word 0x0050 ; ???? |
13e: 00 08 sbc r0, r0 |
140: 07 03 mulsu r16, r23 |
142: 00 00 nop |
144: 00 1c adc r0, r0 |
146: 22 41 sbci r18, 0x12 ; 18 |
148: 00 00 nop |
14a: 00 41 sbci r16, 0x10 ; 16 |
14c: 22 1c adc r2, r2 |
14e: 00 00 nop |
150: 2a 1c adc r2, r10 |
152: 7f 1c adc r7, r15 |
154: 2a 00 .word 0x002a ; ???? |
156: 08 08 sbc r0, r8 |
158: 3e 08 sbc r3, r14 |
15a: 08 00 .word 0x0008 ; ???? |
15c: 00 80 ld r0, Z |
15e: 70 30 cpi r23, 0x00 ; 0 |
160: 00 00 nop |
162: 08 08 sbc r0, r8 |
164: 08 08 sbc r0, r8 |
166: 08 00 .word 0x0008 ; ???? |
168: 00 00 nop |
16a: 60 60 ori r22, 0x00 ; 0 |
16c: 00 00 nop |
16e: 20 10 cpse r2, r0 |
170: 08 04 cpc r0, r8 |
172: 02 00 .word 0x0002 ; ???? |
174: 3e 51 subi r19, 0x1E ; 30 |
176: 49 45 sbci r20, 0x59 ; 89 |
178: 3e 00 .word 0x003e ; ???? |
17a: 00 42 sbci r16, 0x20 ; 32 |
17c: 7f 40 sbci r23, 0x0F ; 15 |
17e: 00 00 nop |
180: 72 49 sbci r23, 0x92 ; 146 |
182: 49 49 sbci r20, 0x99 ; 153 |
184: 46 00 .word 0x0046 ; ???? |
186: 21 41 sbci r18, 0x11 ; 17 |
188: 49 4d sbci r20, 0xD9 ; 217 |
18a: 33 00 .word 0x0033 ; ???? |
18c: 18 14 cp r1, r8 |
18e: 12 7f andi r17, 0xF2 ; 242 |
190: 10 00 .word 0x0010 ; ???? |
192: 27 45 sbci r18, 0x57 ; 87 |
194: 45 45 sbci r20, 0x55 ; 85 |
196: 39 00 .word 0x0039 ; ???? |
198: 3c 4a sbci r19, 0xAC ; 172 |
19a: 49 49 sbci r20, 0x99 ; 153 |
19c: 31 00 .word 0x0031 ; ???? |
19e: 41 21 and r20, r1 |
1a0: 11 09 sbc r17, r1 |
1a2: 07 00 .word 0x0007 ; ???? |
1a4: 36 49 sbci r19, 0x96 ; 150 |
1a6: 49 49 sbci r20, 0x99 ; 153 |
1a8: 36 00 .word 0x0036 ; ???? |
1aa: 46 49 sbci r20, 0x96 ; 150 |
1ac: 49 29 or r20, r9 |
1ae: 1e 00 .word 0x001e ; ???? |
1b0: 00 00 nop |
1b2: 14 00 .word 0x0014 ; ???? |
1b4: 00 00 nop |
1b6: 00 40 sbci r16, 0x00 ; 0 |
1b8: 34 00 .word 0x0034 ; ???? |
1ba: 00 00 nop |
1bc: 00 08 sbc r0, r0 |
1be: 14 22 and r1, r20 |
1c0: 41 00 .word 0x0041 ; ???? |
1c2: 14 14 cp r1, r4 |
1c4: 14 14 cp r1, r4 |
1c6: 14 00 .word 0x0014 ; ???? |
1c8: 00 41 sbci r16, 0x10 ; 16 |
1ca: 22 14 cp r2, r2 |
1cc: 08 00 .word 0x0008 ; ???? |
1ce: 02 01 movw r0, r4 |
1d0: 59 09 sbc r21, r9 |
1d2: 06 00 .word 0x0006 ; ???? |
1d4: 3e 41 sbci r19, 0x1E ; 30 |
1d6: 5d 59 subi r21, 0x9D ; 157 |
1d8: 4e 00 .word 0x004e ; ???? |
1da: 7c 12 cpse r7, r28 |
1dc: 11 12 cpse r1, r17 |
1de: 7c 00 .word 0x007c ; ???? |
1e0: 7f 49 sbci r23, 0x9F ; 159 |
1e2: 49 49 sbci r20, 0x99 ; 153 |
1e4: 36 00 .word 0x0036 ; ???? |
1e6: 3e 41 sbci r19, 0x1E ; 30 |
1e8: 41 41 sbci r20, 0x11 ; 17 |
1ea: 22 00 .word 0x0022 ; ???? |
1ec: 7f 41 sbci r23, 0x1F ; 31 |
1ee: 41 41 sbci r20, 0x11 ; 17 |
1f0: 3e 00 .word 0x003e ; ???? |
1f2: 7f 49 sbci r23, 0x9F ; 159 |
1f4: 49 49 sbci r20, 0x99 ; 153 |
1f6: 41 00 .word 0x0041 ; ???? |
1f8: 7f 09 sbc r23, r15 |
1fa: 09 09 sbc r16, r9 |
1fc: 01 00 .word 0x0001 ; ???? |
1fe: 3e 41 sbci r19, 0x1E ; 30 |
200: 41 51 subi r20, 0x11 ; 17 |
202: 73 00 .word 0x0073 ; ???? |
204: 7f 08 sbc r7, r15 |
206: 08 08 sbc r0, r8 |
208: 7f 00 .word 0x007f ; ???? |
20a: 00 41 sbci r16, 0x10 ; 16 |
20c: 7f 41 sbci r23, 0x1F ; 31 |
20e: 00 00 nop |
210: 20 40 sbci r18, 0x00 ; 0 |
212: 41 3f cpi r20, 0xF1 ; 241 |
214: 01 00 .word 0x0001 ; ???? |
216: 7f 08 sbc r7, r15 |
218: 14 22 and r1, r20 |
21a: 41 00 .word 0x0041 ; ???? |
21c: 7f 40 sbci r23, 0x0F ; 15 |
21e: 40 40 sbci r20, 0x00 ; 0 |
220: 40 00 .word 0x0040 ; ???? |
222: 7f 02 muls r23, r31 |
224: 1c 02 muls r17, r28 |
226: 7f 00 .word 0x007f ; ???? |
228: 7f 04 cpc r7, r15 |
22a: 08 10 cpse r0, r8 |
22c: 7f 00 .word 0x007f ; ???? |
22e: 3e 41 sbci r19, 0x1E ; 30 |
230: 41 41 sbci r20, 0x11 ; 17 |
232: 3e 00 .word 0x003e ; ???? |
234: 7f 09 sbc r23, r15 |
236: 09 09 sbc r16, r9 |
238: 06 00 .word 0x0006 ; ???? |
23a: 3e 41 sbci r19, 0x1E ; 30 |
23c: 51 21 and r21, r1 |
23e: 5e 00 .word 0x005e ; ???? |
240: 7f 09 sbc r23, r15 |
242: 19 29 or r17, r9 |
244: 46 00 .word 0x0046 ; ???? |
246: 26 49 sbci r18, 0x96 ; 150 |
248: 49 49 sbci r20, 0x99 ; 153 |
24a: 32 00 .word 0x0032 ; ???? |
24c: 03 01 movw r0, r6 |
24e: 7f 01 movw r14, r30 |
250: 03 00 .word 0x0003 ; ???? |
252: 3f 40 sbci r19, 0x0F ; 15 |
254: 40 40 sbci r20, 0x00 ; 0 |
256: 3f 00 .word 0x003f ; ???? |
258: 1f 20 and r1, r15 |
25a: 40 20 and r4, r0 |
25c: 1f 00 .word 0x001f ; ???? |
25e: 3f 40 sbci r19, 0x0F ; 15 |
260: 38 40 sbci r19, 0x08 ; 8 |
262: 3f 00 .word 0x003f ; ???? |
264: 63 14 cp r6, r3 |
266: 08 14 cp r0, r8 |
268: 63 00 .word 0x0063 ; ???? |
26a: 03 04 cpc r0, r3 |
26c: 78 04 cpc r7, r8 |
26e: 03 00 .word 0x0003 ; ???? |
270: 61 59 subi r22, 0x91 ; 145 |
272: 49 4d sbci r20, 0xD9 ; 217 |
274: 43 00 .word 0x0043 ; ???? |
276: 00 7f andi r16, 0xF0 ; 240 |
278: 41 41 sbci r20, 0x11 ; 17 |
27a: 41 00 .word 0x0041 ; ???? |
27c: 02 04 cpc r0, r2 |
27e: 08 10 cpse r0, r8 |
280: 20 00 .word 0x0020 ; ???? |
282: 00 41 sbci r16, 0x10 ; 16 |
284: 41 41 sbci r20, 0x11 ; 17 |
286: 7f 00 .word 0x007f ; ???? |
288: 04 02 muls r16, r20 |
28a: 01 02 muls r16, r17 |
28c: 04 00 .word 0x0004 ; ???? |
28e: 40 40 sbci r20, 0x00 ; 0 |
290: 40 40 sbci r20, 0x00 ; 0 |
292: 40 00 .word 0x0040 ; ???? |
294: 00 03 mulsu r16, r16 |
296: 07 08 sbc r0, r7 |
298: 00 00 nop |
29a: 20 54 subi r18, 0x40 ; 64 |
29c: 54 78 andi r21, 0x84 ; 132 |
29e: 40 00 .word 0x0040 ; ???? |
2a0: 7f 28 or r7, r15 |
2a2: 44 44 sbci r20, 0x44 ; 68 |
2a4: 38 00 .word 0x0038 ; ???? |
2a6: 38 44 sbci r19, 0x48 ; 72 |
2a8: 44 44 sbci r20, 0x44 ; 68 |
2aa: 28 00 .word 0x0028 ; ???? |
2ac: 38 44 sbci r19, 0x48 ; 72 |
2ae: 44 28 or r4, r4 |
2b0: 7f 00 .word 0x007f ; ???? |
2b2: 38 54 subi r19, 0x48 ; 72 |
2b4: 54 54 subi r21, 0x44 ; 68 |
2b6: 18 00 .word 0x0018 ; ???? |
2b8: 00 08 sbc r0, r0 |
2ba: 7e 09 sbc r23, r14 |
2bc: 02 00 .word 0x0002 ; ???? |
2be: 18 a4 ldd r1, Y+40 ; 0x28 |
2c0: a4 9c mul r10, r4 |
2c2: 78 00 .word 0x0078 ; ???? |
2c4: 7f 08 sbc r7, r15 |
2c6: 04 04 cpc r0, r4 |
2c8: 78 00 .word 0x0078 ; ???? |
2ca: 00 44 sbci r16, 0x40 ; 64 |
2cc: 7d 40 sbci r23, 0x0D ; 13 |
2ce: 00 00 nop |
2d0: 20 40 sbci r18, 0x00 ; 0 |
2d2: 40 3d cpi r20, 0xD0 ; 208 |
2d4: 00 00 nop |
2d6: 7f 10 cpse r7, r15 |
2d8: 28 44 sbci r18, 0x48 ; 72 |
2da: 00 00 nop |
2dc: 00 41 sbci r16, 0x10 ; 16 |
2de: 7f 40 sbci r23, 0x0F ; 15 |
2e0: 00 00 nop |
2e2: 7c 04 cpc r7, r12 |
2e4: 78 04 cpc r7, r8 |
2e6: 78 00 .word 0x0078 ; ???? |
2e8: 7c 08 sbc r7, r12 |
2ea: 04 04 cpc r0, r4 |
2ec: 78 00 .word 0x0078 ; ???? |
2ee: 38 44 sbci r19, 0x48 ; 72 |
2f0: 44 44 sbci r20, 0x44 ; 68 |
2f2: 38 00 .word 0x0038 ; ???? |
2f4: fc 18 sub r15, r12 |
2f6: 24 24 eor r2, r4 |
2f8: 18 00 .word 0x0018 ; ???? |
2fa: 18 24 eor r1, r8 |
2fc: 24 18 sub r2, r4 |
2fe: fc 00 .word 0x00fc ; ???? |
300: 7c 08 sbc r7, r12 |
302: 04 04 cpc r0, r4 |
304: 08 00 .word 0x0008 ; ???? |
306: 48 54 subi r20, 0x48 ; 72 |
308: 54 54 subi r21, 0x44 ; 68 |
30a: 24 00 .word 0x0024 ; ???? |
30c: 04 04 cpc r0, r4 |
30e: 3f 44 sbci r19, 0x4F ; 79 |
310: 24 00 .word 0x0024 ; ???? |
312: 3c 40 sbci r19, 0x0C ; 12 |
314: 40 20 and r4, r0 |
316: 7c 00 .word 0x007c ; ???? |
318: 1c 20 and r1, r12 |
31a: 40 20 and r4, r0 |
31c: 1c 00 .word 0x001c ; ???? |
31e: 3c 40 sbci r19, 0x0C ; 12 |
320: 30 40 sbci r19, 0x00 ; 0 |
322: 3c 00 .word 0x003c ; ???? |
324: 44 28 or r4, r4 |
326: 10 28 or r1, r0 |
328: 44 00 .word 0x0044 ; ???? |
32a: 4c 90 ld r4, X |
32c: 90 90 7c 00 lds r9, 0x007C |
330: 44 64 ori r20, 0x44 ; 68 |
332: 54 4c sbci r21, 0xC4 ; 196 |
334: 44 00 .word 0x0044 ; ???? |
336: 00 08 sbc r0, r0 |
338: 36 41 sbci r19, 0x16 ; 22 |
33a: 00 00 nop |
33c: 00 00 nop |
33e: 77 00 .word 0x0077 ; ???? |
340: 00 00 nop |
342: 00 41 sbci r16, 0x10 ; 16 |
344: 36 08 sbc r3, r6 |
346: 00 00 nop |
348: 02 01 movw r0, r4 |
34a: 02 04 cpc r0, r2 |
34c: 02 00 .word 0x0002 ; ???? |
34e: 3c 26 eor r3, r28 |
350: 23 26 eor r2, r19 |
352: 3c 00 .word 0x003c ; ???? |
354: 1e a1 ldd r17, Y+38 ; 0x26 |
356: a1 61 ori r26, 0x11 ; 17 |
358: 12 00 .word 0x0012 ; ???? |
35a: 3a 40 sbci r19, 0x0A ; 10 |
35c: 40 20 and r4, r0 |
35e: 7a 00 .word 0x007a ; ???? |
360: 38 54 subi r19, 0x48 ; 72 |
362: 54 55 subi r21, 0x54 ; 84 |
364: 59 00 .word 0x0059 ; ???? |
366: 21 55 subi r18, 0x51 ; 81 |
368: 55 79 andi r21, 0x95 ; 149 |
36a: 41 00 .word 0x0041 ; ???? |
36c: 21 54 subi r18, 0x41 ; 65 |
36e: 54 78 andi r21, 0x84 ; 132 |
370: 41 00 .word 0x0041 ; ???? |
372: 21 55 subi r18, 0x51 ; 81 |
374: 54 78 andi r21, 0x84 ; 132 |
376: 40 00 .word 0x0040 ; ???? |
378: 20 54 subi r18, 0x40 ; 64 |
37a: 55 79 andi r21, 0x95 ; 149 |
37c: 40 00 .word 0x0040 ; ???? |
37e: 0c 1e adc r0, r28 |
380: 52 72 andi r21, 0x22 ; 34 |
382: 12 00 .word 0x0012 ; ???? |
384: 39 55 subi r19, 0x59 ; 89 |
386: 55 55 subi r21, 0x55 ; 85 |
388: 59 00 .word 0x0059 ; ???? |
38a: 39 54 subi r19, 0x49 ; 73 |
38c: 54 54 subi r21, 0x44 ; 68 |
38e: 59 00 .word 0x0059 ; ???? |
390: 39 55 subi r19, 0x59 ; 89 |
392: 54 54 subi r21, 0x44 ; 68 |
394: 58 00 .word 0x0058 ; ???? |
396: 00 00 nop |
398: 45 7c andi r20, 0xC5 ; 197 |
39a: 41 00 .word 0x0041 ; ???? |
39c: 00 02 muls r16, r16 |
39e: 45 7d andi r20, 0xD5 ; 213 |
3a0: 42 00 .word 0x0042 ; ???? |
3a2: 00 01 movw r0, r0 |
3a4: 45 7c andi r20, 0xC5 ; 197 |
3a6: 40 00 .word 0x0040 ; ???? |
3a8: 79 14 cp r7, r9 |
3aa: 12 14 cp r1, r2 |
3ac: 79 00 .word 0x0079 ; ???? |
3ae: f0 28 or r15, r0 |
3b0: 25 28 or r2, r5 |
3b2: f0 00 .word 0x00f0 ; ???? |
3b4: 7c 54 subi r23, 0x4C ; 76 |
3b6: 55 45 sbci r21, 0x55 ; 85 |
3b8: 00 00 nop |
3ba: 20 54 subi r18, 0x40 ; 64 |
3bc: 54 7c andi r21, 0xC4 ; 196 |
3be: 54 44 sbci r21, 0x44 ; 68 |
3c0: 7c 0a sbc r7, r28 |
3c2: 09 7f andi r16, 0xF9 ; 249 |
3c4: 49 41 sbci r20, 0x19 ; 25 |
3c6: 32 49 sbci r19, 0x92 ; 146 |
3c8: 49 49 sbci r20, 0x99 ; 153 |
3ca: 32 00 .word 0x0032 ; ???? |
3cc: 32 48 sbci r19, 0x82 ; 130 |
3ce: 48 48 sbci r20, 0x88 ; 136 |
3d0: 32 00 .word 0x0032 ; ???? |
3d2: 32 4a sbci r19, 0xA2 ; 162 |
3d4: 48 48 sbci r20, 0x88 ; 136 |
3d6: 30 00 .word 0x0030 ; ???? |
3d8: 3a 41 sbci r19, 0x1A ; 26 |
3da: 41 21 and r20, r1 |
3dc: 7a 00 .word 0x007a ; ???? |
3de: 3a 42 sbci r19, 0x2A ; 42 |
3e0: 40 20 and r4, r0 |
3e2: 78 00 .word 0x0078 ; ???? |
3e4: 00 9d mul r16, r0 |
3e6: a0 a0 ldd r10, Z+32 ; 0x20 |
3e8: 7d 00 .word 0x007d ; ???? |
3ea: 39 44 sbci r19, 0x49 ; 73 |
3ec: 44 44 sbci r20, 0x44 ; 68 |
3ee: 39 00 .word 0x0039 ; ???? |
3f0: 3d 40 sbci r19, 0x0D ; 13 |
3f2: 40 40 sbci r20, 0x00 ; 0 |
3f4: 3d 00 .word 0x003d ; ???? |
3f6: 3c 24 eor r3, r12 |
3f8: ff 24 eor r15, r15 |
3fa: 24 00 .word 0x0024 ; ???? |
3fc: 48 7e andi r20, 0xE8 ; 232 |
3fe: 49 43 sbci r20, 0x39 ; 57 |
400: 66 00 .word 0x0066 ; ???? |
402: 2b 2f mov r18, r27 |
404: fc 2f mov r31, r28 |
406: 2b 00 .word 0x002b ; ???? |
408: ff 09 sbc r31, r15 |
40a: 29 f6 brne .-118 ; 0x396 <__ctors_end+0x342> |
40c: 20 00 .word 0x0020 ; ???? |
40e: c0 88 ldd r12, Z+16 ; 0x10 |
410: 7e 09 sbc r23, r14 |
412: 03 00 .word 0x0003 ; ???? |
414: 20 54 subi r18, 0x40 ; 64 |
416: 54 79 andi r21, 0x94 ; 148 |
418: 41 00 .word 0x0041 ; ???? |
41a: 00 00 nop |
41c: 44 7d andi r20, 0xD4 ; 212 |
41e: 41 00 .word 0x0041 ; ???? |
420: 30 48 sbci r19, 0x80 ; 128 |
422: 48 4a sbci r20, 0xA8 ; 168 |
424: 32 00 .word 0x0032 ; ???? |
426: 38 40 sbci r19, 0x08 ; 8 |
428: 40 22 and r4, r16 |
42a: 7a 00 .word 0x007a ; ???? |
42c: 00 7a andi r16, 0xA0 ; 160 |
42e: 0a 0a sbc r0, r26 |
430: 72 00 .word 0x0072 ; ???? |
432: 7d 0d add r23, r13 |
434: 19 31 cpi r17, 0x19 ; 25 |
436: 7d 00 .word 0x007d ; ???? |
438: 26 29 or r18, r6 |
43a: 29 2f mov r18, r25 |
43c: 28 00 .word 0x0028 ; ???? |
43e: 26 29 or r18, r6 |
440: 29 29 or r18, r9 |
442: 26 00 .word 0x0026 ; ???? |
444: 30 48 sbci r19, 0x80 ; 128 |
446: 4d 40 sbci r20, 0x0D ; 13 |
448: 20 00 .word 0x0020 ; ???? |
44a: 38 08 sbc r3, r8 |
44c: 08 08 sbc r0, r8 |
44e: 08 00 .word 0x0008 ; ???? |
450: 08 08 sbc r0, r8 |
452: 08 08 sbc r0, r8 |
454: 38 00 .word 0x0038 ; ???? |
456: 2f 10 cpse r2, r15 |
458: c8 ac ldd r12, Y+56 ; 0x38 |
45a: ba 00 .word 0x00ba ; ???? |
45c: 2f 10 cpse r2, r15 |
45e: 28 34 cpi r18, 0x48 ; 72 |
460: fa 00 .word 0x00fa ; ???? |
462: 00 00 nop |
464: 7b 00 .word 0x007b ; ???? |
466: 00 00 nop |
468: 08 14 cp r0, r8 |
46a: 2a 14 cp r2, r10 |
46c: 22 00 .word 0x0022 ; ???? |
46e: 22 14 cp r2, r2 |
470: 2a 14 cp r2, r10 |
472: 08 00 .word 0x0008 ; ???? |
474: aa 00 .word 0x00aa ; ???? |
476: 55 00 .word 0x0055 ; ???? |
478: aa 00 .word 0x00aa ; ???? |
47a: aa 55 subi r26, 0x5A ; 90 |
47c: aa 55 subi r26, 0x5A ; 90 |
47e: aa 55 subi r26, 0x5A ; 90 |
480: 55 aa std Z+53, r5 ; 0x35 |
482: 55 aa std Z+53, r5 ; 0x35 |
484: 55 aa std Z+53, r5 ; 0x35 |
486: 00 00 nop |
488: 00 ff sbrs r16, 0 |
48a: 00 00 nop |
48c: 10 10 cpse r1, r0 |
48e: 10 ff sbrs r17, 0 |
490: 00 00 nop |
492: 14 14 cp r1, r4 |
494: 14 ff sbrs r17, 4 |
496: 00 00 nop |
498: 10 10 cpse r1, r0 |
49a: ff 00 .word 0x00ff ; ???? |
49c: ff 00 .word 0x00ff ; ???? |
49e: 10 10 cpse r1, r0 |
4a0: f0 10 cpse r15, r0 |
4a2: f0 00 .word 0x00f0 ; ???? |
4a4: 14 14 cp r1, r4 |
4a6: 14 fc sbrc r1, 4 |
4a8: 00 00 nop |
4aa: 14 14 cp r1, r4 |
4ac: f7 00 .word 0x00f7 ; ???? |
4ae: ff 00 .word 0x00ff ; ???? |
4b0: 00 00 nop |
4b2: ff 00 .word 0x00ff ; ???? |
4b4: ff 00 .word 0x00ff ; ???? |
4b6: 14 14 cp r1, r4 |
4b8: f4 04 cpc r15, r4 |
4ba: fc 00 .word 0x00fc ; ???? |
4bc: 14 14 cp r1, r4 |
4be: 17 10 cpse r1, r7 |
4c0: 1f 00 .word 0x001f ; ???? |
4c2: 10 10 cpse r1, r0 |
4c4: 1f 10 cpse r1, r15 |
4c6: 1f 00 .word 0x001f ; ???? |
4c8: 14 14 cp r1, r4 |
4ca: 14 1f adc r17, r20 |
4cc: 00 00 nop |
4ce: 10 10 cpse r1, r0 |
4d0: 10 f0 brcs .+4 ; 0x4d6 <__ctors_end+0x482> |
4d2: 00 00 nop |
4d4: 00 00 nop |
4d6: 00 1f adc r16, r16 |
4d8: 10 10 cpse r1, r0 |
4da: 10 10 cpse r1, r0 |
4dc: 10 1f adc r17, r16 |
4de: 10 10 cpse r1, r0 |
4e0: 10 10 cpse r1, r0 |
4e2: 10 f0 brcs .+4 ; 0x4e8 <__ctors_end+0x494> |
4e4: 10 10 cpse r1, r0 |
4e6: 00 00 nop |
4e8: 00 ff sbrs r16, 0 |
4ea: 10 10 cpse r1, r0 |
4ec: 10 10 cpse r1, r0 |
4ee: 10 10 cpse r1, r0 |
4f0: 10 10 cpse r1, r0 |
4f2: 10 10 cpse r1, r0 |
4f4: 10 ff sbrs r17, 0 |
4f6: 10 10 cpse r1, r0 |
4f8: 00 00 nop |
4fa: 00 ff sbrs r16, 0 |
4fc: 14 14 cp r1, r4 |
4fe: 00 00 nop |
500: ff 00 .word 0x00ff ; ???? |
502: ff 10 cpse r15, r15 |
504: 00 00 nop |
506: 1f 10 cpse r1, r15 |
508: 17 14 cp r1, r7 |
50a: 00 00 nop |
50c: fc 04 cpc r15, r12 |
50e: f4 14 cp r15, r4 |
510: 14 14 cp r1, r4 |
512: 17 10 cpse r1, r7 |
514: 17 14 cp r1, r7 |
516: 14 14 cp r1, r4 |
518: f4 04 cpc r15, r4 |
51a: f4 14 cp r15, r4 |
51c: 00 00 nop |
51e: ff 00 .word 0x00ff ; ???? |
520: f7 14 cp r15, r7 |
522: 14 14 cp r1, r4 |
524: 14 14 cp r1, r4 |
526: 14 14 cp r1, r4 |
528: 14 14 cp r1, r4 |
52a: f7 00 .word 0x00f7 ; ???? |
52c: f7 14 cp r15, r7 |
52e: 14 14 cp r1, r4 |
530: 14 17 cp r17, r20 |
532: 14 14 cp r1, r4 |
534: 10 10 cpse r1, r0 |
536: 1f 10 cpse r1, r15 |
538: 1f 10 cpse r1, r15 |
53a: 14 14 cp r1, r4 |
53c: 14 f4 brge .+4 ; 0x542 <__ctors_end+0x4ee> |
53e: 14 14 cp r1, r4 |
540: 10 10 cpse r1, r0 |
542: f0 10 cpse r15, r0 |
544: f0 10 cpse r15, r0 |
546: 00 00 nop |
548: 1f 10 cpse r1, r15 |
54a: 1f 10 cpse r1, r15 |
54c: 00 00 nop |
54e: 00 1f adc r16, r16 |
550: 14 14 cp r1, r4 |
552: 00 00 nop |
554: 00 fc sbrc r0, 0 |
556: 14 14 cp r1, r4 |
558: 00 00 nop |
55a: f0 10 cpse r15, r0 |
55c: f0 10 cpse r15, r0 |
55e: 10 10 cpse r1, r0 |
560: ff 10 cpse r15, r15 |
562: ff 10 cpse r15, r15 |
564: 14 14 cp r1, r4 |
566: 14 ff sbrs r17, 4 |
568: 14 14 cp r1, r4 |
56a: 10 10 cpse r1, r0 |
56c: 10 1f adc r17, r16 |
56e: 00 00 nop |
570: 00 00 nop |
572: 00 f0 brcs .+0 ; 0x574 <__ctors_end+0x520> |
574: 10 10 cpse r1, r0 |
576: ff ff .word 0xffff ; ???? |
578: ff ff .word 0xffff ; ???? |
57a: ff ff .word 0xffff ; ???? |
57c: f0 f0 brcs .+60 ; 0x5ba <__ctors_end+0x566> |
57e: f0 f0 brcs .+60 ; 0x5bc <__ctors_end+0x568> |
580: f0 f0 brcs .+60 ; 0x5be <__ctors_end+0x56a> |
582: ff ff .word 0xffff ; ???? |
584: ff 00 .word 0x00ff ; ???? |
586: 00 00 nop |
588: 00 00 nop |
58a: 00 ff sbrs r16, 0 |
58c: ff ff .word 0xffff ; ???? |
58e: 0f 0f add r16, r31 |
590: 0f 0f add r16, r31 |
592: 0f 0f add r16, r31 |
594: 38 44 sbci r19, 0x48 ; 72 |
596: 44 38 cpi r20, 0x84 ; 132 |
598: 44 00 .word 0x0044 ; ???? |
59a: 7c 2a or r7, r28 |
59c: 2a 3e cpi r18, 0xEA ; 234 |
59e: 14 00 .word 0x0014 ; ???? |
5a0: 7e 02 muls r23, r30 |
5a2: 02 06 cpc r0, r18 |
5a4: 06 00 .word 0x0006 ; ???? |
5a6: 02 7e andi r16, 0xE2 ; 226 |
5a8: 02 7e andi r16, 0xE2 ; 226 |
5aa: 02 00 .word 0x0002 ; ???? |
5ac: 63 55 subi r22, 0x53 ; 83 |
5ae: 49 41 sbci r20, 0x19 ; 25 |
5b0: 63 00 .word 0x0063 ; ???? |
5b2: 38 44 sbci r19, 0x48 ; 72 |
5b4: 44 3c cpi r20, 0xC4 ; 196 |
5b6: 04 00 .word 0x0004 ; ???? |
5b8: 40 7e andi r20, 0xE0 ; 224 |
5ba: 20 1e adc r2, r16 |
5bc: 20 00 .word 0x0020 ; ???? |
5be: 06 02 muls r16, r22 |
5c0: 7e 02 muls r23, r30 |
5c2: 02 00 .word 0x0002 ; ???? |
5c4: 99 a5 ldd r25, Y+41 ; 0x29 |
5c6: e7 a5 ldd r30, Z+47 ; 0x2f |
5c8: 99 00 .word 0x0099 ; ???? |
5ca: 1c 2a or r1, r28 |
5cc: 49 2a or r4, r25 |
5ce: 1c 00 .word 0x001c ; ???? |
5d0: 4c 72 andi r20, 0x2C ; 44 |
5d2: 01 72 andi r16, 0x21 ; 33 |
5d4: 4c 00 .word 0x004c ; ???? |
5d6: 30 4a sbci r19, 0xA0 ; 160 |
5d8: 4d 4d sbci r20, 0xDD ; 221 |
5da: 30 00 .word 0x0030 ; ???? |
5dc: 30 48 sbci r19, 0x80 ; 128 |
5de: 78 48 sbci r23, 0x88 ; 136 |
5e0: 30 00 .word 0x0030 ; ???? |
5e2: bc 62 ori r27, 0x2C ; 44 |
5e4: 5a 46 sbci r21, 0x6A ; 106 |
5e6: 3d 00 .word 0x003d ; ???? |
5e8: 3e 49 sbci r19, 0x9E ; 158 |
5ea: 49 49 sbci r20, 0x99 ; 153 |
5ec: 00 00 nop |
5ee: 7e 01 movw r14, r28 |
5f0: 01 01 movw r0, r2 |
5f2: 7e 00 .word 0x007e ; ???? |
5f4: 2a 2a or r2, r26 |
5f6: 2a 2a or r2, r26 |
5f8: 2a 00 .word 0x002a ; ???? |
5fa: 44 44 sbci r20, 0x44 ; 68 |
5fc: 5f 44 sbci r21, 0x4F ; 79 |
5fe: 44 00 .word 0x0044 ; ???? |
600: 40 51 subi r20, 0x10 ; 16 |
602: 4a 44 sbci r20, 0x4A ; 74 |
604: 40 00 .word 0x0040 ; ???? |
606: 40 44 sbci r20, 0x40 ; 64 |
608: 4a 51 subi r20, 0x1A ; 26 |
60a: 40 00 .word 0x0040 ; ???? |
60c: 00 00 nop |
60e: ff 01 movw r30, r30 |
610: 03 00 .word 0x0003 ; ???? |
612: e0 80 ld r14, Z |
614: ff 00 .word 0x00ff ; ???? |
616: 00 00 nop |
618: 08 08 sbc r0, r8 |
61a: 6b 6b ori r22, 0xBB ; 187 |
61c: 08 08 sbc r0, r8 |
61e: 36 12 cpse r3, r22 |
620: 36 24 eor r3, r6 |
622: 36 00 .word 0x0036 ; ???? |
624: 06 0f add r16, r22 |
626: 09 0f add r16, r25 |
628: 06 00 .word 0x0006 ; ???? |
62a: 00 00 nop |
62c: 18 18 sub r1, r8 |
62e: 00 00 nop |
630: 00 00 nop |
632: 10 10 cpse r1, r0 |
634: 00 00 nop |
636: 30 40 sbci r19, 0x00 ; 0 |
638: ff 01 movw r30, r30 |
63a: 01 00 .word 0x0001 ; ???? |
63c: 00 1f adc r16, r16 |
63e: 01 01 movw r0, r2 |
640: 1e 00 .word 0x001e ; ???? |
642: 00 19 sub r16, r0 |
644: 1d 17 cp r17, r29 |
646: 12 00 .word 0x0012 ; ???? |
648: 00 3c cpi r16, 0xC0 ; 192 |
64a: 3c 3c cpi r19, 0xCC ; 204 |
64c: 3c 00 .word 0x003c ; ???? |
64e: 00 00 nop |
650: 00 00 nop |
... |
00000654 <__c.0>: |
654: 20 20 20 20 20 20 00 . |
0000065b <parameter>: |
65b: 4e 69 63 6b 20 20 20 20 20 20 20 20 20 20 20 00 Nick . |
66b: 52 6f 6c 6c 20 20 20 20 20 20 20 20 20 20 20 00 Roll . |
67b: 47 61 73 20 20 20 20 20 20 20 20 20 20 20 20 00 Gas . |
68b: 47 69 65 72 09 09 09 00 00 00 00 00 00 00 00 00 Gier............ |
69b: 50 6f 74 69 31 09 09 09 00 00 00 00 00 00 00 00 Poti1........... |
6ab: 50 6f 74 69 32 09 09 09 00 00 00 00 00 00 00 00 Poti2........... |
6bb: 50 6f 74 69 33 09 09 09 00 00 00 00 00 00 00 00 Poti3........... |
6cb: 50 6f 74 69 34 09 09 09 00 00 00 00 00 00 00 00 Poti4........... |
6db: 43 6f 6e 66 69 67 09 09 09 00 00 00 00 00 00 00 Config.......... |
6eb: 48 6f 65 68 65 5f 4d 69 6e 47 61 73 20 20 20 00 Hoehe_MinGas . |
6fb: 4c 75 66 74 64 72 75 63 6b 5f 44 20 20 20 20 00 Luftdruck_D . |
70b: 4d 61 78 48 6f 65 68 65 20 20 20 20 20 20 20 00 MaxHoehe . |
71b: 48 6f 65 68 65 5f 50 20 20 20 20 20 20 20 20 00 Hoehe_P . |
72b: 48 6f 65 68 65 5f 56 65 72 73 74 61 65 72 6b 00 Hoehe_Verstaerk. |
73b: 48 6f 65 68 65 5f 41 43 43 5f 57 69 72 6b 2e 00 Hoehe_ACC_Wirk.. |
74b: 53 74 69 63 6b 5f 50 20 20 20 20 20 20 20 20 00 Stick_P . |
75b: 53 74 69 63 6b 5f 44 20 20 20 20 20 20 20 20 00 Stick_D . |
76b: 47 69 65 72 5f 50 20 20 20 20 20 20 20 20 20 00 Gier_P . |
77b: 47 61 73 5f 4d 69 6e 20 20 20 20 20 20 20 20 00 Gas_Min . |
78b: 47 61 73 5f 4d 61 78 20 20 20 20 20 20 20 20 00 Gas_Max . |
79b: 47 79 72 6f 41 63 63 46 61 6b 74 6f 72 09 00 00 GyroAccFaktor... |
7ab: 4b 6f 6d 70 61 73 73 57 69 72 6b 75 6e 67 20 00 KompassWirkung . |
7bb: 47 79 72 6f 5f 50 20 09 09 00 00 00 00 00 00 00 Gyro_P ......... |
7cb: 47 79 72 6f 5f 49 09 09 09 00 00 00 00 00 00 00 Gyro_I.......... |
7db: 55 6e 74 65 72 73 70 61 6e 6e 75 6e 67 20 20 00 Unterspannung . |
7eb: 4e 6f 74 47 61 73 09 09 09 00 00 00 00 00 00 00 NotGas.......... |
7fb: 4e 6f 74 47 61 73 5a 65 69 74 20 20 20 20 20 00 NotGasZeit . |
80b: 55 66 6f 41 75 73 72 69 63 68 74 75 6e 67 20 00 UfoAusrichtung . |
81b: 49 5f 46 61 6b 74 6f 72 20 20 20 20 20 20 20 00 I_Faktor . |
82b: 55 73 65 72 50 61 72 61 6d 31 09 09 00 00 00 00 UserParam1...... |
83b: 55 73 65 72 50 61 72 61 6d 32 09 09 00 00 00 00 UserParam2...... |
84b: 55 73 65 72 50 61 72 61 6d 33 09 09 00 00 00 00 UserParam3...... |
85b: 55 73 65 72 50 61 72 61 6d 34 09 09 00 00 00 00 UserParam4...... |
86b: 53 65 72 76 6f 4e 69 63 6b 43 74 72 6c 09 00 00 ServoNickCtrl... |
87b: 53 65 72 76 6f 4e 69 63 6b 43 6f 6d 70 09 00 00 ServoNickComp... |
88b: 53 65 72 76 6f 4e 69 63 6b 4d 69 6e 09 00 00 00 ServoNickMin.... |
89b: 53 65 72 76 6f 4e 69 63 6b 4d 61 78 09 00 00 00 ServoNickMax.... |
8ab: 53 65 72 76 6f 4e 69 63 6b 52 65 66 72 73 68 00 ServoNickRefrsh. |
8bb: 4c 6f 6f 70 47 61 73 4c 69 6d 69 74 09 00 00 00 LoopGasLimit.... |
8cb: 4c 6f 6f 70 54 68 72 65 73 68 6f 6c 64 09 00 00 LoopThreshold... |
8db: 4c 6f 6f 70 48 79 73 74 65 72 65 73 65 09 00 00 LoopHysterese... |
8eb: 41 63 68 73 4b 6f 70 70 6c 75 6e 67 09 00 00 00 AchsKopplung.... |
8fb: 41 63 68 73 47 65 67 65 6e 4b 6f 70 70 6c 2e 00 AchsGegenKoppl.. |
90b: 57 69 6e 6b 6c 55 6d 73 63 68 6c 4e 69 63 6b 00 WinklUmschlNick. |
91b: 57 69 6e 6b 6c 55 6d 73 63 68 6c 52 6f 6c 6c 00 WinklUmschlRoll. |
92b: 47 79 72 6f 41 63 63 41 62 67 6c 65 69 63 68 00 GyroAccAbgleich. |
93b: 44 72 69 66 74 6b 6f 6d 70 09 09 00 00 00 00 00 Driftkomp....... |
94b: 44 79 6e 61 6d 69 63 53 74 61 62 69 6c 69 74 00 DynamicStabilit. |
95b: 55 73 65 72 50 61 72 61 6d 35 09 09 00 00 00 00 UserParam5...... |
96b: 55 73 65 72 50 61 72 61 6d 36 09 09 00 00 00 00 UserParam6...... |
97b: 55 73 65 72 50 61 72 61 6d 37 09 09 00 00 00 00 UserParam7...... |
98b: 55 73 65 72 50 61 72 61 6d 38 09 09 00 00 00 00 UserParam8...... |
99b: 4c 6f 6f 70 43 6f 6e 66 69 67 09 09 00 00 00 00 LoopConfig...... |
9ab: 53 65 72 76 6f 4e 69 63 6b 43 6f 6d 70 49 6e 00 ServoNickCompIn. |
000009bb <bin_parameter>: |
9bb: 4c 6f 6f 70 20 75 70 20 20 20 20 20 20 20 20 00 Loop up . |
9cb: 4c 6f 6f 70 20 64 6f 77 6e 09 20 20 20 20 00 00 Loop down. .. |
9db: 4c 6f 6f 70 20 6c 65 66 74 20 20 20 20 20 20 00 Loop left . |
9eb: 4c 6f 6f 70 20 72 69 67 68 74 20 20 20 20 20 00 Loop right . |
9fb: 48 f6 68 65 6e 72 65 67 6c 65 72 20 20 20 20 00 H.henregler . |
a0b: 48 f6 68 65 6e 73 63 68 61 6c 74 65 72 20 20 00 H.henschalter . |
a1b: 48 65 61 64 68 6f 6c 64 09 09 00 00 00 00 00 00 Headhold........ |
a2b: 4b 6f 6d 70 61 73 73 09 09 00 00 00 00 00 00 00 Kompass......... |
a3b: 4b 6f 6d 70 61 73 73 46 69 78 09 09 00 00 00 00 KompassFix...... |
a4b: 47 50 53 09 09 09 00 00 00 00 00 00 00 00 00 00 GPS............. |
a5b: 41 63 68 73 65 6e 6b 6f 70 70 6c 75 6e 67 20 00 Achsenkopplung . |
a6b: 44 72 65 68 72 61 74 65 09 09 00 00 00 00 00 00 Drehrate........ |
00000a7b <p_limits>: |
a7b: 01 08 02 01 08 02 01 08 02 01 08 02 01 08 02 01 ................ |
a8b: 08 02 01 08 02 01 08 02 00 00 00 00 ff 04 00 ff ................ |
a9b: 04 00 ff 04 00 ff 04 00 32 04 00 ff 04 00 06 03 ........2....... |
aab: 00 40 03 00 14 03 00 20 08 21 fa 08 00 32 08 00 .@..... .!...2.. |
abb: ff 08 00 00 05 00 00 05 00 fa 08 00 fa 08 00 fa ................ |
acb: 08 00 01 00 00 ff 05 00 ff 09 00 ff 09 00 ff 09 ................ |
adb: 00 ff 09 00 ff 07 00 fa 07 00 fa 07 00 fa 07 00 ................ |
aeb: 19 07 00 ff 06 00 fa 06 00 fa 06 00 ff 0a 00 ff ................ |
afb: 0a 00 fa 06 00 fa 06 00 fa 05 00 fa 05 00 ff 05 ................ |
b0b: 00 ff 09 00 ff 09 00 ff 09 00 ff 09 00 00 01 00 ................ |
b1b: 01 07 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................ |
... |
00000b42 <p_menu_number>: |
b42: 02 02 02 02 02 02 02 02 00 04 04 04 04 04 04 03 ................ |
b52: 03 03 08 08 08 08 05 05 08 08 08 00 05 09 09 09 ................ |
b62: 09 07 07 07 07 07 07 06 06 06 0a 0a 06 06 05 05 ................ |
b72: 05 09 09 09 09 00 07 0b 0b 0b 0b 0c 0c 0c 0c 0c ................ |
b82: 0c 0c 0c ... |
00000b85 <p_menus>: |
b85: 43 6f 6e 66 69 67 20 20 20 20 00 43 68 61 6e 6e Config .Chann |
b95: 65 6c 73 20 20 00 53 74 69 63 6b 20 20 20 20 20 els .Stick |
ba5: 00 48 6f 65 68 65 20 20 20 20 20 00 47 79 72 6f .Hoehe .Gyro |
bb5: 20 20 20 20 20 20 00 4c 6f 6f 70 69 6e 67 20 20 .Looping |
bc5: 20 00 43 61 6d 65 72 61 20 20 20 20 00 53 6f 6e .Camera .Son |
bd5: 73 74 69 67 65 73 20 00 55 73 65 72 20 20 20 20 stiges .User |
be5: 20 20 00 43 6f 75 70 6c 69 6e 67 20 20 00 43 6f .Coupling .Co |
bf5: 6e 66 69 67 28 32 29 20 00 4c 6f 6f 70 69 6e 67 nfig(2) .Looping |
c05: 73 65 74 00 set. |
00000c09 <__c.11>: |
c09: 2d 00 -. |
00000c0b <__c.12>: |
c0b: 2d 00 -. |
00000c0d <__c.13>: |
c0d: 2d 00 -. |
00000c0f <__c.0>: |
c0f: 4c 61 64 65 20 50 61 72 61 6d 65 74 65 72 0d 0a Lade Parameter.. |
... |
00000c20 <__c.1>: |
c20: 20 31 3a 0d 0a 00 1:... |
00000c26 <__c.2>: |
c26: 20 32 3a 0d 0a 00 2:... |
00000c2c <__c.3>: |
c2c: 20 33 3a 0d 0a 00 3:... |
00000c32 <__c.4>: |
c32: 20 34 3a 0d 0a 00 4:... |
00000c38 <__c.5>: |
c38: 20 35 3a 0d 0a 00 5:... |
00000c3e <__c.6>: |
c3e: 54 69 6d 65 6f 75 74 00 Timeout. |
00000c46 <__c.7>: |
c46: 50 61 72 61 6d 65 74 65 72 20 73 70 65 69 63 68 Parameter speich |
c56: 65 72 6e 3f 0d 0a 20 20 6a 61 0d 0a 20 20 6e 65 ern?.. ja.. ne |
c66: 69 6e 00 in. |
00000c69 <__c.8>: |
c69: 0d 0a 2d 2d 2d 3e 00 ..--->. |
00000c70 <__c.9>: |
c70: 0d 0a 50 61 72 61 6d 65 74 65 72 20 67 65 73 70 ..Parameter gesp |
c80: 65 69 63 68 65 72 74 00 eichert. |
00000c88 <__c.10>: |
c88: 0d 0a 4e 69 63 68 74 20 67 65 73 70 65 69 63 68 ..Nicht gespeich |
c98: 65 72 74 00 ert. |
00000c9c <__c.4>: |
c9c: 20 00 . |
00000c9e <__c.5>: |
c9e: 2a 00 *. |
00000ca0 <__c.0>: |
ca0: 48 61 75 70 74 6d 65 6e fc 28 42 45 54 41 20 56 Hauptmen.(BETA V |
cb0: 30 2e 31 29 0d 0a 00 0.1)... |
00000cb7 <__c.1>: |
cb7: 0d 0a 44 69 73 70 6c 61 79 0d 0a 00 ..Display... |
00000cc3 <__c.2>: |
cc3: 50 61 72 61 6d 65 74 65 72 0d 0a 00 Parameter... |
00000ccf <__c.3>: |
ccf: 4d 6f 74 6f 72 74 65 73 74 00 Motortest. |
00000cd9 <__c.0>: |
cd9: 44 69 73 70 6c 61 79 00 Display. |
00000ce1 <__c.1>: |
ce1: 0d 0a 54 69 6d 65 6f 75 74 21 00 ..Timeout!. |
00000cec <__c.0>: |
cec: 54 61 73 74 65 20 64 72 fc 63 6b 65 6e 0d 0a 00 Taste dr.cken... |
00000cfc <__init>: |
cfc: 11 24 eor r1, r1 |
cfe: 1f be out 0x3f, r1 ; 63 |
d00: cf e5 ldi r28, 0x5F ; 95 |
d02: d8 e0 ldi r29, 0x08 ; 8 |
d04: de bf out 0x3e, r29 ; 62 |
d06: cd bf out 0x3d, r28 ; 61 |
00000d08 <__do_copy_data>: |
d08: 10 e0 ldi r17, 0x00 ; 0 |
d0a: a0 e6 ldi r26, 0x60 ; 96 |
d0c: b0 e0 ldi r27, 0x00 ; 0 |
d0e: ec e6 ldi r30, 0x6C ; 108 |
d10: f6 e2 ldi r31, 0x26 ; 38 |
d12: 02 c0 rjmp .+4 ; 0xd18 <.do_copy_data_start> |
00000d14 <.do_copy_data_loop>: |
d14: 05 90 lpm r0, Z+ |
d16: 0d 92 st X+, r0 |
00000d18 <.do_copy_data_start>: |
d18: a0 36 cpi r26, 0x60 ; 96 |
d1a: b1 07 cpc r27, r17 |
d1c: d9 f7 brne .-10 ; 0xd14 <.do_copy_data_loop> |
00000d1e <__do_clear_bss>: |
d1e: 15 e0 ldi r17, 0x05 ; 5 |
d20: a0 e6 ldi r26, 0x60 ; 96 |
d22: b0 e0 ldi r27, 0x00 ; 0 |
d24: 01 c0 rjmp .+2 ; 0xd28 <.do_clear_bss_start> |
00000d26 <.do_clear_bss_loop>: |
d26: 1d 92 st X+, r1 |
00000d28 <.do_clear_bss_start>: |
d28: a7 38 cpi r26, 0x87 ; 135 |
d2a: b1 07 cpc r27, r17 |
d2c: e1 f7 brne .-8 ; 0xd26 <.do_clear_bss_loop> |
d2e: 0c 94 9b 06 jmp 0xd36 <main> |
00000d32 <__bad_interrupt>: |
d32: 0c 94 00 00 jmp 0x0 <__vectors> |
00000d36 <main>: |
#include "timer.h" |
int main (void) |
{ |
d36: cf e5 ldi r28, 0x5F ; 95 |
d38: d8 e0 ldi r29, 0x08 ; 8 |
d3a: de bf out 0x3e, r29 ; 62 |
d3c: cd bf out 0x3d, r28 ; 61 |
PORTA = 0xFF; // unbenutzte Pins auf Pull-Up |
d3e: 8f ef ldi r24, 0xFF ; 255 |
d40: 8b bb out 0x1b, r24 ; 27 |
PORTB = 0x43; |
d42: 83 e4 ldi r24, 0x43 ; 67 |
d44: 88 bb out 0x18, r24 ; 24 |
PORTC = 0xFC; |
d46: 8c ef ldi r24, 0xFC ; 252 |
d48: 85 bb out 0x15, r24 ; 21 |
PORTD = 0x7C; |
d4a: 8c e7 ldi r24, 0x7C ; 124 |
d4c: 82 bb out 0x12, r24 ; 18 |
DDRC = 0x03; // Pins für Beleuchtung auf Ausgang |
d4e: 83 e0 ldi r24, 0x03 ; 3 |
d50: 84 bb out 0x14, r24 ; 20 |
DDRD = 0x80; |
d52: 80 e8 ldi r24, 0x80 ; 128 |
d54: 81 bb out 0x11, r24 ; 17 |
lcd_init(); |
d56: 0e 94 53 07 call 0xea6 <lcd_init> |
RS232_init(); |
d5a: 0e 94 1a 0c call 0x1834 <RS232_init> |
timer_init(); |
d5e: 0e 94 f4 06 call 0xde8 <timer_init> |
sei(); |
d62: 78 94 sei |
for (;;) |
main_menu(); |
d64: 0e 94 c8 11 call 0x2390 <main_menu> |
d68: fd cf rjmp .-6 ; 0xd64 <main+0x2e> |
00000d6a <__vector_10>: |
volatile uint8_t rs232_timer; |
ISR(SIG_OUTPUT_COMPARE0) // Timer-Interrupt (100 Hz) |
{ |
d6a: 1f 92 push r1 |
d6c: 0f 92 push r0 |
d6e: 0f b6 in r0, 0x3f ; 63 |
d70: 0f 92 push r0 |
d72: 11 24 eor r1, r1 |
d74: 8f 93 push r24 |
d76: 9f 93 push r25 |
if (counter > 0) |
d78: 80 91 e4 04 lds r24, 0x04E4 |
d7c: 88 23 and r24, r24 |
d7e: 31 f0 breq .+12 ; 0xd8c <__vector_10+0x22> |
counter --; |
d80: 80 91 e4 04 lds r24, 0x04E4 |
d84: 81 50 subi r24, 0x01 ; 1 |
d86: 80 93 e4 04 sts 0x04E4, r24 |
d8a: 15 c0 rjmp .+42 ; 0xdb6 <__vector_10+0x4c> |
else |
{ |
counter = 10; |
d8c: 8a e0 ldi r24, 0x0A ; 10 |
d8e: 80 93 e4 04 sts 0x04E4, r24 |
key = (~PINA >> 4) & 0x0F; |
d92: 89 b3 in r24, 0x19 ; 25 |
d94: 99 27 eor r25, r25 |
d96: 80 95 com r24 |
d98: 90 95 com r25 |
d9a: 68 94 set |
d9c: 13 f8 bld r1, 3 |
d9e: 95 95 asr r25 |
da0: 87 95 ror r24 |
da2: 16 94 lsr r1 |
da4: e1 f7 brne .-8 ; 0xd9e <__vector_10+0x34> |
da6: 8f 70 andi r24, 0x0F ; 15 |
da8: 80 93 e6 04 sts 0x04E6, r24 |
counter2 ++; |
dac: 80 91 69 05 lds r24, 0x0569 |
db0: 8f 5f subi r24, 0xFF ; 255 |
db2: 80 93 69 05 sts 0x0569, r24 |
} |
if (timer > 0) |
db6: 80 91 61 00 lds r24, 0x0061 |
dba: 88 23 and r24, r24 |
dbc: 29 f0 breq .+10 ; 0xdc8 <__vector_10+0x5e> |
timer --; |
dbe: 80 91 61 00 lds r24, 0x0061 |
dc2: 81 50 subi r24, 0x01 ; 1 |
dc4: 80 93 61 00 sts 0x0061, r24 |
if (rs232_timer > 0) |
dc8: 80 91 e5 04 lds r24, 0x04E5 |
dcc: 88 23 and r24, r24 |
dce: 29 f0 breq .+10 ; 0xdda <__vector_10+0x70> |
rs232_timer --; |
dd0: 80 91 e5 04 lds r24, 0x04E5 |
dd4: 81 50 subi r24, 0x01 ; 1 |
dd6: 80 93 e5 04 sts 0x04E5, r24 |
dda: 9f 91 pop r25 |
ddc: 8f 91 pop r24 |
dde: 0f 90 pop r0 |
de0: 0f be out 0x3f, r0 ; 63 |
de2: 0f 90 pop r0 |
de4: 1f 90 pop r1 |
de6: 18 95 reti |
00000de8 <timer_init>: |
} |
void timer_init (void) |
{ |
TCCR0 = (1<<CS02)|(1<<CS00)|(1<<WGM01); // Prescaler 1024 |
de8: 8d e0 ldi r24, 0x0D ; 13 |
dea: 83 bf out 0x33, r24 ; 51 |
OCR0 = 72; // Interrupt 100Hz für 7,372800 MHz-Quarz |
dec: 88 e4 ldi r24, 0x48 ; 72 |
dee: 8c bf out 0x3c, r24 ; 60 |
TIMSK |= (1<<OCIE0); // Interrupt freigeben für OCR |
df0: 89 b7 in r24, 0x39 ; 57 |
df2: 82 60 ori r24, 0x02 ; 2 |
df4: 89 bf out 0x39, r24 ; 57 |
df6: 08 95 ret |
00000df8 <send_byte>: |
void send_byte (uint8_t data) |
{ |
clr_cs(); |
df8: c4 98 cbi 0x18, 4 ; 24 |
SPDR = data; |
dfa: 8f b9 out 0x0f, r24 ; 15 |
while(!(SPSR & (1<<SPIF))); |
dfc: 77 9b sbis 0x0e, 7 ; 14 |
dfe: fe cf rjmp .-4 ; 0xdfc <send_byte+0x4> |
SPSR = SPSR; |
e00: 8e b1 in r24, 0x0e ; 14 |
e02: 8e b9 out 0x0e, r24 ; 14 |
set_cs(); |
e04: c4 9a sbi 0x18, 4 ; 24 |
e06: 08 95 ret |
00000e08 <cls>: |
} |
void cls (void) |
{ |
e08: 0f 93 push r16 |
e0a: 1f 93 push r17 |
e0c: cf 93 push r28 |
e0e: df 93 push r29 |
e10: 82 e6 ldi r24, 0x62 ; 98 |
e12: 90 e0 ldi r25, 0x00 ; 0 |
e14: fc 01 movw r30, r24 |
uint16_t i,j; |
for (i=0;i<1024;i++) |
display_buffer[i] = 0x00; |
e16: 11 92 st Z+, r1 |
e18: 01 96 adiw r24, 0x01 ; 1 |
e1a: 24 e0 ldi r18, 0x04 ; 4 |
e1c: 81 36 cpi r24, 0x61 ; 97 |
e1e: 92 07 cpc r25, r18 |
e20: d1 f3 breq .-12 ; 0xe16 <cls+0xe> |
e22: c8 f3 brcs .-14 ; 0xe16 <cls+0xe> |
for (i=0;i<8;i++) |
e24: 00 e0 ldi r16, 0x00 ; 0 |
e26: 10 e0 ldi r17, 0x00 ; 0 |
{ |
clr_A0(); |
e28: c3 98 cbi 0x18, 3 ; 24 |
send_byte(0xB0+i); |
e2a: 80 2f mov r24, r16 |
e2c: 80 55 subi r24, 0x50 ; 80 |
e2e: 0e 94 fc 06 call 0xdf8 <send_byte> |
send_byte(0x10); |
e32: 80 e1 ldi r24, 0x10 ; 16 |
e34: 0e 94 fc 06 call 0xdf8 <send_byte> |
send_byte(0x04); |
e38: 84 e0 ldi r24, 0x04 ; 4 |
e3a: 0e 94 fc 06 call 0xdf8 <send_byte> |
set_A0(); |
e3e: c3 9a sbi 0x18, 3 ; 24 |
e40: cf e7 ldi r28, 0x7F ; 127 |
e42: d0 e0 ldi r29, 0x00 ; 0 |
for (j=0;j<128;j++) |
send_byte(0x00); |
e44: 80 e0 ldi r24, 0x00 ; 0 |
e46: 0e 94 fc 06 call 0xdf8 <send_byte> |
e4a: 21 97 sbiw r28, 0x01 ; 1 |
e4c: d7 ff sbrs r29, 7 |
e4e: fa cf rjmp .-12 ; 0xe44 <cls+0x3c> |
e50: 0f 5f subi r16, 0xFF ; 255 |
e52: 1f 4f sbci r17, 0xFF ; 255 |
e54: 08 30 cpi r16, 0x08 ; 8 |
e56: 11 05 cpc r17, r1 |
e58: 38 f3 brcs .-50 ; 0xe28 <cls+0x20> |
} |
lcd_xpos = 0; |
e5a: 10 92 6a 05 sts 0x056A, r1 |
lcd_ypos = 0; |
e5e: 10 92 6b 05 sts 0x056B, r1 |
e62: df 91 pop r29 |
e64: cf 91 pop r28 |
e66: 1f 91 pop r17 |
e68: 0f 91 pop r16 |
e6a: 08 95 ret |
00000e6c <lcd_cls>: |
} |
void lcd_cls (void) |
{ |
cls(); |
e6c: 0e 94 04 07 call 0xe08 <cls> |
e70: 08 95 ret |
00000e72 <wait_1ms>: |
__ticks = 1; |
else if (__tmp > 65535) |
__ticks = 0; /* i.e. 65536 */ |
else |
__ticks = (uint16_t)__tmp; |
e72: 83 e3 ldi r24, 0x33 ; 51 |
e74: 97 e0 ldi r25, 0x07 ; 7 |
e76: 01 97 sbiw r24, 0x01 ; 1 |
e78: f1 f7 brne .-4 ; 0xe76 <wait_1ms+0x4> |
e7a: 08 95 ret |
00000e7c <wait_ms>: |
} |
void wait_1ms(void) |
{ |
_delay_ms (1.0); |
} |
void wait_ms (uint16_t time) |
{ |
e7c: 0f 93 push r16 |
e7e: 1f 93 push r17 |
e80: cf 93 push r28 |
e82: df 93 push r29 |
e84: 8c 01 movw r16, r24 |
uint16_t i; |
for (i=0; i<time; i++) |
e86: c0 e0 ldi r28, 0x00 ; 0 |
e88: d0 e0 ldi r29, 0x00 ; 0 |
e8a: c8 17 cp r28, r24 |
e8c: d9 07 cpc r29, r25 |
e8e: 30 f4 brcc .+12 ; 0xe9c <wait_ms+0x20> |
wait_1ms(); |
e90: 0e 94 39 07 call 0xe72 <wait_1ms> |
e94: 21 96 adiw r28, 0x01 ; 1 |
e96: c0 17 cp r28, r16 |
e98: d1 07 cpc r29, r17 |
e9a: d0 f3 brcs .-12 ; 0xe90 <wait_ms+0x14> |
e9c: df 91 pop r29 |
e9e: cf 91 pop r28 |
ea0: 1f 91 pop r17 |
ea2: 0f 91 pop r16 |
ea4: 08 95 ret |
00000ea6 <lcd_init>: |
} |
void lcd_init (void) |
{ |
lcd_xpos = 0; |
ea6: 10 92 6a 05 sts 0x056A, r1 |
lcd_ypos = 0; |
eaa: 10 92 6b 05 sts 0x056B, r1 |
DDRB = 0xFF; |
eae: 8f ef ldi r24, 0xFF ; 255 |
eb0: 87 bb out 0x17, r24 ; 23 |
SPCR = (1<<SPE)|(1<<MSTR)|(1<<CPHA)|(1<<CPOL)|(1<<SPR1); |
eb2: 8e e5 ldi r24, 0x5E ; 94 |
eb4: 8d b9 out 0x0d, r24 ; 13 |
set_cs(); |
eb6: c4 9a sbi 0x18, 4 ; 24 |
clr_reset(); |
eb8: c2 98 cbi 0x18, 2 ; 24 |
wait_ms(10); |
eba: 8a e0 ldi r24, 0x0A ; 10 |
ebc: 90 e0 ldi r25, 0x00 ; 0 |
ebe: 0e 94 3e 07 call 0xe7c <wait_ms> |
set_reset(); |
ec2: c2 9a sbi 0x18, 2 ; 24 |
clr_cs(); |
ec4: c4 98 cbi 0x18, 4 ; 24 |
clr_A0(); |
ec6: c3 98 cbi 0x18, 3 ; 24 |
send_byte(0x40); |
ec8: 80 e4 ldi r24, 0x40 ; 64 |
eca: 0e 94 fc 06 call 0xdf8 <send_byte> |
send_byte(0xA0); // A1 |
ece: 80 ea ldi r24, 0xA0 ; 160 |
ed0: 0e 94 fc 06 call 0xdf8 <send_byte> |
send_byte(0xC8); // C0 |
ed4: 88 ec ldi r24, 0xC8 ; 200 |
ed6: 0e 94 fc 06 call 0xdf8 <send_byte> |
send_byte(0xA6); |
eda: 86 ea ldi r24, 0xA6 ; 166 |
edc: 0e 94 fc 06 call 0xdf8 <send_byte> |
send_byte(0xA2); |
ee0: 82 ea ldi r24, 0xA2 ; 162 |
ee2: 0e 94 fc 06 call 0xdf8 <send_byte> |
send_byte(0x2F); |
ee6: 8f e2 ldi r24, 0x2F ; 47 |
ee8: 0e 94 fc 06 call 0xdf8 <send_byte> |
send_byte(0xF8); |
eec: 88 ef ldi r24, 0xF8 ; 248 |
eee: 0e 94 fc 06 call 0xdf8 <send_byte> |
send_byte(0x00); |
ef2: 80 e0 ldi r24, 0x00 ; 0 |
ef4: 0e 94 fc 06 call 0xdf8 <send_byte> |
send_byte(0x27); |
ef8: 87 e2 ldi r24, 0x27 ; 39 |
efa: 0e 94 fc 06 call 0xdf8 <send_byte> |
send_byte(0x81); |
efe: 81 e8 ldi r24, 0x81 ; 129 |
f00: 0e 94 fc 06 call 0xdf8 <send_byte> |
send_byte(0x16); |
f04: 86 e1 ldi r24, 0x16 ; 22 |
f06: 0e 94 fc 06 call 0xdf8 <send_byte> |
send_byte(0xAC); |
f0a: 8c ea ldi r24, 0xAC ; 172 |
f0c: 0e 94 fc 06 call 0xdf8 <send_byte> |
send_byte(0x00); |
f10: 80 e0 ldi r24, 0x00 ; 0 |
f12: 0e 94 fc 06 call 0xdf8 <send_byte> |
send_byte(0xAF); |
f16: 8f ea ldi r24, 0xAF ; 175 |
f18: 0e 94 fc 06 call 0xdf8 <send_byte> |
cls(); |
f1c: 0e 94 04 07 call 0xe08 <cls> |
f20: 08 95 ret |
00000f22 <set_adress>: |
} |
void set_adress (uint16_t adress, uint8_t data) |
{ |
f22: ff 92 push r15 |
f24: 0f 93 push r16 |
f26: 1f 93 push r17 |
f28: 8c 01 movw r16, r24 |
f2a: f6 2e mov r15, r22 |
uint8_t page; |
uint8_t column; |
page = adress >> 7; |
f2c: 88 0f add r24, r24 |
f2e: 89 2f mov r24, r25 |
f30: 88 1f adc r24, r24 |
f32: 99 0b sbc r25, r25 |
f34: 91 95 neg r25 |
clr_A0(); |
f36: c3 98 cbi 0x18, 3 ; 24 |
send_byte(0xB0 + page); |
f38: 80 55 subi r24, 0x50 ; 80 |
f3a: 0e 94 fc 06 call 0xdf8 <send_byte> |
column = (adress & 0x7F) + 4; |
f3e: 10 2f mov r17, r16 |
f40: 1f 77 andi r17, 0x7F ; 127 |
f42: 1c 5f subi r17, 0xFC ; 252 |
send_byte(0x10 + (column >> 4)); |
f44: 81 2f mov r24, r17 |
f46: 82 95 swap r24 |
f48: 8f 70 andi r24, 0x0F ; 15 |
f4a: 80 5f subi r24, 0xF0 ; 240 |
f4c: 0e 94 fc 06 call 0xdf8 <send_byte> |
send_byte(column & 0x0F); |
f50: 81 2f mov r24, r17 |
f52: 8f 70 andi r24, 0x0F ; 15 |
f54: 0e 94 fc 06 call 0xdf8 <send_byte> |
set_A0(); |
f58: c3 9a sbi 0x18, 3 ; 24 |
send_byte(data); |
f5a: 8f 2d mov r24, r15 |
f5c: 0e 94 fc 06 call 0xdf8 <send_byte> |
f60: 1f 91 pop r17 |
f62: 0f 91 pop r16 |
f64: ff 90 pop r15 |
f66: 08 95 ret |
00000f68 <scroll>: |
} |
void scroll (void) |
{ |
f68: ef 92 push r14 |
f6a: ff 92 push r15 |
f6c: 0f 93 push r16 |
f6e: 1f 93 push r17 |
f70: cf 93 push r28 |
f72: df 93 push r29 |
uint16_t adress; |
for (adress=0;adress<896;adress++) |
f74: c0 e0 ldi r28, 0x00 ; 0 |
f76: d0 e0 ldi r29, 0x00 ; 0 |
f78: 32 ee ldi r19, 0xE2 ; 226 |
f7a: e3 2e mov r14, r19 |
f7c: 30 e0 ldi r19, 0x00 ; 0 |
f7e: f3 2e mov r15, r19 |
f80: 87 01 movw r16, r14 |
f82: 00 58 subi r16, 0x80 ; 128 |
f84: 10 40 sbci r17, 0x00 ; 0 |
{ |
display_buffer[adress] = display_buffer[adress+128]; |
f86: f7 01 movw r30, r14 |
f88: 81 91 ld r24, Z+ |
f8a: 7f 01 movw r14, r30 |
f8c: f8 01 movw r30, r16 |
f8e: 80 83 st Z, r24 |
set_adress(adress,display_buffer[adress]); |
f90: 61 91 ld r22, Z+ |
f92: 8f 01 movw r16, r30 |
f94: ce 01 movw r24, r28 |
f96: 0e 94 91 07 call 0xf22 <set_adress> |
f9a: 21 96 adiw r28, 0x01 ; 1 |
f9c: f3 e0 ldi r31, 0x03 ; 3 |
f9e: c0 38 cpi r28, 0x80 ; 128 |
fa0: df 07 cpc r29, r31 |
fa2: 88 f3 brcs .-30 ; 0xf86 <scroll+0x1e> |
fa4: c0 e8 ldi r28, 0x80 ; 128 |
fa6: d3 e0 ldi r29, 0x03 ; 3 |
fa8: 02 ee ldi r16, 0xE2 ; 226 |
faa: 13 e0 ldi r17, 0x03 ; 3 |
} |
for (adress=896;adress<1024;adress++) |
{ |
display_buffer[adress] = 0; |
fac: f8 01 movw r30, r16 |
fae: 11 92 st Z+, r1 |
fb0: 8f 01 movw r16, r30 |
set_adress(adress,0); |
fb2: 60 e0 ldi r22, 0x00 ; 0 |
fb4: ce 01 movw r24, r28 |
fb6: 0e 94 91 07 call 0xf22 <set_adress> |
fba: 21 96 adiw r28, 0x01 ; 1 |
fbc: f4 e0 ldi r31, 0x04 ; 4 |
fbe: c0 30 cpi r28, 0x00 ; 0 |
fc0: df 07 cpc r29, r31 |
fc2: a0 f3 brcs .-24 ; 0xfac <scroll+0x44> |
fc4: df 91 pop r29 |
fc6: cf 91 pop r28 |
fc8: 1f 91 pop r17 |
fca: 0f 91 pop r16 |
fcc: ff 90 pop r15 |
fce: ef 90 pop r14 |
fd0: 08 95 ret |
00000fd2 <put_char>: |
} |
} |
// |
// x,y = character-Pos. ! |
// |
// mode: 0=Overwrite, 1 = OR, 2 = XOR, 3 = AND, 4 = Delete |
void put_char (uint8_t x, uint8_t y, uint8_t c, uint8_t mode) |
{ |
fd2: bf 92 push r11 |
fd4: cf 92 push r12 |
fd6: df 92 push r13 |
fd8: ef 92 push r14 |
fda: ff 92 push r15 |
fdc: 0f 93 push r16 |
fde: 1f 93 push r17 |
fe0: cf 93 push r28 |
fe2: df 93 push r29 |
fe4: 38 2f mov r19, r24 |
fe6: f4 2e mov r15, r20 |
fe8: b2 2e mov r11, r18 |
uint8_t ch; |
uint8_t i; |
uint16_t adress; |
switch(c) |
fea: 84 2f mov r24, r20 |
fec: 99 27 eor r25, r25 |
fee: 8f 3d cpi r24, 0xDF ; 223 |
ff0: 91 05 cpc r25, r1 |
ff2: 89 f1 breq .+98 ; 0x1056 <put_char+0x84> |
ff4: 80 3e cpi r24, 0xE0 ; 224 |
ff6: 91 05 cpc r25, r1 |
ff8: 74 f4 brge .+28 ; 0x1016 <put_char+0x44> |
ffa: 86 3d cpi r24, 0xD6 ; 214 |
ffc: 91 05 cpc r25, r1 |
ffe: 29 f1 breq .+74 ; 0x104a <put_char+0x78> |
1000: 87 3d cpi r24, 0xD7 ; 215 |
1002: 91 05 cpc r25, r1 |
1004: 24 f4 brge .+8 ; 0x100e <put_char+0x3c> |
1006: 84 3c cpi r24, 0xC4 ; 196 |
1008: 91 05 cpc r25, r1 |
100a: e1 f0 breq .+56 ; 0x1044 <put_char+0x72> |
100c: 26 c0 rjmp .+76 ; 0x105a <put_char+0x88> |
100e: 8c 3d cpi r24, 0xDC ; 220 |
1010: 91 05 cpc r25, r1 |
1012: f1 f0 breq .+60 ; 0x1050 <put_char+0x7e> |
1014: 22 c0 rjmp .+68 ; 0x105a <put_char+0x88> |
1016: 86 3f cpi r24, 0xF6 ; 246 |
1018: 91 05 cpc r25, r1 |
101a: 71 f0 breq .+28 ; 0x1038 <put_char+0x66> |
101c: 87 3f cpi r24, 0xF7 ; 247 |
101e: 91 05 cpc r25, r1 |
1020: 24 f4 brge .+8 ; 0x102a <put_char+0x58> |
1022: 84 3e cpi r24, 0xE4 ; 228 |
1024: 91 05 cpc r25, r1 |
1026: 29 f0 breq .+10 ; 0x1032 <put_char+0x60> |
1028: 18 c0 rjmp .+48 ; 0x105a <put_char+0x88> |
102a: 8c 3f cpi r24, 0xFC ; 252 |
102c: 91 05 cpc r25, r1 |
102e: 39 f0 breq .+14 ; 0x103e <put_char+0x6c> |
1030: 14 c0 rjmp .+40 ; 0x105a <put_char+0x88> |
{ |
case 'ä': |
c = 0x84; |
1032: 14 e8 ldi r17, 0x84 ; 132 |
1034: f1 2e mov r15, r17 |
break; |
1036: 11 c0 rjmp .+34 ; 0x105a <put_char+0x88> |
case 'ö': |
c = 0x94; |
1038: c4 e9 ldi r28, 0x94 ; 148 |
103a: fc 2e mov r15, r28 |
break; |
103c: 0e c0 rjmp .+28 ; 0x105a <put_char+0x88> |
case 'ü': |
c = 0x81; |
103e: b1 e8 ldi r27, 0x81 ; 129 |
1040: fb 2e mov r15, r27 |
break; |
1042: 0b c0 rjmp .+22 ; 0x105a <put_char+0x88> |
case 'Ä': |
c = 0x8E; |
1044: ae e8 ldi r26, 0x8E ; 142 |
1046: fa 2e mov r15, r26 |
break; |
1048: 08 c0 rjmp .+16 ; 0x105a <put_char+0x88> |
case 'Ö': |
c = 0x99; |
104a: f9 e9 ldi r31, 0x99 ; 153 |
104c: ff 2e mov r15, r31 |
break; |
104e: 05 c0 rjmp .+10 ; 0x105a <put_char+0x88> |
case 'Ü': |
c = 0x9A; |
1050: ea e9 ldi r30, 0x9A ; 154 |
1052: fe 2e mov r15, r30 |
break; |
1054: 02 c0 rjmp .+4 ; 0x105a <put_char+0x88> |
case 'ß': |
c = 0xE1; |
1056: 71 ee ldi r23, 0xE1 ; 225 |
1058: f7 2e mov r15, r23 |
break; |
} |
adress = y*128 + x*6; |
105a: c6 2f mov r28, r22 |
105c: dd 27 eor r29, r29 |
105e: d6 95 lsr r29 |
1060: dc 2f mov r29, r28 |
1062: cc 27 eor r28, r28 |
1064: d7 95 ror r29 |
1066: c7 95 ror r28 |
1068: 86 e0 ldi r24, 0x06 ; 6 |
106a: 38 9f mul r19, r24 |
106c: c0 01 movw r24, r0 |
106e: 11 24 eor r1, r1 |
1070: c8 0f add r28, r24 |
1072: d9 1f adc r29, r25 |
adress &= 0x3FF; |
1074: d3 70 andi r29, 0x03 ; 3 |
1076: 6e 01 movw r12, r28 |
1078: 00 e0 ldi r16, 0x00 ; 0 |
107a: 10 e0 ldi r17, 0x00 ; 0 |
107c: 45 e0 ldi r20, 0x05 ; 5 |
107e: e4 2e mov r14, r20 |
for (i=0;i<6;i++) |
{ |
ch = pgm_read_byte (&f8x6[0][0] + i + c * 6); |
1080: 86 e0 ldi r24, 0x06 ; 6 |
1082: f8 9e mul r15, r24 |
1084: f0 01 movw r30, r0 |
1086: 11 24 eor r1, r1 |
1088: e0 0f add r30, r16 |
108a: f1 1f adc r31, r17 |
108c: ec 5a subi r30, 0xAC ; 172 |
108e: ff 4f sbci r31, 0xFF ; 255 |
1090: 24 91 lpm r18, Z |
switch (mode) |
1092: 8b 2d mov r24, r11 |
1094: 99 27 eor r25, r25 |
1096: 82 30 cpi r24, 0x02 ; 2 |
1098: 91 05 cpc r25, r1 |
109a: e9 f0 breq .+58 ; 0x10d6 <put_char+0x104> |
109c: 83 30 cpi r24, 0x03 ; 3 |
109e: 91 05 cpc r25, r1 |
10a0: 2c f4 brge .+10 ; 0x10ac <put_char+0xda> |
10a2: 00 97 sbiw r24, 0x00 ; 0 |
10a4: 49 f0 breq .+18 ; 0x10b8 <put_char+0xe6> |
10a6: 01 97 sbiw r24, 0x01 ; 1 |
10a8: 71 f0 breq .+28 ; 0x10c6 <put_char+0xf4> |
10aa: 2c c0 rjmp .+88 ; 0x1104 <put_char+0x132> |
10ac: 83 30 cpi r24, 0x03 ; 3 |
10ae: 91 05 cpc r25, r1 |
10b0: d1 f0 breq .+52 ; 0x10e6 <put_char+0x114> |
10b2: 04 97 sbiw r24, 0x04 ; 4 |
10b4: f1 f0 breq .+60 ; 0x10f2 <put_char+0x120> |
10b6: 26 c0 rjmp .+76 ; 0x1104 <put_char+0x132> |
{ |
case 0: |
display_buffer[adress+i] = ch; |
10b8: fe 01 movw r30, r28 |
10ba: ee 59 subi r30, 0x9E ; 158 |
10bc: ff 4f sbci r31, 0xFF ; 255 |
10be: e0 0f add r30, r16 |
10c0: f1 1f adc r31, r17 |
10c2: 20 83 st Z, r18 |
break; |
10c4: 1f c0 rjmp .+62 ; 0x1104 <put_char+0x132> |
case 1: |
display_buffer[adress+i] |= ch; |
10c6: fe 01 movw r30, r28 |
10c8: ee 59 subi r30, 0x9E ; 158 |
10ca: ff 4f sbci r31, 0xFF ; 255 |
10cc: e0 0f add r30, r16 |
10ce: f1 1f adc r31, r17 |
10d0: 80 81 ld r24, Z |
10d2: 82 2b or r24, r18 |
10d4: 16 c0 rjmp .+44 ; 0x1102 <put_char+0x130> |
break; |
case 2: |
display_buffer[adress+i] ^= ch; |
10d6: fe 01 movw r30, r28 |
10d8: ee 59 subi r30, 0x9E ; 158 |
10da: ff 4f sbci r31, 0xFF ; 255 |
10dc: e0 0f add r30, r16 |
10de: f1 1f adc r31, r17 |
10e0: 80 81 ld r24, Z |
10e2: 82 27 eor r24, r18 |
10e4: 0e c0 rjmp .+28 ; 0x1102 <put_char+0x130> |
break; |
case 3: |
display_buffer[adress+i] &= ch; |
10e6: fe 01 movw r30, r28 |
10e8: ee 59 subi r30, 0x9E ; 158 |
10ea: ff 4f sbci r31, 0xFF ; 255 |
10ec: e0 0f add r30, r16 |
10ee: f1 1f adc r31, r17 |
10f0: 06 c0 rjmp .+12 ; 0x10fe <put_char+0x12c> |
break; |
case 4: |
display_buffer[adress+i] &= ~ch; |
10f2: fe 01 movw r30, r28 |
10f4: ee 59 subi r30, 0x9E ; 158 |
10f6: ff 4f sbci r31, 0xFF ; 255 |
10f8: e0 0f add r30, r16 |
10fa: f1 1f adc r31, r17 |
10fc: 20 95 com r18 |
10fe: 80 81 ld r24, Z |
1100: 82 23 and r24, r18 |
1102: 80 83 st Z, r24 |
break; |
} |
set_adress(adress+i,display_buffer[adress+i]); |
1104: fe 01 movw r30, r28 |
1106: ee 59 subi r30, 0x9E ; 158 |
1108: ff 4f sbci r31, 0xFF ; 255 |
110a: e0 0f add r30, r16 |
110c: f1 1f adc r31, r17 |
110e: 60 81 ld r22, Z |
1110: c6 01 movw r24, r12 |
1112: 0e 94 91 07 call 0xf22 <set_adress> |
1116: ea 94 dec r14 |
1118: 0f 5f subi r16, 0xFF ; 255 |
111a: 1f 4f sbci r17, 0xFF ; 255 |
111c: 08 94 sec |
111e: c1 1c adc r12, r1 |
1120: d1 1c adc r13, r1 |
1122: e7 fe sbrs r14, 7 |
1124: ad cf rjmp .-166 ; 0x1080 <put_char+0xae> |
1126: df 91 pop r29 |
1128: cf 91 pop r28 |
112a: 1f 91 pop r17 |
112c: 0f 91 pop r16 |
112e: ff 90 pop r15 |
1130: ef 90 pop r14 |
1132: df 90 pop r13 |
1134: cf 90 pop r12 |
1136: bf 90 pop r11 |
1138: 08 95 ret |
0000113a <new_line>: |
} |
} |
void new_line (void) |
{ |
lcd_ypos++; |
113a: 80 91 6b 05 lds r24, 0x056B |
113e: 8f 5f subi r24, 0xFF ; 255 |
1140: 80 93 6b 05 sts 0x056B, r24 |
if (lcd_ypos > 7) |
1144: 88 30 cpi r24, 0x08 ; 8 |
1146: 28 f0 brcs .+10 ; 0x1152 <new_line+0x18> |
{ |
scroll(); |
1148: 0e 94 b4 07 call 0xf68 <scroll> |
lcd_ypos = 7; |
114c: 87 e0 ldi r24, 0x07 ; 7 |
114e: 80 93 6b 05 sts 0x056B, r24 |
1152: 08 95 ret |
00001154 <lcd_printp>: |
} |
} |
void lcd_printp (const char *text, uint8_t mode) |
{ |
1154: 1f 93 push r17 |
1156: cf 93 push r28 |
1158: df 93 push r29 |
115a: ec 01 movw r28, r24 |
115c: 16 2f mov r17, r22 |
while (pgm_read_byte(text)) |
{ |
if (pgm_read_byte(text) > 0x1F) |
{ |
put_char(lcd_xpos,lcd_ypos,pgm_read_byte(text++),mode); |
lcd_xpos++; |
if (lcd_xpos > 20) |
{ |
lcd_xpos = 0; |
new_line(); |
} |
} |
else |
{ |
switch (pgm_read_byte(text)) |
{ |
case 0x0D: |
lcd_xpos = 0; |
break; |
case 0x0A: |
new_line(); |
break; |
} |
text++; |
115e: fc 01 movw r30, r24 |
1160: 84 91 lpm r24, Z |
1162: 88 23 and r24, r24 |
1164: 51 f1 breq .+84 ; 0x11ba <lcd_printp+0x66> |
1166: fe 01 movw r30, r28 |
1168: 84 91 lpm r24, Z |
116a: 80 32 cpi r24, 0x20 ; 32 |
116c: b0 f0 brcs .+44 ; 0x119a <lcd_printp+0x46> |
116e: 21 96 adiw r28, 0x01 ; 1 |
1170: 84 91 lpm r24, Z |
1172: 21 2f mov r18, r17 |
1174: 48 2f mov r20, r24 |
1176: 60 91 6b 05 lds r22, 0x056B |
117a: 80 91 6a 05 lds r24, 0x056A |
117e: 0e 94 e9 07 call 0xfd2 <put_char> |
1182: 80 91 6a 05 lds r24, 0x056A |
1186: 8f 5f subi r24, 0xFF ; 255 |
1188: 80 93 6a 05 sts 0x056A, r24 |
118c: 85 31 cpi r24, 0x15 ; 21 |
118e: 88 f0 brcs .+34 ; 0x11b2 <lcd_printp+0x5e> |
1190: 10 92 6a 05 sts 0x056A, r1 |
1194: 0e 94 9d 08 call 0x113a <new_line> |
1198: 0c c0 rjmp .+24 ; 0x11b2 <lcd_printp+0x5e> |
119a: 99 27 eor r25, r25 |
119c: 8a 30 cpi r24, 0x0A ; 10 |
119e: 91 05 cpc r25, r1 |
11a0: 29 f0 breq .+10 ; 0x11ac <lcd_printp+0x58> |
11a2: 0d 97 sbiw r24, 0x0d ; 13 |
11a4: 29 f4 brne .+10 ; 0x11b0 <lcd_printp+0x5c> |
11a6: 10 92 6a 05 sts 0x056A, r1 |
11aa: 02 c0 rjmp .+4 ; 0x11b0 <lcd_printp+0x5c> |
11ac: 0e 94 9d 08 call 0x113a <new_line> |
11b0: 21 96 adiw r28, 0x01 ; 1 |
11b2: fe 01 movw r30, r28 |
11b4: 84 91 lpm r24, Z |
11b6: 88 23 and r24, r24 |
11b8: b1 f6 brne .-84 ; 0x1166 <lcd_printp+0x12> |
11ba: df 91 pop r29 |
11bc: cf 91 pop r28 |
11be: 1f 91 pop r17 |
11c0: 08 95 ret |
000011c2 <lcd_print_atp>: |
} |
} |
} |
void lcd_print_atp (uint8_t x, uint8_t y, const char *text, uint8_t mode) |
{ |
lcd_xpos = x; |
11c2: 80 93 6a 05 sts 0x056A, r24 |
lcd_ypos = y; |
11c6: 60 93 6b 05 sts 0x056B, r22 |
lcd_printp (text, mode); |
11ca: 62 2f mov r22, r18 |
11cc: ca 01 movw r24, r20 |
11ce: 0e 94 aa 08 call 0x1154 <lcd_printp> |
11d2: 08 95 ret |
000011d4 <lcd_print>: |
} |
void lcd_print (uint8_t *text, uint8_t mode) |
{ |
11d4: 1f 93 push r17 |
11d6: cf 93 push r28 |
11d8: df 93 push r29 |
11da: ec 01 movw r28, r24 |
11dc: 16 2f mov r17, r22 |
while (*text) |
{ |
if (*text > 0x1F) |
{ |
put_char(lcd_xpos,lcd_ypos,*text++,mode); |
lcd_xpos++; |
if (lcd_xpos > 20) |
{ |
lcd_xpos = 0; |
new_line(); |
} |
} |
else |
{ |
switch (*text) |
{ |
case 0x0D: |
lcd_xpos = 0; |
break; |
case 0x0A: |
new_line(); |
break; |
} |
text++; |
11de: 88 81 ld r24, Y |
11e0: 88 23 and r24, r24 |
11e2: 39 f1 breq .+78 ; 0x1232 <lcd_print+0x5e> |
11e4: 48 81 ld r20, Y |
11e6: 40 32 cpi r20, 0x20 ; 32 |
11e8: a0 f0 brcs .+40 ; 0x1212 <lcd_print+0x3e> |
11ea: 21 96 adiw r28, 0x01 ; 1 |
11ec: 21 2f mov r18, r17 |
11ee: 60 91 6b 05 lds r22, 0x056B |
11f2: 80 91 6a 05 lds r24, 0x056A |
11f6: 0e 94 e9 07 call 0xfd2 <put_char> |
11fa: 80 91 6a 05 lds r24, 0x056A |
11fe: 8f 5f subi r24, 0xFF ; 255 |
1200: 80 93 6a 05 sts 0x056A, r24 |
1204: 85 31 cpi r24, 0x15 ; 21 |
1206: 90 f0 brcs .+36 ; 0x122c <lcd_print+0x58> |
1208: 10 92 6a 05 sts 0x056A, r1 |
120c: 0e 94 9d 08 call 0x113a <new_line> |
1210: 0d c0 rjmp .+26 ; 0x122c <lcd_print+0x58> |
1212: 55 27 eor r21, r21 |
1214: 4a 30 cpi r20, 0x0A ; 10 |
1216: 51 05 cpc r21, r1 |
1218: 31 f0 breq .+12 ; 0x1226 <lcd_print+0x52> |
121a: 4d 30 cpi r20, 0x0D ; 13 |
121c: 51 05 cpc r21, r1 |
121e: 29 f4 brne .+10 ; 0x122a <lcd_print+0x56> |
1220: 10 92 6a 05 sts 0x056A, r1 |
1224: 02 c0 rjmp .+4 ; 0x122a <lcd_print+0x56> |
1226: 0e 94 9d 08 call 0x113a <new_line> |
122a: 21 96 adiw r28, 0x01 ; 1 |
122c: 88 81 ld r24, Y |
122e: 88 23 and r24, r24 |
1230: c9 f6 brne .-78 ; 0x11e4 <lcd_print+0x10> |
1232: df 91 pop r29 |
1234: cf 91 pop r28 |
1236: 1f 91 pop r17 |
1238: 08 95 ret |
0000123a <lcd_print_at>: |
} |
} |
} |
void lcd_print_at (uint8_t x, uint8_t y, uint8_t *text, uint8_t mode) |
{ |
lcd_xpos = x; |
123a: 80 93 6a 05 sts 0x056A, r24 |
lcd_ypos = y; |
123e: 60 93 6b 05 sts 0x056B, r22 |
lcd_print(text, mode); |
1242: 62 2f mov r22, r18 |
1244: ca 01 movw r24, r20 |
1246: 0e 94 ea 08 call 0x11d4 <lcd_print> |
124a: 08 95 ret |
0000124c <lcd_plot>: |
} |
// ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++ |
// + Plot (set one Pixel) |
// ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++ |
// mode: |
// 0=Clear, 1=Set, 2=XOR |
void lcd_plot (uint8_t xpos, uint8_t ypos, uint8_t mode) |
{ |
124c: 98 2f mov r25, r24 |
uint16_t adress; |
uint8_t mask; |
if ((xpos < 128) && (ypos < 64)) |
124e: 87 fd sbrc r24, 7 |
1250: 45 c0 rjmp .+138 ; 0x12dc <lcd_plot+0x90> |
1252: 60 34 cpi r22, 0x40 ; 64 |
1254: 08 f0 brcs .+2 ; 0x1258 <lcd_plot+0xc> |
1256: 42 c0 rjmp .+132 ; 0x12dc <lcd_plot+0x90> |
{ |
adress = (ypos/8) * 128 + xpos; // adress = 0/8 * 128 + 0 = 0 |
1258: 86 2f mov r24, r22 |
125a: 86 95 lsr r24 |
125c: 86 95 lsr r24 |
125e: 86 95 lsr r24 |
1260: a8 2f mov r26, r24 |
1262: bb 27 eor r27, r27 |
1264: b6 95 lsr r27 |
1266: ba 2f mov r27, r26 |
1268: aa 27 eor r26, r26 |
126a: b7 95 ror r27 |
126c: a7 95 ror r26 |
126e: a9 0f add r26, r25 |
1270: b1 1d adc r27, r1 |
mask = 1<<(ypos & 0x07); // mask = 1<<0 = 1 |
1272: 26 2f mov r18, r22 |
1274: 33 27 eor r19, r19 |
1276: 27 70 andi r18, 0x07 ; 7 |
1278: 30 70 andi r19, 0x00 ; 0 |
127a: 81 e0 ldi r24, 0x01 ; 1 |
127c: 90 e0 ldi r25, 0x00 ; 0 |
127e: 02 c0 rjmp .+4 ; 0x1284 <lcd_plot+0x38> |
1280: 88 0f add r24, r24 |
1282: 99 1f adc r25, r25 |
1284: 2a 95 dec r18 |
1286: e2 f7 brpl .-8 ; 0x1280 <lcd_plot+0x34> |
1288: 98 2f mov r25, r24 |
adress &= 0x3FF; |
128a: b3 70 andi r27, 0x03 ; 3 |
switch (mode) |
128c: 55 27 eor r21, r21 |
128e: 41 30 cpi r20, 0x01 ; 1 |
1290: 51 05 cpc r21, r1 |
1292: 89 f0 breq .+34 ; 0x12b6 <lcd_plot+0x6a> |
1294: 42 30 cpi r20, 0x02 ; 2 |
1296: 51 05 cpc r21, r1 |
1298: 1c f4 brge .+6 ; 0x12a0 <lcd_plot+0x54> |
129a: 45 2b or r20, r21 |
129c: 29 f0 breq .+10 ; 0x12a8 <lcd_plot+0x5c> |
129e: 17 c0 rjmp .+46 ; 0x12ce <lcd_plot+0x82> |
12a0: 42 30 cpi r20, 0x02 ; 2 |
12a2: 51 05 cpc r21, r1 |
12a4: 71 f0 breq .+28 ; 0x12c2 <lcd_plot+0x76> |
12a6: 13 c0 rjmp .+38 ; 0x12ce <lcd_plot+0x82> |
{ |
case 0: |
display_buffer[adress] &=~mask; |
12a8: fd 01 movw r30, r26 |
12aa: ee 59 subi r30, 0x9E ; 158 |
12ac: ff 4f sbci r31, 0xFF ; 255 |
12ae: 90 95 com r25 |
12b0: 80 81 ld r24, Z |
12b2: 89 23 and r24, r25 |
12b4: 0b c0 rjmp .+22 ; 0x12cc <lcd_plot+0x80> |
break; |
case 1: |
display_buffer[adress] |= mask; |
12b6: fd 01 movw r30, r26 |
12b8: ee 59 subi r30, 0x9E ; 158 |
12ba: ff 4f sbci r31, 0xFF ; 255 |
12bc: 80 81 ld r24, Z |
12be: 89 2b or r24, r25 |
12c0: 05 c0 rjmp .+10 ; 0x12cc <lcd_plot+0x80> |
break; |
case 2: |
display_buffer[adress] ^= mask; |
12c2: fd 01 movw r30, r26 |
12c4: ee 59 subi r30, 0x9E ; 158 |
12c6: ff 4f sbci r31, 0xFF ; 255 |
12c8: 80 81 ld r24, Z |
12ca: 89 27 eor r24, r25 |
12cc: 80 83 st Z, r24 |
break; |
} |
set_adress(adress,display_buffer[adress]); |
12ce: fd 01 movw r30, r26 |
12d0: ee 59 subi r30, 0x9E ; 158 |
12d2: ff 4f sbci r31, 0xFF ; 255 |
12d4: 60 81 ld r22, Z |
12d6: cd 01 movw r24, r26 |
12d8: 0e 94 91 07 call 0xf22 <set_adress> |
12dc: 08 95 ret |
000012de <lcd_line>: |
} |
} |
// ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++ |
// + Line (draws a line from x1,y1 to x2,y2 |
// + Based on Bresenham line-Algorithm |
// + found in the internet, modified by thkais 2007 |
// ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++ |
void lcd_line(unsigned char x1, unsigned char y1, unsigned char x2, unsigned char y2, uint8_t mode) |
{ |
12de: 2f 92 push r2 |
12e0: 3f 92 push r3 |
12e2: 4f 92 push r4 |
12e4: 5f 92 push r5 |
12e6: 6f 92 push r6 |
12e8: 7f 92 push r7 |
12ea: 8f 92 push r8 |
12ec: 9f 92 push r9 |
12ee: af 92 push r10 |
12f0: bf 92 push r11 |
12f2: cf 92 push r12 |
12f4: df 92 push r13 |
12f6: ef 92 push r14 |
12f8: ff 92 push r15 |
12fa: 0f 93 push r16 |
12fc: 1f 93 push r17 |
12fe: cf 93 push r28 |
1300: df 93 push r29 |
1302: cd b7 in r28, 0x3d ; 61 |
1304: de b7 in r29, 0x3e ; 62 |
1306: 23 97 sbiw r28, 0x03 ; 3 |
1308: 0f b6 in r0, 0x3f ; 63 |
130a: f8 94 cli |
130c: de bf out 0x3e, r29 ; 62 |
130e: 0f be out 0x3f, r0 ; 63 |
1310: cd bf out 0x3d, r28 ; 61 |
1312: 09 83 std Y+1, r16 ; 0x01 |
int x,y,count,xs,ys,xm,ym; |
x=(int)x1; |
1314: a8 2e mov r10, r24 |
1316: bb 24 eor r11, r11 |
y=(int)y1; |
1318: c6 2e mov r12, r22 |
131a: dd 24 eor r13, r13 |
xs=(int)x2 - (int)x1; |
131c: 64 2e mov r6, r20 |
131e: 77 24 eor r7, r7 |
1320: 73 01 movw r14, r6 |
1322: ea 18 sub r14, r10 |
1324: fb 08 sbc r15, r11 |
ys=(int)y2 - (int)y1; |
1326: 82 2e mov r8, r18 |
1328: 99 24 eor r9, r9 |
132a: 84 01 movw r16, r8 |
132c: 0c 19 sub r16, r12 |
132e: 1d 09 sbc r17, r13 |
if(xs < 0) |
1330: f7 fe sbrs r15, 7 |
1332: 04 c0 rjmp .+8 ; 0x133c <lcd_line+0x5e> |
xm= -1; |
1334: 7f ef ldi r23, 0xFF ; 255 |
1336: 27 2e mov r2, r23 |
1338: 37 2e mov r3, r23 |
133a: 09 c0 rjmp .+18 ; 0x134e <lcd_line+0x70> |
else |
if(xs > 0) |
133c: 1e 14 cp r1, r14 |
133e: 1f 04 cpc r1, r15 |
1340: 24 f4 brge .+8 ; 0x134a <lcd_line+0x6c> |
xm= 1; |
1342: 61 e0 ldi r22, 0x01 ; 1 |
1344: 26 2e mov r2, r22 |
1346: 31 2c mov r3, r1 |
1348: 02 c0 rjmp .+4 ; 0x134e <lcd_line+0x70> |
else |
xm= 0; |
134a: 22 24 eor r2, r2 |
134c: 33 24 eor r3, r3 |
if(ys < 0) |
134e: 17 ff sbrs r17, 7 |
1350: 04 c0 rjmp .+8 ; 0x135a <lcd_line+0x7c> |
ym= -1; |
1352: 5f ef ldi r21, 0xFF ; 255 |
1354: 45 2e mov r4, r21 |
1356: 55 2e mov r5, r21 |
1358: 09 c0 rjmp .+18 ; 0x136c <lcd_line+0x8e> |
else |
if(ys > 0) |
135a: 10 16 cp r1, r16 |
135c: 11 06 cpc r1, r17 |
135e: 24 f4 brge .+8 ; 0x1368 <lcd_line+0x8a> |
ym= 1; |
1360: 41 e0 ldi r20, 0x01 ; 1 |
1362: 44 2e mov r4, r20 |
1364: 51 2c mov r5, r1 |
1366: 02 c0 rjmp .+4 ; 0x136c <lcd_line+0x8e> |
else |
ym= 0; |
1368: 44 24 eor r4, r4 |
136a: 55 24 eor r5, r5 |
if(xs < 0) |
136c: f7 fe sbrs r15, 7 |
136e: 04 c0 rjmp .+8 ; 0x1378 <lcd_line+0x9a> |
xs= -xs; |
1370: f0 94 com r15 |
1372: e1 94 neg r14 |
1374: f1 08 sbc r15, r1 |
1376: f3 94 inc r15 |
if(ys < 0) |
1378: 17 ff sbrs r17, 7 |
137a: 03 c0 rjmp .+6 ; 0x1382 <lcd_line+0xa4> |
ys= -ys; |
137c: 10 95 com r17 |
137e: 01 95 neg r16 |
1380: 1f 4f sbci r17, 0xFF ; 255 |
lcd_plot((unsigned char)x, (unsigned char)y, mode); |
1382: 49 81 ldd r20, Y+1 ; 0x01 |
1384: 6c 2d mov r22, r12 |
1386: 8a 2d mov r24, r10 |
1388: 0e 94 26 09 call 0x124c <lcd_plot> |
if(xs > ys) // Flat Line <45 degrees |
138c: 0e 15 cp r16, r14 |
138e: 1f 05 cpc r17, r15 |
1390: 4c f5 brge .+82 ; 0x13e4 <lcd_line+0x106> |
{ |
count= -(xs / 2); |
1392: c7 01 movw r24, r14 |
1394: f7 fc sbrc r15, 7 |
1396: 01 96 adiw r24, 0x01 ; 1 |
1398: 95 95 asr r25 |
139a: 87 95 ror r24 |
139c: 22 27 eor r18, r18 |
139e: 33 27 eor r19, r19 |
13a0: 28 1b sub r18, r24 |
13a2: 39 0b sbc r19, r25 |
13a4: 3b 83 std Y+3, r19 ; 0x03 |
13a6: 2a 83 std Y+2, r18 ; 0x02 |
while(x != x2) |
{ |
count= count + ys; |
x= x + xm; |
if(count > 0) |
{ |
y= y + ym; |
count= count - xs; |
} |
lcd_plot((unsigned char)x, (unsigned char)y, mode); |
13a8: a6 14 cp r10, r6 |
13aa: b7 04 cpc r11, r7 |
13ac: 09 f4 brne .+2 ; 0x13b0 <lcd_line+0xd2> |
13ae: 41 c0 rjmp .+130 ; 0x1432 <lcd_line+0x154> |
13b0: 8a 81 ldd r24, Y+2 ; 0x02 |
13b2: 9b 81 ldd r25, Y+3 ; 0x03 |
13b4: 80 0f add r24, r16 |
13b6: 91 1f adc r25, r17 |
13b8: 9b 83 std Y+3, r25 ; 0x03 |
13ba: 8a 83 std Y+2, r24 ; 0x02 |
13bc: a2 0c add r10, r2 |
13be: b3 1c adc r11, r3 |
13c0: 18 16 cp r1, r24 |
13c2: 19 06 cpc r1, r25 |
13c4: 34 f4 brge .+12 ; 0x13d2 <lcd_line+0xf4> |
13c6: c4 0c add r12, r4 |
13c8: d5 1c adc r13, r5 |
13ca: 8e 19 sub r24, r14 |
13cc: 9f 09 sbc r25, r15 |
13ce: 9b 83 std Y+3, r25 ; 0x03 |
13d0: 8a 83 std Y+2, r24 ; 0x02 |
13d2: 49 81 ldd r20, Y+1 ; 0x01 |
13d4: 6c 2d mov r22, r12 |
13d6: 8a 2d mov r24, r10 |
13d8: 0e 94 26 09 call 0x124c <lcd_plot> |
13dc: a6 14 cp r10, r6 |
13de: b7 04 cpc r11, r7 |
13e0: 39 f7 brne .-50 ; 0x13b0 <lcd_line+0xd2> |
13e2: 27 c0 rjmp .+78 ; 0x1432 <lcd_line+0x154> |
} |
} |
else // Line >=45 degrees |
{ |
count=- (ys / 2); |
13e4: c8 01 movw r24, r16 |
13e6: 17 fd sbrc r17, 7 |
13e8: 01 96 adiw r24, 0x01 ; 1 |
13ea: 95 95 asr r25 |
13ec: 87 95 ror r24 |
13ee: ee 27 eor r30, r30 |
13f0: ff 27 eor r31, r31 |
13f2: e8 1b sub r30, r24 |
13f4: f9 0b sbc r31, r25 |
13f6: fb 83 std Y+3, r31 ; 0x03 |
13f8: ea 83 std Y+2, r30 ; 0x02 |
while(y != y2) |
{ |
count= count + xs; |
y= y + ym; |
if(count > 0) |
{ |
x= x + xm; |
count= count - ys; |
} |
lcd_plot((unsigned char)x, (unsigned char)y, mode); |
13fa: c8 14 cp r12, r8 |
13fc: d9 04 cpc r13, r9 |
13fe: c9 f0 breq .+50 ; 0x1432 <lcd_line+0x154> |
1400: 2a 81 ldd r18, Y+2 ; 0x02 |
1402: 3b 81 ldd r19, Y+3 ; 0x03 |
1404: 2e 0d add r18, r14 |
1406: 3f 1d adc r19, r15 |
1408: 3b 83 std Y+3, r19 ; 0x03 |
140a: 2a 83 std Y+2, r18 ; 0x02 |
140c: c4 0c add r12, r4 |
140e: d5 1c adc r13, r5 |
1410: 12 16 cp r1, r18 |
1412: 13 06 cpc r1, r19 |
1414: 34 f4 brge .+12 ; 0x1422 <lcd_line+0x144> |
1416: a2 0c add r10, r2 |
1418: b3 1c adc r11, r3 |
141a: 20 1b sub r18, r16 |
141c: 31 0b sbc r19, r17 |
141e: 3b 83 std Y+3, r19 ; 0x03 |
1420: 2a 83 std Y+2, r18 ; 0x02 |
1422: 49 81 ldd r20, Y+1 ; 0x01 |
1424: 6c 2d mov r22, r12 |
1426: 8a 2d mov r24, r10 |
1428: 0e 94 26 09 call 0x124c <lcd_plot> |
142c: c8 14 cp r12, r8 |
142e: d9 04 cpc r13, r9 |
1430: 39 f7 brne .-50 ; 0x1400 <lcd_line+0x122> |
1432: 23 96 adiw r28, 0x03 ; 3 |
1434: 0f b6 in r0, 0x3f ; 63 |
1436: f8 94 cli |
1438: de bf out 0x3e, r29 ; 62 |
143a: 0f be out 0x3f, r0 ; 63 |
143c: cd bf out 0x3d, r28 ; 61 |
143e: df 91 pop r29 |
1440: cf 91 pop r28 |
1442: 1f 91 pop r17 |
1444: 0f 91 pop r16 |
1446: ff 90 pop r15 |
1448: ef 90 pop r14 |
144a: df 90 pop r13 |
144c: cf 90 pop r12 |
144e: bf 90 pop r11 |
1450: af 90 pop r10 |
1452: 9f 90 pop r9 |
1454: 8f 90 pop r8 |
1456: 7f 90 pop r7 |
1458: 6f 90 pop r6 |
145a: 5f 90 pop r5 |
145c: 4f 90 pop r4 |
145e: 3f 90 pop r3 |
1460: 2f 90 pop r2 |
1462: 08 95 ret |
00001464 <lcd_frect>: |
} |
} |
} |
// ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++ |
// + Filled rectangle |
// + x1, y1 = upper left corner |
// ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++ |
void lcd_frect (uint8_t x1, uint8_t y1, uint8_t widthx, uint8_t widthy, uint8_t mode) |
{ |
1464: bf 92 push r11 |
1466: cf 92 push r12 |
1468: df 92 push r13 |
146a: ef 92 push r14 |
146c: ff 92 push r15 |
146e: 0f 93 push r16 |
1470: 1f 93 push r17 |
1472: cf 93 push r28 |
1474: df 93 push r29 |
1476: 18 2f mov r17, r24 |
1478: 82 2f mov r24, r18 |
147a: b0 2e mov r11, r16 |
uint16_t x2, y2; |
uint16_t i; |
if (x1 >= DISP_W) |
147c: 17 fd sbrc r17, 7 |
x1 = DISP_W - 1; |
147e: 1f e7 ldi r17, 0x7F ; 127 |
if (y1 >= DISP_H) |
1480: 60 34 cpi r22, 0x40 ; 64 |
1482: 08 f0 brcs .+2 ; 0x1486 <lcd_frect+0x22> |
y1 = DISP_H - 1; |
1484: 6f e3 ldi r22, 0x3F ; 63 |
x2 = x1 + widthx; |
1486: 21 2f mov r18, r17 |
1488: 24 0f add r18, r20 |
148a: 31 2d mov r19, r1 |
148c: 31 1d adc r19, r1 |
148e: 69 01 movw r12, r18 |
y2 = y1 + widthy; |
1490: 26 2f mov r18, r22 |
1492: 33 27 eor r19, r19 |
1494: 79 01 movw r14, r18 |
1496: e8 0e add r14, r24 |
1498: f1 1c adc r15, r1 |
if (x2 > DISP_W) |
149a: 81 e8 ldi r24, 0x81 ; 129 |
149c: c8 16 cp r12, r24 |
149e: d1 04 cpc r13, r1 |
14a0: 18 f0 brcs .+6 ; 0x14a8 <lcd_frect+0x44> |
x2 = DISP_W; |
14a2: f0 e8 ldi r31, 0x80 ; 128 |
14a4: cf 2e mov r12, r31 |
14a6: d1 2c mov r13, r1 |
if (y2 > DISP_H) |
14a8: 81 e4 ldi r24, 0x41 ; 65 |
14aa: e8 16 cp r14, r24 |
14ac: f1 04 cpc r15, r1 |
14ae: 18 f0 brcs .+6 ; 0x14b6 <lcd_frect+0x52> |
y2 = DISP_H; |
14b0: e0 e4 ldi r30, 0x40 ; 64 |
14b2: ee 2e mov r14, r30 |
14b4: f1 2c mov r15, r1 |
for (i=y1;i<=y2;i++) |
14b6: e9 01 movw r28, r18 |
14b8: e2 16 cp r14, r18 |
14ba: f3 06 cpc r15, r19 |
14bc: 58 f0 brcs .+22 ; 0x14d4 <lcd_frect+0x70> |
{ |
lcd_line(x1,i,x2,i,mode); |
14be: 0b 2d mov r16, r11 |
14c0: 2c 2f mov r18, r28 |
14c2: 4c 2d mov r20, r12 |
14c4: 6c 2f mov r22, r28 |
14c6: 81 2f mov r24, r17 |
14c8: 0e 94 6f 09 call 0x12de <lcd_line> |
14cc: 21 96 adiw r28, 0x01 ; 1 |
14ce: ec 16 cp r14, r28 |
14d0: fd 06 cpc r15, r29 |
14d2: a8 f7 brcc .-22 ; 0x14be <lcd_frect+0x5a> |
14d4: df 91 pop r29 |
14d6: cf 91 pop r28 |
14d8: 1f 91 pop r17 |
14da: 0f 91 pop r16 |
14dc: ff 90 pop r15 |
14de: ef 90 pop r14 |
14e0: df 90 pop r13 |
14e2: cf 90 pop r12 |
14e4: bf 90 pop r11 |
14e6: 08 95 ret |
000014e8 <lcd_rect>: |
} |
} |
// ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++ |
// + outline of rectangle |
// + x1, y1 = upper left corner |
// ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++ |
void lcd_rect (uint8_t x1, uint8_t y1, uint8_t widthx, uint8_t widthy, uint8_t mode) |
{ |
14e8: cf 92 push r12 |
14ea: df 92 push r13 |
14ec: ef 92 push r14 |
14ee: ff 92 push r15 |
14f0: 0f 93 push r16 |
14f2: 1f 93 push r17 |
14f4: cf 93 push r28 |
14f6: df 93 push r29 |
14f8: d8 2e mov r13, r24 |
14fa: 16 2f mov r17, r22 |
14fc: c0 2e mov r12, r16 |
uint16_t x2, y2; |
if (x1 >= DISP_W) |
14fe: 87 ff sbrs r24, 7 |
1500: 02 c0 rjmp .+4 ; 0x1506 <lcd_rect+0x1e> |
x1 = DISP_W - 1; |
1502: bf e7 ldi r27, 0x7F ; 127 |
1504: db 2e mov r13, r27 |
if (y1 >= DISP_H) |
1506: 10 34 cpi r17, 0x40 ; 64 |
1508: 08 f0 brcs .+2 ; 0x150c <lcd_rect+0x24> |
y1 = DISP_H - 1; |
150a: 1f e3 ldi r17, 0x3F ; 63 |
x2 = x1 + widthx; |
150c: 8d 2d mov r24, r13 |
150e: 84 0f add r24, r20 |
1510: 91 2d mov r25, r1 |
1512: 91 1d adc r25, r1 |
1514: ec 01 movw r28, r24 |
y2 = y1 + widthy; |
1516: 81 2f mov r24, r17 |
1518: 82 0f add r24, r18 |
151a: 91 2d mov r25, r1 |
151c: 91 1d adc r25, r1 |
151e: 7c 01 movw r14, r24 |
if (x2 > DISP_W) |
1520: c1 38 cpi r28, 0x81 ; 129 |
1522: d1 05 cpc r29, r1 |
1524: 10 f0 brcs .+4 ; 0x152a <lcd_rect+0x42> |
x2 = DISP_W; |
1526: c0 e8 ldi r28, 0x80 ; 128 |
1528: d0 e0 ldi r29, 0x00 ; 0 |
if (y2 > DISP_H) |
152a: 91 e4 ldi r25, 0x41 ; 65 |
152c: e9 16 cp r14, r25 |
152e: f1 04 cpc r15, r1 |
1530: 18 f0 brcs .+6 ; 0x1538 <lcd_rect+0x50> |
y2 = DISP_H; |
1532: a0 e4 ldi r26, 0x40 ; 64 |
1534: ea 2e mov r14, r26 |
1536: f1 2c mov r15, r1 |
lcd_line (x1, y1, x2, y1, mode); |
1538: 0c 2d mov r16, r12 |
153a: 21 2f mov r18, r17 |
153c: 4c 2f mov r20, r28 |
153e: 61 2f mov r22, r17 |
1540: 8d 2d mov r24, r13 |
1542: 0e 94 6f 09 call 0x12de <lcd_line> |
lcd_line (x2, y1, x2, y2, mode); |
1546: 2e 2d mov r18, r14 |
1548: 4c 2f mov r20, r28 |
154a: 61 2f mov r22, r17 |
154c: 8c 2f mov r24, r28 |
154e: 0e 94 6f 09 call 0x12de <lcd_line> |
lcd_line (x2, y2, x1, y2, mode); |
1552: 2e 2d mov r18, r14 |
1554: 4d 2d mov r20, r13 |
1556: 6e 2d mov r22, r14 |
1558: 8c 2f mov r24, r28 |
155a: 0e 94 6f 09 call 0x12de <lcd_line> |
lcd_line (x1, y2, x1, y1, mode); |
155e: 21 2f mov r18, r17 |
1560: 4d 2d mov r20, r13 |
1562: 6e 2d mov r22, r14 |
1564: 8d 2d mov r24, r13 |
1566: 0e 94 6f 09 call 0x12de <lcd_line> |
156a: df 91 pop r29 |
156c: cf 91 pop r28 |
156e: 1f 91 pop r17 |
1570: 0f 91 pop r16 |
1572: ff 90 pop r15 |
1574: ef 90 pop r14 |
1576: df 90 pop r13 |
1578: cf 90 pop r12 |
157a: 08 95 ret |
0000157c <draw_circle>: |
} |
// ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++ |
// + outline of a circle |
// + Based on Bresenham-algorithm found in wikipedia |
// + modified by thkais (2007) |
// ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++ |
void draw_circle(int16_t x0, int16_t y0, int16_t radius, uint8_t mode) |
{ |
157c: 2f 92 push r2 |
157e: 3f 92 push r3 |
1580: 4f 92 push r4 |
1582: 5f 92 push r5 |
1584: 6f 92 push r6 |
1586: 7f 92 push r7 |
1588: 8f 92 push r8 |
158a: 9f 92 push r9 |
158c: af 92 push r10 |
158e: bf 92 push r11 |
1590: cf 92 push r12 |
1592: df 92 push r13 |
1594: ef 92 push r14 |
1596: ff 92 push r15 |
1598: 0f 93 push r16 |
159a: 1f 93 push r17 |
159c: cf 93 push r28 |
159e: df 93 push r29 |
15a0: 5c 01 movw r10, r24 |
15a2: 6b 01 movw r12, r22 |
15a4: e2 2e mov r14, r18 |
int16_t f = 1 - radius; |
15a6: c1 e0 ldi r28, 0x01 ; 1 |
15a8: 8c 2e mov r8, r28 |
15aa: 91 2c mov r9, r1 |
15ac: 84 1a sub r8, r20 |
15ae: 95 0a sbc r9, r21 |
int16_t ddF_x = 0; |
15b0: 22 24 eor r2, r2 |
15b2: 33 24 eor r3, r3 |
int16_t ddF_y = -2 * radius; |
15b4: 8e ef ldi r24, 0xFE ; 254 |
15b6: 9f ef ldi r25, 0xFF ; 255 |
15b8: 48 9f mul r20, r24 |
15ba: 20 01 movw r4, r0 |
15bc: 49 9f mul r20, r25 |
15be: 50 0c add r5, r0 |
15c0: 58 9f mul r21, r24 |
15c2: 50 0c add r5, r0 |
15c4: 11 24 eor r1, r1 |
int16_t x = 0; |
15c6: 31 01 movw r6, r2 |
int16_t y = radius; |
15c8: ea 01 movw r28, r20 |
lcd_plot(x0, y0 + radius, mode); |
15ca: 86 2f mov r24, r22 |
15cc: 84 0f add r24, r20 |
15ce: 42 2f mov r20, r18 |
15d0: 68 2f mov r22, r24 |
15d2: 8a 2d mov r24, r10 |
15d4: 0e 94 26 09 call 0x124c <lcd_plot> |
lcd_plot(x0, y0 - radius, mode); |
15d8: 8c 2d mov r24, r12 |
15da: 8c 1b sub r24, r28 |
15dc: 4e 2d mov r20, r14 |
15de: 68 2f mov r22, r24 |
15e0: 8a 2d mov r24, r10 |
15e2: 0e 94 26 09 call 0x124c <lcd_plot> |
lcd_plot(x0 + radius, y0, mode); |
15e6: 4e 2d mov r20, r14 |
15e8: 6c 2d mov r22, r12 |
15ea: 8a 2d mov r24, r10 |
15ec: 8c 0f add r24, r28 |
15ee: 0e 94 26 09 call 0x124c <lcd_plot> |
lcd_plot(x0 - radius, y0, mode); |
15f2: 4e 2d mov r20, r14 |
15f4: 6c 2d mov r22, r12 |
15f6: 8a 2d mov r24, r10 |
15f8: 8c 1b sub r24, r28 |
15fa: 0e 94 26 09 call 0x124c <lcd_plot> |
while(x < y) |
{ |
if(f >= 0) |
{ |
y --; |
ddF_y += 2; |
f += ddF_y; |
} |
x ++; |
ddF_x += 2; |
f += ddF_x + 1; |
lcd_plot(x0 + x, y0 + y, mode); |
lcd_plot(x0 - x, y0 + y, mode); |
lcd_plot(x0 + x, y0 - y, mode); |
lcd_plot(x0 - x, y0 - y, mode); |
lcd_plot(x0 + y, y0 + x, mode); |
lcd_plot(x0 - y, y0 + x, mode); |
lcd_plot(x0 + y, y0 - x, mode); |
lcd_plot(x0 - y, y0 - x, mode); |
15fe: 2c 16 cp r2, r28 |
1600: 3d 06 cpc r3, r29 |
1602: 0c f0 brlt .+2 ; 0x1606 <draw_circle+0x8a> |
1604: 51 c0 rjmp .+162 ; 0x16a8 <draw_circle+0x12c> |
1606: 97 fc sbrc r9, 7 |
1608: 07 c0 rjmp .+14 ; 0x1618 <draw_circle+0x9c> |
160a: 21 97 sbiw r28, 0x01 ; 1 |
160c: 82 e0 ldi r24, 0x02 ; 2 |
160e: 90 e0 ldi r25, 0x00 ; 0 |
1610: 48 0e add r4, r24 |
1612: 59 1e adc r5, r25 |
1614: 84 0c add r8, r4 |
1616: 95 1c adc r9, r5 |
1618: 08 94 sec |
161a: 61 1c adc r6, r1 |
161c: 71 1c adc r7, r1 |
161e: 82 e0 ldi r24, 0x02 ; 2 |
1620: 90 e0 ldi r25, 0x00 ; 0 |
1622: 28 0e add r2, r24 |
1624: 39 1e adc r3, r25 |
1626: 82 0c add r8, r2 |
1628: 93 1c adc r9, r3 |
162a: 08 94 sec |
162c: 81 1c adc r8, r1 |
162e: 91 1c adc r9, r1 |
1630: 1c 2d mov r17, r12 |
1632: 1c 0f add r17, r28 |
1634: fa 2c mov r15, r10 |
1636: f6 0c add r15, r6 |
1638: 4e 2d mov r20, r14 |
163a: 61 2f mov r22, r17 |
163c: 8f 2d mov r24, r15 |
163e: 0e 94 26 09 call 0x124c <lcd_plot> |
1642: 0a 2d mov r16, r10 |
1644: 06 19 sub r16, r6 |
1646: 4e 2d mov r20, r14 |
1648: 61 2f mov r22, r17 |
164a: 80 2f mov r24, r16 |
164c: 0e 94 26 09 call 0x124c <lcd_plot> |
1650: 1c 2d mov r17, r12 |
1652: 1c 1b sub r17, r28 |
1654: 4e 2d mov r20, r14 |
1656: 61 2f mov r22, r17 |
1658: 8f 2d mov r24, r15 |
165a: 0e 94 26 09 call 0x124c <lcd_plot> |
165e: 4e 2d mov r20, r14 |
1660: 61 2f mov r22, r17 |
1662: 80 2f mov r24, r16 |
1664: 0e 94 26 09 call 0x124c <lcd_plot> |
1668: 1c 2d mov r17, r12 |
166a: 16 0d add r17, r6 |
166c: fa 2c mov r15, r10 |
166e: fc 0e add r15, r28 |
1670: 4e 2d mov r20, r14 |
1672: 61 2f mov r22, r17 |
1674: 8f 2d mov r24, r15 |
1676: 0e 94 26 09 call 0x124c <lcd_plot> |
167a: 0a 2d mov r16, r10 |
167c: 0c 1b sub r16, r28 |
167e: 4e 2d mov r20, r14 |
1680: 61 2f mov r22, r17 |
1682: 80 2f mov r24, r16 |
1684: 0e 94 26 09 call 0x124c <lcd_plot> |
1688: 1c 2d mov r17, r12 |
168a: 16 19 sub r17, r6 |
168c: 4e 2d mov r20, r14 |
168e: 61 2f mov r22, r17 |
1690: 8f 2d mov r24, r15 |
1692: 0e 94 26 09 call 0x124c <lcd_plot> |
1696: 4e 2d mov r20, r14 |
1698: 61 2f mov r22, r17 |
169a: 80 2f mov r24, r16 |
169c: 0e 94 26 09 call 0x124c <lcd_plot> |
16a0: 6c 16 cp r6, r28 |
16a2: 7d 06 cpc r7, r29 |
16a4: 0c f4 brge .+2 ; 0x16a8 <draw_circle+0x12c> |
16a6: af cf rjmp .-162 ; 0x1606 <draw_circle+0x8a> |
16a8: df 91 pop r29 |
16aa: cf 91 pop r28 |
16ac: 1f 91 pop r17 |
16ae: 0f 91 pop r16 |
16b0: ff 90 pop r15 |
16b2: ef 90 pop r14 |
16b4: df 90 pop r13 |
16b6: cf 90 pop r12 |
16b8: bf 90 pop r11 |
16ba: af 90 pop r10 |
16bc: 9f 90 pop r9 |
16be: 8f 90 pop r8 |
16c0: 7f 90 pop r7 |
16c2: 6f 90 pop r6 |
16c4: 5f 90 pop r5 |
16c6: 4f 90 pop r4 |
16c8: 3f 90 pop r3 |
16ca: 2f 90 pop r2 |
16cc: 08 95 ret |
000016ce <draw_fcircle>: |
} |
} |
// ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++ |
// + filled Circle |
// + modified circle-algorithm thkais (2007) |
// ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++ |
void draw_fcircle(int16_t x0, int16_t y0, int16_t radius) |
{ |
16ce: 2f 92 push r2 |
16d0: 3f 92 push r3 |
16d2: 4f 92 push r4 |
16d4: 5f 92 push r5 |
16d6: 6f 92 push r6 |
16d8: 7f 92 push r7 |
16da: 8f 92 push r8 |
16dc: 9f 92 push r9 |
16de: af 92 push r10 |
16e0: bf 92 push r11 |
16e2: cf 92 push r12 |
16e4: df 92 push r13 |
16e6: ff 92 push r15 |
16e8: 0f 93 push r16 |
16ea: 1f 93 push r17 |
16ec: cf 93 push r28 |
16ee: df 93 push r29 |
16f0: 5c 01 movw r10, r24 |
16f2: 6b 01 movw r12, r22 |
int16_t f = 1 - radius; |
16f4: 11 e0 ldi r17, 0x01 ; 1 |
16f6: 61 2e mov r6, r17 |
16f8: 71 2c mov r7, r1 |
16fa: 64 1a sub r6, r20 |
16fc: 75 0a sbc r7, r21 |
int16_t ddF_x = 0; |
16fe: 22 24 eor r2, r2 |
1700: 33 24 eor r3, r3 |
int16_t ddF_y = -2 * radius; |
1702: 8e ef ldi r24, 0xFE ; 254 |
1704: 9f ef ldi r25, 0xFF ; 255 |
1706: 48 9f mul r20, r24 |
1708: 20 01 movw r4, r0 |
170a: 49 9f mul r20, r25 |
170c: 50 0c add r5, r0 |
170e: 58 9f mul r21, r24 |
1710: 50 0c add r5, r0 |
1712: 11 24 eor r1, r1 |
int16_t x = 0; |
1714: 41 01 movw r8, r2 |
int16_t y = radius; |
1716: ea 01 movw r28, r20 |
lcd_line(x0, y0 + radius,x0, y0 - radius,1); |
1718: 86 2f mov r24, r22 |
171a: 84 1b sub r24, r20 |
171c: 96 2f mov r25, r22 |
171e: 94 0f add r25, r20 |
1720: 01 e0 ldi r16, 0x01 ; 1 |
1722: 28 2f mov r18, r24 |
1724: 4a 2d mov r20, r10 |
1726: 69 2f mov r22, r25 |
1728: 8a 2d mov r24, r10 |
172a: 0e 94 6f 09 call 0x12de <lcd_line> |
lcd_line(x0 + radius, y0,x0 - radius, y0,1); |
172e: 8a 2d mov r24, r10 |
1730: 8c 1b sub r24, r28 |
1732: 2c 2d mov r18, r12 |
1734: 48 2f mov r20, r24 |
1736: 6c 2d mov r22, r12 |
1738: 8a 2d mov r24, r10 |
173a: 8c 0f add r24, r28 |
173c: 0e 94 6f 09 call 0x12de <lcd_line> |
while(x < y) |
{ |
if(f >= 0) |
{ |
y--; |
ddF_y += 2; |
f += ddF_y; |
} |
x++; |
ddF_x += 2; |
f += ddF_x + 1; |
lcd_line(x0 + x, y0 + y,x0 - x, y0 + y,1); |
lcd_line(x0 + x, y0 - y,x0 - x, y0 - y,1); |
lcd_line(x0 + y, y0 + x,x0 - y, y0 + x,1); |
lcd_line(x0 + y, y0 - x,x0 - y, y0 - x,1); |
1740: 2c 16 cp r2, r28 |
1742: 3d 06 cpc r3, r29 |
1744: 0c f0 brlt .+2 ; 0x1748 <draw_fcircle+0x7a> |
1746: 42 c0 rjmp .+132 ; 0x17cc <draw_fcircle+0xfe> |
1748: 77 fc sbrc r7, 7 |
174a: 07 c0 rjmp .+14 ; 0x175a <draw_fcircle+0x8c> |
174c: 21 97 sbiw r28, 0x01 ; 1 |
174e: 82 e0 ldi r24, 0x02 ; 2 |
1750: 90 e0 ldi r25, 0x00 ; 0 |
1752: 48 0e add r4, r24 |
1754: 59 1e adc r5, r25 |
1756: 64 0c add r6, r4 |
1758: 75 1c adc r7, r5 |
175a: 08 94 sec |
175c: 81 1c adc r8, r1 |
175e: 91 1c adc r9, r1 |
1760: 82 e0 ldi r24, 0x02 ; 2 |
1762: 90 e0 ldi r25, 0x00 ; 0 |
1764: 28 0e add r2, r24 |
1766: 39 1e adc r3, r25 |
1768: 62 0c add r6, r2 |
176a: 73 1c adc r7, r3 |
176c: 08 94 sec |
176e: 61 1c adc r6, r1 |
1770: 71 1c adc r7, r1 |
1772: 8c 2d mov r24, r12 |
1774: 8c 0f add r24, r28 |
1776: 1a 2d mov r17, r10 |
1778: 18 19 sub r17, r8 |
177a: fa 2c mov r15, r10 |
177c: f8 0c add r15, r8 |
177e: 01 e0 ldi r16, 0x01 ; 1 |
1780: 28 2f mov r18, r24 |
1782: 41 2f mov r20, r17 |
1784: 68 2f mov r22, r24 |
1786: 8f 2d mov r24, r15 |
1788: 0e 94 6f 09 call 0x12de <lcd_line> |
178c: 8c 2d mov r24, r12 |
178e: 8c 1b sub r24, r28 |
1790: 28 2f mov r18, r24 |
1792: 41 2f mov r20, r17 |
1794: 68 2f mov r22, r24 |
1796: 8f 2d mov r24, r15 |
1798: 0e 94 6f 09 call 0x12de <lcd_line> |
179c: 8c 2d mov r24, r12 |
179e: 88 0d add r24, r8 |
17a0: 1a 2d mov r17, r10 |
17a2: 1c 1b sub r17, r28 |
17a4: fa 2c mov r15, r10 |
17a6: fc 0e add r15, r28 |
17a8: 28 2f mov r18, r24 |
17aa: 41 2f mov r20, r17 |
17ac: 68 2f mov r22, r24 |
17ae: 8f 2d mov r24, r15 |
17b0: 0e 94 6f 09 call 0x12de <lcd_line> |
17b4: 8c 2d mov r24, r12 |
17b6: 88 19 sub r24, r8 |
17b8: 28 2f mov r18, r24 |
17ba: 41 2f mov r20, r17 |
17bc: 68 2f mov r22, r24 |
17be: 8f 2d mov r24, r15 |
17c0: 0e 94 6f 09 call 0x12de <lcd_line> |
17c4: 8c 16 cp r8, r28 |
17c6: 9d 06 cpc r9, r29 |
17c8: 0c f4 brge .+2 ; 0x17cc <draw_fcircle+0xfe> |
17ca: be cf rjmp .-132 ; 0x1748 <draw_fcircle+0x7a> |
17cc: df 91 pop r29 |
17ce: cf 91 pop r28 |
17d0: 1f 91 pop r17 |
17d2: 0f 91 pop r16 |
17d4: ff 90 pop r15 |
17d6: df 90 pop r13 |
17d8: cf 90 pop r12 |
17da: bf 90 pop r11 |
17dc: af 90 pop r10 |
17de: 9f 90 pop r9 |
17e0: 8f 90 pop r8 |
17e2: 7f 90 pop r7 |
17e4: 6f 90 pop r6 |
17e6: 5f 90 pop r5 |
17e8: 4f 90 pop r4 |
17ea: 3f 90 pop r3 |
17ec: 2f 90 pop r2 |
17ee: 08 95 ret |
000017f0 <__vector_13>: |
volatile uint8_t read_index, write_index; |
volatile uint8_t rs232_buffer[16]; |
ISR(USART_RXC_vect) |
{ |
17f0: 1f 92 push r1 |
17f2: 0f 92 push r0 |
17f4: 0f b6 in r0, 0x3f ; 63 |
17f6: 0f 92 push r0 |
17f8: 11 24 eor r1, r1 |
17fa: 8f 93 push r24 |
17fc: 9f 93 push r25 |
17fe: ef 93 push r30 |
1800: ff 93 push r31 |
rs232_buffer[write_index++] = UDR; |
1802: 90 91 6c 05 lds r25, 0x056C |
1806: ee e6 ldi r30, 0x6E ; 110 |
1808: f5 e0 ldi r31, 0x05 ; 5 |
180a: e9 0f add r30, r25 |
180c: f1 1d adc r31, r1 |
180e: 8c b1 in r24, 0x0c ; 12 |
1810: 80 83 st Z, r24 |
1812: 9f 5f subi r25, 0xFF ; 255 |
1814: 90 93 6c 05 sts 0x056C, r25 |
write_index &= 15; |
1818: 80 91 6c 05 lds r24, 0x056C |
181c: 8f 70 andi r24, 0x0F ; 15 |
181e: 80 93 6c 05 sts 0x056C, r24 |
1822: ff 91 pop r31 |
1824: ef 91 pop r30 |
1826: 9f 91 pop r25 |
1828: 8f 91 pop r24 |
182a: 0f 90 pop r0 |
182c: 0f be out 0x3f, r0 ; 63 |
182e: 0f 90 pop r0 |
1830: 1f 90 pop r1 |
1832: 18 95 reti |
00001834 <RS232_init>: |
} |
void RS232_init (void) |
{ |
UCSRB = (1<<RXEN)|(1<<TXEN)|(1<<RXCIE); |
1834: 88 e9 ldi r24, 0x98 ; 152 |
1836: 8a b9 out 0x0a, r24 ; 10 |
UBRRL = 7; // 57600 Baud @ 7,372800 MHz |
1838: 87 e0 ldi r24, 0x07 ; 7 |
183a: 89 b9 out 0x09, r24 ; 9 |
183c: 08 95 ret |
0000183e <RS232_get>: |
} |
uint8_t RS232_get (void) |
{ |
uint8_t c; |
rs232_timer = 10; |
183e: 8a e0 ldi r24, 0x0A ; 10 |
1840: 80 93 e5 04 sts 0x04E5, r24 |
while ((read_index == write_index) && (rs232_timer > 0)); |
1844: 90 91 6d 05 lds r25, 0x056D |
1848: 80 91 6c 05 lds r24, 0x056C |
184c: 98 17 cp r25, r24 |
184e: 21 f4 brne .+8 ; 0x1858 <RS232_get+0x1a> |
1850: 80 91 e5 04 lds r24, 0x04E5 |
1854: 88 23 and r24, r24 |
1856: b1 f7 brne .-20 ; 0x1844 <RS232_get+0x6> |
if (rs232_timer != 0) |
1858: 80 91 e5 04 lds r24, 0x04E5 |
185c: 88 23 and r24, r24 |
185e: 81 f0 breq .+32 ; 0x1880 <RS232_get+0x42> |
{ |
c = rs232_buffer[read_index++]; |
1860: 80 91 6d 05 lds r24, 0x056D |
1864: e8 2f mov r30, r24 |
1866: ff 27 eor r31, r31 |
1868: e2 59 subi r30, 0x92 ; 146 |
186a: fa 4f sbci r31, 0xFA ; 250 |
186c: 8f 5f subi r24, 0xFF ; 255 |
186e: 80 93 6d 05 sts 0x056D, r24 |
1872: e0 81 ld r30, Z |
read_index &= 15; |
1874: 80 91 6d 05 lds r24, 0x056D |
1878: 8f 70 andi r24, 0x0F ; 15 |
187a: 80 93 6d 05 sts 0x056D, r24 |
187e: 01 c0 rjmp .+2 ; 0x1882 <RS232_get+0x44> |
} |
else |
{ |
c=0; |
1880: e8 2f mov r30, r24 |
} |
return c; |
} |
1882: 8e 2f mov r24, r30 |
1884: 99 27 eor r25, r25 |
1886: 08 95 ret |
00001888 <RS232_send>: |
void RS232_send (uint8_t data) |
{ |
while ((UCSRA & (1<<UDRE)) == 0); |
1888: 5d 9b sbis 0x0b, 5 ; 11 |
188a: fe cf rjmp .-4 ; 0x1888 <RS232_send> |
UDR = data; |
188c: 8c b9 out 0x0c, r24 ; 12 |
188e: 08 95 ret |
00001890 <RS232_text>: |
} |
void RS232_text (uint8_t *text) |
{ |
1890: cf 93 push r28 |
1892: df 93 push r29 |
1894: ec 01 movw r28, r24 |
while (*text) |
{ |
RS232_send(*text); |
text++; |
1896: 88 81 ld r24, Y |
1898: 88 23 and r24, r24 |
189a: 31 f0 breq .+12 ; 0x18a8 <RS232_text+0x18> |
189c: 89 91 ld r24, Y+ |
189e: 0e 94 44 0c call 0x1888 <RS232_send> |
18a2: 88 81 ld r24, Y |
18a4: 88 23 and r24, r24 |
18a6: d1 f7 brne .-12 ; 0x189c <RS232_text+0xc> |
18a8: df 91 pop r29 |
18aa: cf 91 pop r28 |
18ac: 08 95 ret |
000018ae <base64_decode>: |
} |
uint8_t base64_decode(uint8_t number) // Wandelt die base64-Rohdaten in lesbare Daten um |
{ |
18ae: a8 2f mov r26, r24 |
uint8_t p,q; |
uint8_t a,b,c,d; |
p = 2; |
18b0: 62 e0 ldi r22, 0x02 ; 2 |
q = 0; |
18b2: 70 e0 ldi r23, 0x00 ; 0 |
while (p < number) |
{ |
a = r_buffer[p + 0] - 61; |
b = r_buffer[p + 1] - 61; |
c = r_buffer[p + 2] - 61; |
d = r_buffer[p + 3] - 61; |
p += 4; |
p_buffer[q + 0] = (a << 2) | (b >> 4); // gespeichert werden die Daten in p_buffer |
p_buffer[q + 1] = ((b & 0x0F) << 4) | (c >> 2); |
p_buffer[q + 2] = ((c & 0x03) << 6) | d; |
q += 3; |
18b4: 6a 17 cp r22, r26 |
18b6: b0 f5 brcc .+108 ; 0x1924 <base64_decode+0x76> |
18b8: e6 2f mov r30, r22 |
18ba: ff 27 eor r31, r31 |
18bc: e7 51 subi r30, 0x17 ; 23 |
18be: fb 4f sbci r31, 0xFB ; 251 |
18c0: 80 81 ld r24, Z |
18c2: 8d 53 subi r24, 0x3D ; 61 |
18c4: 31 81 ldd r19, Z+1 ; 0x01 |
18c6: 3d 53 subi r19, 0x3D ; 61 |
18c8: 52 81 ldd r21, Z+2 ; 0x02 |
18ca: 5d 53 subi r21, 0x3D ; 61 |
18cc: 43 81 ldd r20, Z+3 ; 0x03 |
18ce: 4d 53 subi r20, 0x3D ; 61 |
18d0: 6c 5f subi r22, 0xFC ; 252 |
18d2: e7 2f mov r30, r23 |
18d4: ff 27 eor r31, r31 |
18d6: ed 59 subi r30, 0x9D ; 157 |
18d8: fb 4f sbci r31, 0xFB ; 251 |
18da: 99 27 eor r25, r25 |
18dc: 88 0f add r24, r24 |
18de: 99 1f adc r25, r25 |
18e0: 88 0f add r24, r24 |
18e2: 99 1f adc r25, r25 |
18e4: 23 2f mov r18, r19 |
18e6: 22 95 swap r18 |
18e8: 2f 70 andi r18, 0x0F ; 15 |
18ea: 28 2b or r18, r24 |
18ec: 20 83 st Z, r18 |
18ee: 83 2f mov r24, r19 |
18f0: 99 27 eor r25, r25 |
18f2: 8f 70 andi r24, 0x0F ; 15 |
18f4: 90 70 andi r25, 0x00 ; 0 |
18f6: 34 e0 ldi r19, 0x04 ; 4 |
18f8: 88 0f add r24, r24 |
18fa: 99 1f adc r25, r25 |
18fc: 3a 95 dec r19 |
18fe: e1 f7 brne .-8 ; 0x18f8 <base64_decode+0x4a> |
1900: 25 2f mov r18, r21 |
1902: 26 95 lsr r18 |
1904: 26 95 lsr r18 |
1906: 28 2b or r18, r24 |
1908: 21 83 std Z+1, r18 ; 0x01 |
190a: 85 2f mov r24, r21 |
190c: 99 27 eor r25, r25 |
190e: 83 70 andi r24, 0x03 ; 3 |
1910: 90 70 andi r25, 0x00 ; 0 |
1912: 26 e0 ldi r18, 0x06 ; 6 |
1914: 88 0f add r24, r24 |
1916: 99 1f adc r25, r25 |
1918: 2a 95 dec r18 |
191a: e1 f7 brne .-8 ; 0x1914 <base64_decode+0x66> |
191c: 48 2b or r20, r24 |
191e: 42 83 std Z+2, r20 ; 0x02 |
1920: 7d 5f subi r23, 0xFD ; 253 |
1922: c8 cf rjmp .-112 ; 0x18b4 <base64_decode+0x6> |
} |
return q; // Rückgabe der Anzahl der Datenbytes |
} |
1924: 87 2f mov r24, r23 |
1926: 99 27 eor r25, r25 |
1928: 08 95 ret |
0000192a <get_message>: |
192a: cf 93 push r28 |
192c: 84 e1 ldi r24, 0x14 ; 20 |
192e: 80 93 61 00 sts 0x0061, r24 |
1932: 0e 94 1f 0c call 0x183e <RS232_get> |
1936: 83 32 cpi r24, 0x23 ; 35 |
1938: 21 f0 breq .+8 ; 0x1942 <get_message+0x18> |
193a: 80 91 61 00 lds r24, 0x0061 |
193e: 88 23 and r24, r24 |
1940: c1 f7 brne .-16 ; 0x1932 <get_message+0x8> |
1942: 80 91 61 00 lds r24, 0x0061 |
1946: 88 23 and r24, r24 |
1948: 99 f0 breq .+38 ; 0x1970 <get_message+0x46> |
194a: c0 e0 ldi r28, 0x00 ; 0 |
194c: 0e 94 1f 0c call 0x183e <RS232_get> |
1950: ec 2f mov r30, r28 |
1952: ff 27 eor r31, r31 |
1954: e7 51 subi r30, 0x17 ; 23 |
1956: fb 4f sbci r31, 0xFB ; 251 |
1958: 80 83 st Z, r24 |
195a: cf 5f subi r28, 0xFF ; 255 |
195c: c7 fd sbrc r28, 7 |
195e: cf e7 ldi r28, 0x7F ; 127 |
1960: 8d 30 cpi r24, 0x0D ; 13 |
1962: a1 f7 brne .-24 ; 0x194c <get_message+0x22> |
1964: 8c 2f mov r24, r28 |
1966: 0e 94 57 0c call 0x18ae <base64_decode> |
196a: 80 e0 ldi r24, 0x00 ; 0 |
196c: 90 e0 ldi r25, 0x00 ; 0 |
196e: 02 c0 rjmp .+4 ; 0x1974 <get_message+0x4a> |
1970: 81 e0 ldi r24, 0x01 ; 1 |
1972: 90 e0 ldi r25, 0x00 ; 0 |
1974: cf 91 pop r28 |
1976: 08 95 ret |
00001978 <base64_send>: |
void base64_send(uint8_t number) // Sendet Daten zur Flight-Control |
{ // Die Daten werden in p_buffer erwartet, umcodiert und gesendet |
1978: ff 92 push r15 |
197a: 0f 93 push r16 |
197c: 1f 93 push r17 |
197e: cf 93 push r28 |
1980: a8 2f mov r26, r24 |
uint8_t bpointer,spointer; |
uint8_t x,y,z,a; |
uint16_t checksum; |
r_buffer[0] = p_buffer[0]; |
1982: 80 91 63 04 lds r24, 0x0463 |
1986: 80 93 e9 04 sts 0x04E9, r24 |
r_buffer[1] = p_buffer[1]; |
198a: 80 91 64 04 lds r24, 0x0464 |
198e: 80 93 ea 04 sts 0x04EA, r24 |
r_buffer[2] = p_buffer[2]; |
1992: 80 91 65 04 lds r24, 0x0465 |
1996: 80 93 eb 04 sts 0x04EB, r24 |
bpointer = 3; |
199a: 43 e0 ldi r20, 0x03 ; 3 |
199c: f4 2e mov r15, r20 |
spointer = 3; |
199e: 7f 2d mov r23, r15 |
while (spointer < number) |
{ |
x = p_buffer[spointer]; |
y = p_buffer[spointer + 1]; |
z = p_buffer[spointer + 2]; |
spointer += 3; |
r_buffer[bpointer + 0] = (x >> 2) + 61; |
r_buffer[bpointer + 1] = (((x & 0x03) << 4) | ((y & 0xF0) >> 4)) + 61; |
r_buffer[bpointer + 2] = (((y & 0x0F) << 2) | ((z & 0xC0) >> 6)) + 61; |
r_buffer[bpointer + 3] = (z & 0x3F) + 61; |
bpointer += 4; |
19a0: fa 16 cp r15, r26 |
19a2: e0 f5 brcc .+120 ; 0x1a1c <base64_send+0xa4> |
19a4: e7 2f mov r30, r23 |
19a6: ff 27 eor r31, r31 |
19a8: ed 59 subi r30, 0x9D ; 157 |
19aa: fb 4f sbci r31, 0xFB ; 251 |
19ac: 90 81 ld r25, Z |
19ae: 21 81 ldd r18, Z+1 ; 0x01 |
19b0: 62 81 ldd r22, Z+2 ; 0x02 |
19b2: 7d 5f subi r23, 0xFD ; 253 |
19b4: ef 2d mov r30, r15 |
19b6: ff 27 eor r31, r31 |
19b8: e7 51 subi r30, 0x17 ; 23 |
19ba: fb 4f sbci r31, 0xFB ; 251 |
19bc: 89 2f mov r24, r25 |
19be: 86 95 lsr r24 |
19c0: 86 95 lsr r24 |
19c2: 83 5c subi r24, 0xC3 ; 195 |
19c4: 80 83 st Z, r24 |
19c6: 89 2f mov r24, r25 |
19c8: 99 27 eor r25, r25 |
19ca: 83 70 andi r24, 0x03 ; 3 |
19cc: 90 70 andi r25, 0x00 ; 0 |
19ce: 34 e0 ldi r19, 0x04 ; 4 |
19d0: 88 0f add r24, r24 |
19d2: 99 1f adc r25, r25 |
19d4: 3a 95 dec r19 |
19d6: e1 f7 brne .-8 ; 0x19d0 <base64_send+0x58> |
19d8: 42 2f mov r20, r18 |
19da: 55 27 eor r21, r21 |
19dc: 9a 01 movw r18, r20 |
19de: 94 e0 ldi r25, 0x04 ; 4 |
19e0: 36 95 lsr r19 |
19e2: 27 95 ror r18 |
19e4: 9a 95 dec r25 |
19e6: e1 f7 brne .-8 ; 0x19e0 <base64_send+0x68> |
19e8: 82 2b or r24, r18 |
19ea: 83 5c subi r24, 0xC3 ; 195 |
19ec: 81 83 std Z+1, r24 ; 0x01 |
19ee: 4f 70 andi r20, 0x0F ; 15 |
19f0: 50 70 andi r21, 0x00 ; 0 |
19f2: 44 0f add r20, r20 |
19f4: 55 1f adc r21, r21 |
19f6: 44 0f add r20, r20 |
19f8: 55 1f adc r21, r21 |
19fa: 86 2f mov r24, r22 |
19fc: 99 27 eor r25, r25 |
19fe: 16 e0 ldi r17, 0x06 ; 6 |
1a00: 96 95 lsr r25 |
1a02: 87 95 ror r24 |
1a04: 1a 95 dec r17 |
1a06: e1 f7 brne .-8 ; 0x1a00 <base64_send+0x88> |
1a08: 84 2b or r24, r20 |
1a0a: 83 5c subi r24, 0xC3 ; 195 |
1a0c: 82 83 std Z+2, r24 ; 0x02 |
1a0e: 6f 73 andi r22, 0x3F ; 63 |
1a10: 63 5c subi r22, 0xC3 ; 195 |
1a12: 63 83 std Z+3, r22 ; 0x03 |
1a14: 84 e0 ldi r24, 0x04 ; 4 |
1a16: f8 0e add r15, r24 |
1a18: 7a 17 cp r23, r26 |
1a1a: 20 f2 brcs .-120 ; 0x19a4 <base64_send+0x2c> |
} |
checksum = 0; |
1a1c: 20 e0 ldi r18, 0x00 ; 0 |
1a1e: 30 e0 ldi r19, 0x00 ; 0 |
for(a=0;a<bpointer;a++) |
1a20: c0 e0 ldi r28, 0x00 ; 0 |
1a22: cf 15 cp r28, r15 |
1a24: 40 f4 brcc .+16 ; 0x1a36 <base64_send+0xbe> |
1a26: e9 ee ldi r30, 0xE9 ; 233 |
1a28: f4 e0 ldi r31, 0x04 ; 4 |
checksum += r_buffer[a]; |
1a2a: 81 91 ld r24, Z+ |
1a2c: 28 0f add r18, r24 |
1a2e: 31 1d adc r19, r1 |
1a30: cf 5f subi r28, 0xFF ; 255 |
1a32: cf 15 cp r28, r15 |
1a34: d0 f3 brcs .-12 ; 0x1a2a <base64_send+0xb2> |
checksum %= 4096; |
1a36: 3f 70 andi r19, 0x0F ; 15 |
r_buffer[bpointer] = (checksum / 64) + 61; |
1a38: ef 2d mov r30, r15 |
1a3a: ff 27 eor r31, r31 |
1a3c: e7 51 subi r30, 0x17 ; 23 |
1a3e: fb 4f sbci r31, 0xFB ; 251 |
1a40: c9 01 movw r24, r18 |
1a42: c6 e0 ldi r28, 0x06 ; 6 |
1a44: 96 95 lsr r25 |
1a46: 87 95 ror r24 |
1a48: ca 95 dec r28 |
1a4a: e1 f7 brne .-8 ; 0x1a44 <base64_send+0xcc> |
1a4c: 83 5c subi r24, 0xC3 ; 195 |
1a4e: 80 83 st Z, r24 |
r_buffer[bpointer + 1] = (checksum % 64) + 61; |
1a50: 2f 73 andi r18, 0x3F ; 63 |
1a52: 30 70 andi r19, 0x00 ; 0 |
1a54: 82 2f mov r24, r18 |
1a56: 83 5c subi r24, 0xC3 ; 195 |
1a58: 81 83 std Z+1, r24 ; 0x01 |
r_buffer[bpointer + 2] = 13; |
1a5a: 8d e0 ldi r24, 0x0D ; 13 |
1a5c: 82 83 std Z+2, r24 ; 0x02 |
r_buffer[bpointer + 3] = 0; |
1a5e: 13 82 std Z+3, r1 ; 0x03 |
bpointer += 3; |
1a60: 83 e0 ldi r24, 0x03 ; 3 |
1a62: f8 0e add r15, r24 |
for(a=0;a<bpointer;a++) |
1a64: c3 81 ldd r28, Z+3 ; 0x03 |
1a66: cf 15 cp r28, r15 |
1a68: 50 f4 brcc .+20 ; 0x1a7e <base64_send+0x106> |
1a6a: 09 ee ldi r16, 0xE9 ; 233 |
1a6c: 14 e0 ldi r17, 0x04 ; 4 |
RS232_send(r_buffer[a]); |
1a6e: f8 01 movw r30, r16 |
1a70: 81 91 ld r24, Z+ |
1a72: 8f 01 movw r16, r30 |
1a74: 0e 94 44 0c call 0x1888 <RS232_send> |
1a78: cf 5f subi r28, 0xFF ; 255 |
1a7a: cf 15 cp r28, r15 |
1a7c: c0 f3 brcs .-16 ; 0x1a6e <base64_send+0xf6> |
1a7e: cf 91 pop r28 |
1a80: 1f 91 pop r17 |
1a82: 0f 91 pop r16 |
1a84: ff 90 pop r15 |
1a86: 08 95 ret |
00001a88 <displ_get_text>: |
uint8_t displ_page; |
void displ_get_text(uint8_t number) |
{ |
1a88: 1f 93 push r17 |
1a8a: cf 93 push r28 |
1a8c: df 93 push r29 |
1a8e: cd b7 in r28, 0x3d ; 61 |
1a90: de b7 in r29, 0x3e ; 62 |
1a92: 61 97 sbiw r28, 0x11 ; 17 |
1a94: 0f b6 in r0, 0x3f ; 63 |
1a96: f8 94 cli |
1a98: de bf out 0x3e, r29 ; 62 |
1a9a: 0f be out 0x3f, r0 ; 63 |
1a9c: cd bf out 0x3d, r28 ; 61 |
1a9e: 18 2f mov r17, r24 |
uint8_t text[17]; |
uint8_t i; |
p_buffer[0] = '#'; |
1aa0: 83 e2 ldi r24, 0x23 ; 35 |
1aa2: 80 93 63 04 sts 0x0463, r24 |
p_buffer[1] = 'a'; |
1aa6: 81 e6 ldi r24, 0x61 ; 97 |
1aa8: 80 93 64 04 sts 0x0464, r24 |
p_buffer[2] = 'a'; |
1aac: 80 93 65 04 sts 0x0465, r24 |
p_buffer[3] = number; |
1ab0: 10 93 66 04 sts 0x0466, r17 |
p_buffer[4] = 0; |
1ab4: 10 92 67 04 sts 0x0467, r1 |
p_buffer[5] = 0; |
1ab8: 10 92 68 04 sts 0x0468, r1 |
base64_send(6); |
1abc: 86 e0 ldi r24, 0x06 ; 6 |
1abe: 0e 94 bc 0c call 0x1978 <base64_send> |
do |
{ |
get_message(); |
1ac2: 0e 94 95 0c call 0x192a <get_message> |
} |
1ac6: 80 91 ea 04 lds r24, 0x04EA |
1aca: 81 34 cpi r24, 0x41 ; 65 |
1acc: d1 f7 brne .-12 ; 0x1ac2 <displ_get_text+0x3a> |
1ace: de 01 movw r26, r28 |
1ad0: 11 96 adiw r26, 0x01 ; 1 |
1ad2: e3 e6 ldi r30, 0x63 ; 99 |
1ad4: f4 e0 ldi r31, 0x04 ; 4 |
1ad6: 9f e0 ldi r25, 0x0F ; 15 |
while (r_buffer[1] != 'A'); |
for (i=0;i<16;i++) |
text[i] = p_buffer[i]; |
1ad8: 81 91 ld r24, Z+ |
1ada: 8d 93 st X+, r24 |
1adc: 91 50 subi r25, 0x01 ; 1 |
1ade: 97 ff sbrs r25, 7 |
1ae0: fb cf rjmp .-10 ; 0x1ad8 <displ_get_text+0x50> |
text[16] = 0x00; |
1ae2: 19 8a std Y+17, r1 ; 0x11 |
lcd_print_at(0,(number & 0x07),text,0); |
1ae4: 17 70 andi r17, 0x07 ; 7 |
1ae6: 29 89 ldd r18, Y+17 ; 0x11 |
1ae8: ae 01 movw r20, r28 |
1aea: 4f 5f subi r20, 0xFF ; 255 |
1aec: 5f 4f sbci r21, 0xFF ; 255 |
1aee: 61 2f mov r22, r17 |
1af0: 82 2f mov r24, r18 |
1af2: 0e 94 1d 09 call 0x123a <lcd_print_at> |
1af6: 61 96 adiw r28, 0x11 ; 17 |
1af8: 0f b6 in r0, 0x3f ; 63 |
1afa: f8 94 cli |
1afc: de bf out 0x3e, r29 ; 62 |
1afe: 0f be out 0x3f, r0 ; 63 |
1b00: cd bf out 0x3d, r28 ; 61 |
1b02: df 91 pop r29 |
1b04: cf 91 pop r28 |
1b06: 1f 91 pop r17 |
1b08: 08 95 ret |
00001b0a <displ_values>: |
} |
void displ_values(void) |
{ |
1b0a: cf 92 push r12 |
1b0c: df 92 push r13 |
1b0e: ef 92 push r14 |
1b10: ff 92 push r15 |
1b12: 0f 93 push r16 |
1b14: 1f 93 push r17 |
1b16: cf 93 push r28 |
1b18: df 93 push r29 |
1b1a: cd b7 in r28, 0x3d ; 61 |
1b1c: de b7 in r29, 0x3e ; 62 |
1b1e: 61 97 sbiw r28, 0x11 ; 17 |
1b20: 0f b6 in r0, 0x3f ; 63 |
1b22: f8 94 cli |
1b24: de bf out 0x3e, r29 ; 62 |
1b26: 0f be out 0x3f, r0 ; 63 |
1b28: cd bf out 0x3d, r28 ; 61 |
uint8_t displ_page, i; |
int16_t value; |
uint8_t text[17]; |
displ_page = 0; // Page 0..3 (4 Pages zu je 8 Werte) |
1b2a: 00 e0 ldi r16, 0x00 ; 0 |
lcd_cls(); // LCD löschen |
1b2c: 0e 94 36 07 call 0xe6c <lcd_cls> |
do |
{ |
for (i=0;i<8;i++) // Texte lesen und anzeigen |
1b30: 10 e0 ldi r17, 0x00 ; 0 |
displ_get_text(i+displ_page*8); |
1b32: c0 2e mov r12, r16 |
1b34: dd 24 eor r13, r13 |
1b36: c6 01 movw r24, r12 |
1b38: 53 e0 ldi r21, 0x03 ; 3 |
1b3a: 88 0f add r24, r24 |
1b3c: 99 1f adc r25, r25 |
1b3e: 5a 95 dec r21 |
1b40: e1 f7 brne .-8 ; 0x1b3a <displ_values+0x30> |
1b42: 81 0f add r24, r17 |
1b44: 0e 94 44 0d call 0x1a88 <displ_get_text> |
1b48: 1f 5f subi r17, 0xFF ; 255 |
1b4a: 18 30 cpi r17, 0x08 ; 8 |
1b4c: 90 f3 brcs .-28 ; 0x1b32 <displ_values+0x28> |
do |
{ |
get_message(); |
1b4e: 0e 94 95 0c call 0x192a <get_message> |
if(r_buffer[1] == 'D') |
1b52: 80 91 ea 04 lds r24, 0x04EA |
1b56: 84 34 cpi r24, 0x44 ; 68 |
1b58: 91 f5 brne .+100 ; 0x1bbe <displ_values+0xb4> |
{ |
for (i=0;i<8;i++) |
1b5a: 10 e0 ldi r17, 0x00 ; 0 |
1b5c: ee 24 eor r14, r14 |
1b5e: ff 24 eor r15, r15 |
{ |
value = p_buffer[i*2+displ_page*16+2] + 256*p_buffer[i*2+displ_page*16+3]; |
1b60: f6 01 movw r30, r12 |
1b62: 43 e0 ldi r20, 0x03 ; 3 |
1b64: ee 0f add r30, r30 |
1b66: ff 1f adc r31, r31 |
1b68: 4a 95 dec r20 |
1b6a: e1 f7 brne .-8 ; 0x1b64 <displ_values+0x5a> |
1b6c: ee 0d add r30, r14 |
1b6e: ff 1d adc r31, r15 |
1b70: ee 0f add r30, r30 |
1b72: ff 1f adc r31, r31 |
1b74: ed 59 subi r30, 0x9D ; 157 |
1b76: fb 4f sbci r31, 0xFB ; 251 |
1b78: 22 81 ldd r18, Z+2 ; 0x02 |
1b7a: 83 81 ldd r24, Z+3 ; 0x03 |
1b7c: 99 27 eor r25, r25 |
1b7e: 98 2f mov r25, r24 |
1b80: 88 27 eor r24, r24 |
itoa(value,text,10); |
1b82: 4a e0 ldi r20, 0x0A ; 10 |
1b84: 50 e0 ldi r21, 0x00 ; 0 |
1b86: be 01 movw r22, r28 |
1b88: 6f 5f subi r22, 0xFF ; 255 |
1b8a: 7f 4f sbci r23, 0xFF ; 255 |
1b8c: 82 0f add r24, r18 |
1b8e: 91 1d adc r25, r1 |
1b90: 0e 94 cf 12 call 0x259e <itoa> |
lcd_print_atp(14,i,PSTR(" "),0); |
1b94: 20 e0 ldi r18, 0x00 ; 0 |
1b96: 44 e5 ldi r20, 0x54 ; 84 |
1b98: 56 e0 ldi r21, 0x06 ; 6 |
1b9a: 61 2f mov r22, r17 |
1b9c: 8e e0 ldi r24, 0x0E ; 14 |
1b9e: 0e 94 e1 08 call 0x11c2 <lcd_print_atp> |
lcd_print_at(14,i,text,0); |
1ba2: 20 e0 ldi r18, 0x00 ; 0 |
1ba4: ae 01 movw r20, r28 |
1ba6: 4f 5f subi r20, 0xFF ; 255 |
1ba8: 5f 4f sbci r21, 0xFF ; 255 |
1baa: 61 2f mov r22, r17 |
1bac: 8e e0 ldi r24, 0x0E ; 14 |
1bae: 0e 94 1d 09 call 0x123a <lcd_print_at> |
1bb2: 1f 5f subi r17, 0xFF ; 255 |
1bb4: 08 94 sec |
1bb6: e1 1c adc r14, r1 |
1bb8: f1 1c adc r15, r1 |
1bba: 18 30 cpi r17, 0x08 ; 8 |
1bbc: 88 f2 brcs .-94 ; 0x1b60 <displ_values+0x56> |
} |
} |
} |
1bbe: 80 91 e6 04 lds r24, 0x04E6 |
1bc2: 88 23 and r24, r24 |
1bc4: 21 f2 breq .-120 ; 0x1b4e <displ_values+0x44> |
while (key == 0x00); |
if (key == 0x01) |
1bc6: 80 91 e6 04 lds r24, 0x04E6 |
1bca: 81 30 cpi r24, 0x01 ; 1 |
1bcc: 09 f4 brne .+2 ; 0x1bd0 <displ_values+0xc6> |
displ_page++; |
1bce: 0f 5f subi r16, 0xFF ; 255 |
if (key == 0x02) |
1bd0: 80 91 e6 04 lds r24, 0x04E6 |
1bd4: 82 30 cpi r24, 0x02 ; 2 |
1bd6: 09 f4 brne .+2 ; 0x1bda <displ_values+0xd0> |
displ_page--; |
1bd8: 01 50 subi r16, 0x01 ; 1 |
displ_page &= 0x03; |
1bda: 03 70 andi r16, 0x03 ; 3 |
} |
1bdc: 80 91 e6 04 lds r24, 0x04E6 |
1be0: 88 30 cpi r24, 0x08 ; 8 |
1be2: 09 f0 breq .+2 ; 0x1be6 <displ_values+0xdc> |
1be4: a5 cf rjmp .-182 ; 0x1b30 <displ_values+0x26> |
1be6: 61 96 adiw r28, 0x11 ; 17 |
1be8: 0f b6 in r0, 0x3f ; 63 |
1bea: f8 94 cli |
1bec: de bf out 0x3e, r29 ; 62 |
1bee: 0f be out 0x3f, r0 ; 63 |
1bf0: cd bf out 0x3d, r28 ; 61 |
1bf2: df 91 pop r29 |
1bf4: cf 91 pop r28 |
1bf6: 1f 91 pop r17 |
1bf8: 0f 91 pop r16 |
1bfa: ff 90 pop r15 |
1bfc: ef 90 pop r14 |
1bfe: df 90 pop r13 |
1c00: cf 90 pop r12 |
1c02: 08 95 ret |
00001c04 <read_parameter>: |
// Parameter lesen, editieren und zurückschreiben |
uint8_t read_parameter (uint8_t number) // Number = Parameter-Set# |
{ |
1c04: cf 93 push r28 |
uint8_t timeout; |
timeout = 0; |
1c06: c0 e0 ldi r28, 0x00 ; 0 |
p_buffer[0] = '#'; // Parameter anfordern |
1c08: 93 e2 ldi r25, 0x23 ; 35 |
1c0a: 90 93 63 04 sts 0x0463, r25 |
p_buffer[1] = 'a'; |
1c0e: 91 e6 ldi r25, 0x61 ; 97 |
1c10: 90 93 64 04 sts 0x0464, r25 |
p_buffer[2] = 'q'; |
1c14: 91 e7 ldi r25, 0x71 ; 113 |
1c16: 90 93 65 04 sts 0x0465, r25 |
p_buffer[3] = number; |
1c1a: 80 93 66 04 sts 0x0466, r24 |
p_buffer[4] = 0; |
1c1e: c0 93 67 04 sts 0x0467, r28 |
p_buffer[5] = 0; |
1c22: c0 93 68 04 sts 0x0468, r28 |
base64_send(6); |
1c26: 86 e0 ldi r24, 0x06 ; 6 |
1c28: 0e 94 bc 0c call 0x1978 <base64_send> |
do // warten, bis die Parameter gesendet werden |
{ |
if (get_message() == 1) // Fehler bei der Übertragung? |
1c2c: 0e 94 95 0c call 0x192a <get_message> |
1c30: 81 30 cpi r24, 0x01 ; 1 |
1c32: 09 f4 brne .+2 ; 0x1c36 <read_parameter+0x32> |
timeout = 30; // Timeout sofort auf Endwert setzen |
1c34: ce e1 ldi r28, 0x1E ; 30 |
timeout ++; |
1c36: cf 5f subi r28, 0xFF ; 255 |
} |
1c38: 80 91 ea 04 lds r24, 0x04EA |
1c3c: 8c 54 subi r24, 0x4C ; 76 |
1c3e: 85 30 cpi r24, 0x05 ; 5 |
1c40: 10 f0 brcs .+4 ; 0x1c46 <read_parameter+0x42> |
1c42: ce 31 cpi r28, 0x1E ; 30 |
1c44: 98 f3 brcs .-26 ; 0x1c2c <read_parameter+0x28> |
while (((r_buffer[1] < 'L') || (r_buffer[1] > 'P')) && (timeout < 30)); // warten, bis Parameter empfangen wurden oder ein Timeout auftrat |
if (timeout >= 30) // Wenn ein Timeout (=Fehler) auftrat, eine 1 zurückgeben, ansonsten 0 |
1c46: ce 31 cpi r28, 0x1E ; 30 |
1c48: 18 f0 brcs .+6 ; 0x1c50 <read_parameter+0x4c> |
return 1; |
1c4a: 81 e0 ldi r24, 0x01 ; 1 |
1c4c: 90 e0 ldi r25, 0x00 ; 0 |
1c4e: 02 c0 rjmp .+4 ; 0x1c54 <read_parameter+0x50> |
else |
return 0; |
1c50: 80 e0 ldi r24, 0x00 ; 0 |
1c52: 90 e0 ldi r25, 0x00 ; 0 |
1c54: cf 91 pop r28 |
1c56: 08 95 ret |
00001c58 <write_parameter>: |
} |
void write_parameter(uint8_t number) // Schreibe Parameter-Satz |
{ |
1c58: 98 2f mov r25, r24 |
uint8_t i; |
if (number <= 5) |
1c5a: 86 30 cpi r24, 0x06 ; 6 |
1c5c: b8 f4 brcc .+46 ; 0x1c8c <write_parameter+0x34> |
1c5e: e9 ea ldi r30, 0xA9 ; 169 |
1c60: f4 e0 ldi r31, 0x04 ; 4 |
1c62: 26 e4 ldi r18, 0x46 ; 70 |
{ |
for (i=0;i<71;i++) // Den gesamten Parameter-Puffer um 3 Bytes nach hinten verschieben |
p_buffer[(70-i)+3] = p_buffer[70-i]; |
1c64: 80 81 ld r24, Z |
1c66: 83 83 std Z+3, r24 ; 0x03 |
1c68: 21 50 subi r18, 0x01 ; 1 |
1c6a: 31 97 sbiw r30, 0x01 ; 1 |
1c6c: 27 ff sbrs r18, 7 |
1c6e: fa cf rjmp .-12 ; 0x1c64 <write_parameter+0xc> |
p_buffer[0] = '#'; // Befehl zum Schreiben der Parameter |
1c70: 83 e2 ldi r24, 0x23 ; 35 |
1c72: 80 93 63 04 sts 0x0463, r24 |
p_buffer[1] = 'a'; |
1c76: 81 e6 ldi r24, 0x61 ; 97 |
1c78: 80 93 64 04 sts 0x0464, r24 |
p_buffer[2] = number + 'k'; // Nummer des Parameters |
1c7c: 95 59 subi r25, 0x95 ; 149 |
1c7e: 90 93 65 04 sts 0x0465, r25 |
p_buffer[74] = 0; |
1c82: 10 92 ad 04 sts 0x04AD, r1 |
base64_send(75); // Parameter in base64 kodieren und senden, 75 Bytes |
1c86: 8b e4 ldi r24, 0x4B ; 75 |
1c88: 0e 94 bc 0c call 0x1978 <base64_send> |
1c8c: 08 95 ret |
00001c8e <binary>: |
} |
} |
void binary (uint8_t data, uint8_t *feld) // Wandelt eine 8-Bit Zahl in eine Binärzahl um (Array mit 8 Elementen) |
{ // Wird für die Flags (Loop + Grundkonfiguration) benötigt |
1c8e: 9b 01 movw r18, r22 |
1c90: 68 2f mov r22, r24 |
1c92: 77 27 eor r23, r23 |
1c94: 51 e0 ldi r21, 0x01 ; 1 |
1c96: f9 01 movw r30, r18 |
1c98: 20 e0 ldi r18, 0x00 ; 0 |
1c9a: 30 e0 ldi r19, 0x00 ; 0 |
1c9c: 47 e0 ldi r20, 0x07 ; 7 |
uint8_t i; |
i=0; |
for (i=0;i<8;i++) |
{ |
if ((1<<i) & data) |
1c9e: cb 01 movw r24, r22 |
1ca0: 02 2e mov r0, r18 |
1ca2: 02 c0 rjmp .+4 ; 0x1ca8 <binary+0x1a> |
1ca4: 95 95 asr r25 |
1ca6: 87 95 ror r24 |
1ca8: 0a 94 dec r0 |
1caa: e2 f7 brpl .-8 ; 0x1ca4 <binary+0x16> |
1cac: 80 ff sbrs r24, 0 |
1cae: 02 c0 rjmp .+4 ; 0x1cb4 <binary+0x26> |
feld[i] = 1; |
1cb0: 50 83 st Z, r21 |
1cb2: 01 c0 rjmp .+2 ; 0x1cb6 <binary+0x28> |
else |
feld[i] = 0; |
1cb4: 10 82 st Z, r1 |
1cb6: 41 50 subi r20, 0x01 ; 1 |
1cb8: 2f 5f subi r18, 0xFF ; 255 |
1cba: 3f 4f sbci r19, 0xFF ; 255 |
1cbc: 31 96 adiw r30, 0x01 ; 1 |
1cbe: 47 ff sbrs r20, 7 |
1cc0: ee cf rjmp .-36 ; 0x1c9e <binary+0x10> |
1cc2: 08 95 ret |
00001cc4 <bindec>: |
} |
} |
uint8_t bindec (uint8_t *feld) // wandelt eine Binärzahl (im Array) in eine 8-Bit Zahl |
{ // Wird für die Flags (Loop + Grundkonfiguration) benötigt |
uint8_t i; |
uint8_t result; |
result = 0; |
1cc4: 50 e0 ldi r21, 0x00 ; 0 |
1cc6: 61 e0 ldi r22, 0x01 ; 1 |
1cc8: 70 e0 ldi r23, 0x00 ; 0 |
1cca: fc 01 movw r30, r24 |
1ccc: 20 e0 ldi r18, 0x00 ; 0 |
1cce: 30 e0 ldi r19, 0x00 ; 0 |
1cd0: 47 e0 ldi r20, 0x07 ; 7 |
for (i=0;i<8;i++) |
{ |
if (feld[i] == 1) |
1cd2: 81 91 ld r24, Z+ |
1cd4: 81 30 cpi r24, 0x01 ; 1 |
1cd6: 41 f4 brne .+16 ; 0x1ce8 <bindec+0x24> |
result += 1<<i; |
1cd8: cb 01 movw r24, r22 |
1cda: 02 2e mov r0, r18 |
1cdc: 02 c0 rjmp .+4 ; 0x1ce2 <bindec+0x1e> |
1cde: 88 0f add r24, r24 |
1ce0: 99 1f adc r25, r25 |
1ce2: 0a 94 dec r0 |
1ce4: e2 f7 brpl .-8 ; 0x1cde <bindec+0x1a> |
1ce6: 58 0f add r21, r24 |
1ce8: 41 50 subi r20, 0x01 ; 1 |
1cea: 2f 5f subi r18, 0xFF ; 255 |
1cec: 3f 4f sbci r19, 0xFF ; 255 |
1cee: 47 ff sbrs r20, 7 |
1cf0: f0 cf rjmp .-32 ; 0x1cd2 <bindec+0xe> |
} |
return result; |
} |
1cf2: 85 2f mov r24, r21 |
1cf4: 99 27 eor r25, r25 |
1cf6: 08 95 ret |
00001cf8 <decimal>: |
void decimal (uint8_t data, uint8_t *text) // wandelt Wert in rechtsbündigen Text um |
{ // (schneller/kleiner als printf()) |
1cf8: 28 2f mov r18, r24 |
1cfa: fb 01 movw r30, r22 |
text[0] = data/100; |
1cfc: 34 e6 ldi r19, 0x64 ; 100 |
1cfe: 63 2f mov r22, r19 |
1d00: 0e 94 16 13 call 0x262c <__udivmodqi4> |
1d04: 58 2f mov r21, r24 |
data -= (text[0] * 100); |
1d06: 83 9f mul r24, r19 |
1d08: c0 01 movw r24, r0 |
1d0a: 11 24 eor r1, r1 |
1d0c: 28 1b sub r18, r24 |
text[1] = data/10; |
1d0e: 3a e0 ldi r19, 0x0A ; 10 |
1d10: 82 2f mov r24, r18 |
1d12: 63 2f mov r22, r19 |
1d14: 0e 94 16 13 call 0x262c <__udivmodqi4> |
1d18: 48 2f mov r20, r24 |
data -= (text[1] *10); |
1d1a: 83 9f mul r24, r19 |
1d1c: c0 01 movw r24, r0 |
1d1e: 11 24 eor r1, r1 |
1d20: 28 1b sub r18, r24 |
text[2] = data + 0x30; |
1d22: 20 5d subi r18, 0xD0 ; 208 |
1d24: 22 83 std Z+2, r18 ; 0x02 |
text[0] += 0x30; |
1d26: 85 2f mov r24, r21 |
1d28: 80 5d subi r24, 0xD0 ; 208 |
1d2a: 80 83 st Z, r24 |
text[1] += 0x30; |
1d2c: 40 5d subi r20, 0xD0 ; 208 |
1d2e: 41 83 std Z+1, r20 ; 0x01 |
if (text[0] == 0x30) |
1d30: 80 33 cpi r24, 0x30 ; 48 |
1d32: 29 f4 brne .+10 ; 0x1d3e <decimal+0x46> |
{ |
text[0] = 0x20; |
1d34: 80 e2 ldi r24, 0x20 ; 32 |
1d36: 80 83 st Z, r24 |
if (text[1] == 0x30) |
1d38: 40 33 cpi r20, 0x30 ; 48 |
1d3a: 09 f4 brne .+2 ; 0x1d3e <decimal+0x46> |
text[1] = 0x20; |
1d3c: 81 83 std Z+1, r24 ; 0x01 |
} |
text[3] = 0x00; |
1d3e: 13 82 std Z+3, r1 ; 0x03 |
1d40: 08 95 ret |
00001d42 <show_parameter>: |
} |
uint8_t show_parameter (uint8_t number) // Zeigt eine Parameter-Seite an und gibt die ausgewählte Zeile zurück |
{ |
1d42: 9f 92 push r9 |
1d44: af 92 push r10 |
1d46: bf 92 push r11 |
1d48: cf 92 push r12 |
1d4a: df 92 push r13 |
1d4c: ef 92 push r14 |
1d4e: ff 92 push r15 |
1d50: 0f 93 push r16 |
1d52: 1f 93 push r17 |
1d54: cf 93 push r28 |
1d56: df 93 push r29 |
1d58: cd b7 in r28, 0x3d ; 61 |
1d5a: de b7 in r29, 0x3e ; 62 |
1d5c: a1 97 sbiw r28, 0x21 ; 33 |
1d5e: 0f b6 in r0, 0x3f ; 63 |
1d60: f8 94 cli |
1d62: de bf out 0x3e, r29 ; 62 |
1d64: 0f be out 0x3f, r0 ; 63 |
1d66: cd bf out 0x3d, r28 ; 61 |
1d68: 08 2f mov r16, r24 |
uint8_t i; |
uint8_t line; |
uint8_t text[25]; |
uint8_t bin[8]; |
line = 0; |
1d6a: 99 24 eor r9, r9 |
if (number > 1) |
1d6c: 82 30 cpi r24, 0x02 ; 2 |
1d6e: 08 f4 brcc .+2 ; 0x1d72 <show_parameter+0x30> |
1d70: 3e c0 rjmp .+124 ; 0x1dee <show_parameter+0xac> |
{ |
for (i = 0; i<66; i++) |
1d72: 19 2d mov r17, r9 |
1d74: 4b e5 ldi r20, 0x5B ; 91 |
1d76: a4 2e mov r10, r20 |
1d78: 46 e0 ldi r20, 0x06 ; 6 |
1d7a: b4 2e mov r11, r20 |
1d7c: 33 e6 ldi r19, 0x63 ; 99 |
1d7e: c3 2e mov r12, r19 |
1d80: 34 e0 ldi r19, 0x04 ; 4 |
1d82: d3 2e mov r13, r19 |
1d84: 2d e7 ldi r18, 0x7D ; 125 |
1d86: e2 2e mov r14, r18 |
1d88: 2a e0 ldi r18, 0x0A ; 10 |
1d8a: f2 2e mov r15, r18 |
{ |
if (pgm_read_byte(p_limits+i*3+2) == number) |
1d8c: f7 01 movw r30, r14 |
1d8e: 84 91 lpm r24, Z |
1d90: 80 17 cp r24, r16 |
1d92: f1 f4 brne .+60 ; 0x1dd0 <show_parameter+0x8e> |
{ |
array[line] = i; |
1d94: e9 2d mov r30, r9 |
1d96: ff 27 eor r31, r31 |
1d98: e1 58 subi r30, 0x81 ; 129 |
1d9a: fa 4f sbci r31, 0xFA ; 250 |
1d9c: 10 83 st Z, r17 |
decimal(p_buffer[i],text); |
1d9e: be 01 movw r22, r28 |
1da0: 6f 5f subi r22, 0xFF ; 255 |
1da2: 7f 4f sbci r23, 0xFF ; 255 |
1da4: f6 01 movw r30, r12 |
1da6: 80 81 ld r24, Z |
1da8: 0e 94 7c 0e call 0x1cf8 <decimal> |
lcd_print_at(0,line,text,0); |
1dac: 20 e0 ldi r18, 0x00 ; 0 |
1dae: ae 01 movw r20, r28 |
1db0: 4f 5f subi r20, 0xFF ; 255 |
1db2: 5f 4f sbci r21, 0xFF ; 255 |
1db4: 69 2d mov r22, r9 |
1db6: 82 2f mov r24, r18 |
1db8: 0e 94 1d 09 call 0x123a <lcd_print_at> |
lcd_print_atp(5,line,parameter[i],0); |
1dbc: 20 e0 ldi r18, 0x00 ; 0 |
1dbe: a5 01 movw r20, r10 |
1dc0: 69 2d mov r22, r9 |
1dc2: 85 e0 ldi r24, 0x05 ; 5 |
1dc4: 0e 94 e1 08 call 0x11c2 <lcd_print_atp> |
if (line <= 7) |
1dc8: f7 e0 ldi r31, 0x07 ; 7 |
1dca: f9 15 cp r31, r9 |
1dcc: 08 f0 brcs .+2 ; 0x1dd0 <show_parameter+0x8e> |
line++; |
1dce: 93 94 inc r9 |
1dd0: 1f 5f subi r17, 0xFF ; 255 |
1dd2: 83 e0 ldi r24, 0x03 ; 3 |
1dd4: 90 e0 ldi r25, 0x00 ; 0 |
1dd6: e8 0e add r14, r24 |
1dd8: f9 1e adc r15, r25 |
1dda: 08 94 sec |
1ddc: c1 1c adc r12, r1 |
1dde: d1 1c adc r13, r1 |
1de0: e0 e1 ldi r30, 0x10 ; 16 |
1de2: f0 e0 ldi r31, 0x00 ; 0 |
1de4: ae 0e add r10, r30 |
1de6: bf 1e adc r11, r31 |
1de8: 12 34 cpi r17, 0x42 ; 66 |
1dea: 80 f2 brcs .-96 ; 0x1d8c <show_parameter+0x4a> |
1dec: 5f c0 rjmp .+190 ; 0x1eac <show_parameter+0x16a> |
} |
} |
} |
else |
{ // Sonderfälle: Binäre Eingabe |
if (number == 1) |
1dee: 81 30 cpi r24, 0x01 ; 1 |
1df0: 71 f5 brne .+92 ; 0x1e4e <show_parameter+0x10c> |
{ |
binary(p_buffer[52],bin); // Loop-Config |
1df2: be 01 movw r22, r28 |
1df4: 66 5e subi r22, 0xE6 ; 230 |
1df6: 7f 4f sbci r23, 0xFF ; 255 |
1df8: 80 91 97 04 lds r24, 0x0497 |
1dfc: 0e 94 47 0e call 0x1c8e <binary> |
text[1] = 0x00; |
1e00: 9a 82 std Y+2, r9 ; 0x02 |
for (i=0;i<4;i++) |
1e02: 19 2d mov r17, r9 |
1e04: 9b eb ldi r25, 0xBB ; 187 |
1e06: c9 2e mov r12, r25 |
1e08: 99 e0 ldi r25, 0x09 ; 9 |
1e0a: d9 2e mov r13, r25 |
1e0c: ee 24 eor r14, r14 |
1e0e: ff 24 eor r15, r15 |
{ |
text[0] = bin[i] + 0x30; |
1e10: ce 01 movw r24, r28 |
1e12: 01 96 adiw r24, 0x01 ; 1 |
1e14: f7 01 movw r30, r14 |
1e16: e8 0f add r30, r24 |
1e18: f9 1f adc r31, r25 |
1e1a: 21 8d ldd r18, Z+25 ; 0x19 |
1e1c: 20 5d subi r18, 0xD0 ; 208 |
1e1e: 29 83 std Y+1, r18 ; 0x01 |
lcd_print_at(0,i,text,0); |
1e20: 20 e0 ldi r18, 0x00 ; 0 |
1e22: ac 01 movw r20, r24 |
1e24: 61 2f mov r22, r17 |
1e26: 82 2f mov r24, r18 |
1e28: 0e 94 1d 09 call 0x123a <lcd_print_at> |
lcd_print_atp(5,i,bin_parameter[i],0); |
1e2c: 20 e0 ldi r18, 0x00 ; 0 |
1e2e: a6 01 movw r20, r12 |
1e30: 61 2f mov r22, r17 |
1e32: 85 e0 ldi r24, 0x05 ; 5 |
1e34: 0e 94 e1 08 call 0x11c2 <lcd_print_atp> |
1e38: 1f 5f subi r17, 0xFF ; 255 |
1e3a: 08 94 sec |
1e3c: e1 1c adc r14, r1 |
1e3e: f1 1c adc r15, r1 |
1e40: 80 e1 ldi r24, 0x10 ; 16 |
1e42: 90 e0 ldi r25, 0x00 ; 0 |
1e44: c8 0e add r12, r24 |
1e46: d9 1e adc r13, r25 |
1e48: 14 30 cpi r17, 0x04 ; 4 |
1e4a: 10 f3 brcs .-60 ; 0x1e10 <show_parameter+0xce> |
1e4c: 2f c0 rjmp .+94 ; 0x1eac <show_parameter+0x16a> |
} |
} |
if (number == 0) |
1e4e: 88 23 and r24, r24 |
1e50: 69 f5 brne .+90 ; 0x1eac <show_parameter+0x16a> |
{ |
binary(p_buffer[8],bin); // Config |
1e52: be 01 movw r22, r28 |
1e54: 66 5e subi r22, 0xE6 ; 230 |
1e56: 7f 4f sbci r23, 0xFF ; 255 |
1e58: 80 91 6b 04 lds r24, 0x046B |
1e5c: 0e 94 47 0e call 0x1c8e <binary> |
text[1] = 0x00; |
1e60: 9a 82 std Y+2, r9 ; 0x02 |
for (i=0;i<8;i++) |
1e62: 19 2d mov r17, r9 |
1e64: 8b ef ldi r24, 0xFB ; 251 |
1e66: c8 2e mov r12, r24 |
1e68: 89 e0 ldi r24, 0x09 ; 9 |
1e6a: d8 2e mov r13, r24 |
1e6c: ee 24 eor r14, r14 |
1e6e: ff 24 eor r15, r15 |
{ |
text[0] = bin[i] + 0x30; |
1e70: ce 01 movw r24, r28 |
1e72: 01 96 adiw r24, 0x01 ; 1 |
1e74: f7 01 movw r30, r14 |
1e76: e8 0f add r30, r24 |
1e78: f9 1f adc r31, r25 |
1e7a: 21 8d ldd r18, Z+25 ; 0x19 |
1e7c: 20 5d subi r18, 0xD0 ; 208 |
1e7e: 29 83 std Y+1, r18 ; 0x01 |
lcd_print_at(0,i,text,0); |
1e80: 20 e0 ldi r18, 0x00 ; 0 |
1e82: ac 01 movw r20, r24 |
1e84: 61 2f mov r22, r17 |
1e86: 82 2f mov r24, r18 |
1e88: 0e 94 1d 09 call 0x123a <lcd_print_at> |
lcd_print_atp(5,i,bin_parameter[i+4],0); |
1e8c: 20 e0 ldi r18, 0x00 ; 0 |
1e8e: a6 01 movw r20, r12 |
1e90: 61 2f mov r22, r17 |
1e92: 85 e0 ldi r24, 0x05 ; 5 |
1e94: 0e 94 e1 08 call 0x11c2 <lcd_print_atp> |
1e98: 1f 5f subi r17, 0xFF ; 255 |
1e9a: 08 94 sec |
1e9c: e1 1c adc r14, r1 |
1e9e: f1 1c adc r15, r1 |
1ea0: e0 e1 ldi r30, 0x10 ; 16 |
1ea2: f0 e0 ldi r31, 0x00 ; 0 |
1ea4: ce 0e add r12, r30 |
1ea6: df 1e adc r13, r31 |
1ea8: 18 30 cpi r17, 0x08 ; 8 |
1eaa: 10 f3 brcs .-60 ; 0x1e70 <show_parameter+0x12e> |
} |
} |
} |
return line; |
} |
1eac: 89 2d mov r24, r9 |
1eae: 99 27 eor r25, r25 |
1eb0: a1 96 adiw r28, 0x21 ; 33 |
1eb2: 0f b6 in r0, 0x3f ; 63 |
1eb4: f8 94 cli |
1eb6: de bf out 0x3e, r29 ; 62 |
1eb8: 0f be out 0x3f, r0 ; 63 |
1eba: cd bf out 0x3d, r28 ; 61 |
1ebc: df 91 pop r29 |
1ebe: cf 91 pop r28 |
1ec0: 1f 91 pop r17 |
1ec2: 0f 91 pop r16 |
1ec4: ff 90 pop r15 |
1ec6: ef 90 pop r14 |
1ec8: df 90 pop r13 |
1eca: cf 90 pop r12 |
1ecc: bf 90 pop r11 |
1ece: af 90 pop r10 |
1ed0: 9f 90 pop r9 |
1ed2: 08 95 ret |
00001ed4 <edit_parameter2>: |
void edit_parameter2 (uint8_t page, uint8_t lines) // Ändern der Parameter einer Seite |
{ |
1ed4: 8f 92 push r8 |
1ed6: 9f 92 push r9 |
1ed8: af 92 push r10 |
1eda: bf 92 push r11 |
1edc: df 92 push r13 |
1ede: ef 92 push r14 |
1ee0: ff 92 push r15 |
1ee2: 0f 93 push r16 |
1ee4: 1f 93 push r17 |
1ee6: cf 93 push r28 |
1ee8: df 93 push r29 |
1eea: cd b7 in r28, 0x3d ; 61 |
1eec: de b7 in r29, 0x3e ; 62 |
1eee: 62 97 sbiw r28, 0x12 ; 18 |
1ef0: 0f b6 in r0, 0x3f ; 63 |
1ef2: f8 94 cli |
1ef4: de bf out 0x3e, r29 ; 62 |
1ef6: 0f be out 0x3f, r0 ; 63 |
1ef8: cd bf out 0x3d, r28 ; 61 |
1efa: d8 2e mov r13, r24 |
uint8_t line; |
uint8_t par; |
uint8_t min; |
uint8_t max; |
uint8_t text[10]; |
uint8_t bin[8]; |
if (page > 1) // "normale" Parameter-Seiten |
1efc: 81 e0 ldi r24, 0x01 ; 1 |
1efe: 8d 15 cp r24, r13 |
1f00: 08 f0 brcs .+2 ; 0x1f04 <edit_parameter2+0x30> |
1f02: 55 c0 rjmp .+170 ; 0x1fae <edit_parameter2+0xda> |
{ |
line = menu_choose(0,lines-1,4); |
1f04: 61 50 subi r22, 0x01 ; 1 |
1f06: 44 e0 ldi r20, 0x04 ; 4 |
1f08: 80 e0 ldi r24, 0x00 ; 0 |
1f0a: 0e 94 86 11 call 0x230c <menu_choose> |
1f0e: 08 2f mov r16, r24 |
if (line != 255) // Wenn line == 255, wurde Escape gedrückt |
1f10: 8f 3f cpi r24, 0xFF ; 255 |
1f12: 09 f4 brne .+2 ; 0x1f16 <edit_parameter2+0x42> |
1f14: 4c c0 rjmp .+152 ; 0x1fae <edit_parameter2+0xda> |
{ |
par = p_buffer[array[line]]; |
1f16: e8 2e mov r14, r24 |
1f18: ff 24 eor r15, r15 |
1f1a: f7 01 movw r30, r14 |
1f1c: e1 58 subi r30, 0x81 ; 129 |
1f1e: fa 4f sbci r31, 0xFA ; 250 |
1f20: 80 81 ld r24, Z |
1f22: e8 2f mov r30, r24 |
1f24: ff 27 eor r31, r31 |
1f26: ed 59 subi r30, 0x9D ; 157 |
1f28: fb 4f sbci r31, 0xFB ; 251 |
1f2a: 10 81 ld r17, Z |
min = pgm_read_byte(p_limits + par * 3); |
max = pgm_read_byte(p_limits + par * 3 + 1); |
lcd_print_atp(4,line,PSTR("-"),0); |
1f2c: 20 e0 ldi r18, 0x00 ; 0 |
1f2e: 49 e0 ldi r20, 0x09 ; 9 |
1f30: 5c e0 ldi r21, 0x0C ; 12 |
1f32: 60 2f mov r22, r16 |
1f34: 84 e0 ldi r24, 0x04 ; 4 |
1f36: 0e 94 e1 08 call 0x11c2 <lcd_print_atp> |
while (key != key_nokey); |
1f3a: 80 91 e6 04 lds r24, 0x04E6 |
1f3e: 88 23 and r24, r24 |
1f40: e1 f7 brne .-8 ; 0x1f3a <edit_parameter2+0x66> |
do |
{ |
if (key == key_minus) |
1f42: 80 91 e6 04 lds r24, 0x04E6 |
1f46: 81 30 cpi r24, 0x01 ; 1 |
1f48: 09 f4 brne .+2 ; 0x1f4c <edit_parameter2+0x78> |
{ |
//if (par > min) // Überprüfung der Parameter auf Bereichsüberschreitung derzeit deaktiviert |
par --; |
1f4a: 11 50 subi r17, 0x01 ; 1 |
} |
if (key == key_plus) |
1f4c: 80 91 e6 04 lds r24, 0x04E6 |
1f50: 82 30 cpi r24, 0x02 ; 2 |
1f52: 09 f4 brne .+2 ; 0x1f56 <edit_parameter2+0x82> |
{ |
//if (par < max) |
par ++; |
1f54: 1f 5f subi r17, 0xFF ; 255 |
} |
decimal(par,text); |
1f56: be 01 movw r22, r28 |
1f58: 6f 5f subi r22, 0xFF ; 255 |
1f5a: 7f 4f sbci r23, 0xFF ; 255 |
1f5c: 81 2f mov r24, r17 |
1f5e: 0e 94 7c 0e call 0x1cf8 <decimal> |
lcd_print_at(0,line,text,0); |
1f62: 20 e0 ldi r18, 0x00 ; 0 |
1f64: ae 01 movw r20, r28 |
1f66: 4f 5f subi r20, 0xFF ; 255 |
1f68: 5f 4f sbci r21, 0xFF ; 255 |
1f6a: 60 2f mov r22, r16 |
1f6c: 82 2f mov r24, r18 |
1f6e: 0e 94 1d 09 call 0x123a <lcd_print_at> |
timer = 20; |
1f72: 84 e1 ldi r24, 0x14 ; 20 |
1f74: 80 93 61 00 sts 0x0061, r24 |
while (timer > 0); |
1f78: 80 91 61 00 lds r24, 0x0061 |
1f7c: 88 23 and r24, r24 |
1f7e: e1 f7 brne .-8 ; 0x1f78 <edit_parameter2+0xa4> |
} |
1f80: 80 91 e6 04 lds r24, 0x04E6 |
1f84: 84 30 cpi r24, 0x04 ; 4 |
1f86: 21 f0 breq .+8 ; 0x1f90 <edit_parameter2+0xbc> |
1f88: 80 91 e6 04 lds r24, 0x04E6 |
1f8c: 88 30 cpi r24, 0x08 ; 8 |
1f8e: c9 f6 brne .-78 ; 0x1f42 <edit_parameter2+0x6e> |
while ((key != 0x04) && (key != 0x08)); |
if (key == 0x08) |
1f90: 80 91 e6 04 lds r24, 0x04E6 |
1f94: 88 30 cpi r24, 0x08 ; 8 |
1f96: 59 f4 brne .+22 ; 0x1fae <edit_parameter2+0xda> |
p_buffer[array[line]] = par; |
1f98: ef e7 ldi r30, 0x7F ; 127 |
1f9a: f5 e0 ldi r31, 0x05 ; 5 |
1f9c: ee 0e add r14, r30 |
1f9e: ff 1e adc r15, r31 |
1fa0: f7 01 movw r30, r14 |
1fa2: 80 81 ld r24, Z |
1fa4: e8 2f mov r30, r24 |
1fa6: ff 27 eor r31, r31 |
1fa8: ed 59 subi r30, 0x9D ; 157 |
1faa: fb 4f sbci r31, 0xFB ; 251 |
1fac: 10 83 st Z, r17 |
} |
} |
if (page == 1) // Spezialfall: Loop-Config (einzelne Bits setzen / löschen) |
1fae: f1 e0 ldi r31, 0x01 ; 1 |
1fb0: df 16 cp r13, r31 |
1fb2: 09 f0 breq .+2 ; 0x1fb6 <edit_parameter2+0xe2> |
1fb4: 6c c0 rjmp .+216 ; 0x208e <edit_parameter2+0x1ba> |
{ |
binary(p_buffer[52],bin); |
1fb6: 6b e0 ldi r22, 0x0B ; 11 |
1fb8: 86 2e mov r8, r22 |
1fba: 91 2c mov r9, r1 |
1fbc: 8c 0e add r8, r28 |
1fbe: 9d 1e adc r9, r29 |
1fc0: b4 01 movw r22, r8 |
1fc2: 80 91 97 04 lds r24, 0x0497 |
1fc6: 0e 94 47 0e call 0x1c8e <binary> |
text[1] = 0x00; |
1fca: 1a 82 std Y+2, r1 ; 0x02 |
line = menu_choose(0,3,4); |
1fcc: 44 e0 ldi r20, 0x04 ; 4 |
1fce: 63 e0 ldi r22, 0x03 ; 3 |
1fd0: 8a 81 ldd r24, Y+2 ; 0x02 |
1fd2: 0e 94 86 11 call 0x230c <menu_choose> |
1fd6: 08 2f mov r16, r24 |
if (line != 255) // Wenn line == 255, wurde Escape gedrückt |
1fd8: 8f 3f cpi r24, 0xFF ; 255 |
1fda: 09 f4 brne .+2 ; 0x1fde <edit_parameter2+0x10a> |
1fdc: c6 c0 rjmp .+396 ; 0x216a <edit_parameter2+0x296> |
{ |
par = bin[line]; |
1fde: e8 2e mov r14, r24 |
1fe0: ff 24 eor r15, r15 |
1fe2: 5e 01 movw r10, r28 |
1fe4: 08 94 sec |
1fe6: a1 1c adc r10, r1 |
1fe8: b1 1c adc r11, r1 |
1fea: f7 01 movw r30, r14 |
1fec: ea 0d add r30, r10 |
1fee: fb 1d adc r31, r11 |
1ff0: 12 85 ldd r17, Z+10 ; 0x0a |
lcd_print_atp(4,line,PSTR("-"),0); |
1ff2: 20 e0 ldi r18, 0x00 ; 0 |
1ff4: 4b e0 ldi r20, 0x0B ; 11 |
1ff6: 5c e0 ldi r21, 0x0C ; 12 |
1ff8: 68 2f mov r22, r24 |
1ffa: 84 e0 ldi r24, 0x04 ; 4 |
1ffc: 0e 94 e1 08 call 0x11c2 <lcd_print_atp> |
do |
{ |
if (key == key_minus) |
2000: 80 91 e6 04 lds r24, 0x04E6 |
2004: 81 30 cpi r24, 0x01 ; 1 |
2006: 09 f4 brne .+2 ; 0x200a <edit_parameter2+0x136> |
{ |
par = 0x00; |
2008: 10 e0 ldi r17, 0x00 ; 0 |
} |
if (key == key_plus) |
200a: 80 91 e6 04 lds r24, 0x04E6 |
200e: 82 30 cpi r24, 0x02 ; 2 |
2010: 09 f4 brne .+2 ; 0x2014 <edit_parameter2+0x140> |
{ |
par = 0x01; |
2012: 11 e0 ldi r17, 0x01 ; 1 |
} |
text[0] = par+0x30; |
2014: 10 5d subi r17, 0xD0 ; 208 |
2016: 19 83 std Y+1, r17 ; 0x01 |
2018: 10 53 subi r17, 0x30 ; 48 |
lcd_print_at(0,line,text,0); |
201a: 20 e0 ldi r18, 0x00 ; 0 |
201c: ae 01 movw r20, r28 |
201e: 4f 5f subi r20, 0xFF ; 255 |
2020: 5f 4f sbci r21, 0xFF ; 255 |
2022: 60 2f mov r22, r16 |
2024: 82 2f mov r24, r18 |
2026: 0e 94 1d 09 call 0x123a <lcd_print_at> |
timer = 20; |
202a: 84 e1 ldi r24, 0x14 ; 20 |
202c: 80 93 61 00 sts 0x0061, r24 |
while (timer > 0); |
2030: d0 90 61 00 lds r13, 0x0061 |
2034: dd 20 and r13, r13 |
2036: e1 f7 brne .-8 ; 0x2030 <edit_parameter2+0x15c> |
} |
2038: 80 91 e6 04 lds r24, 0x04E6 |
203c: 88 30 cpi r24, 0x08 ; 8 |
203e: 21 f0 breq .+8 ; 0x2048 <edit_parameter2+0x174> |
2040: 80 91 e6 04 lds r24, 0x04E6 |
2044: 84 30 cpi r24, 0x04 ; 4 |
2046: e1 f6 brne .-72 ; 0x2000 <edit_parameter2+0x12c> |
while ((key != key_enter) && (key != key_esc)); |
if (key == key_enter) |
2048: 80 91 e6 04 lds r24, 0x04E6 |
204c: 88 30 cpi r24, 0x08 ; 8 |
204e: 49 f4 brne .+18 ; 0x2062 <edit_parameter2+0x18e> |
{ |
bin[line] = par; |
2050: ea 0c add r14, r10 |
2052: fb 1c adc r15, r11 |
2054: f7 01 movw r30, r14 |
2056: 12 87 std Z+10, r17 ; 0x0a |
p_buffer[52] = bindec(bin); |
2058: c4 01 movw r24, r8 |
205a: 0e 94 62 0e call 0x1cc4 <bindec> |
205e: 80 93 97 04 sts 0x0497, r24 |
} |
lcd_cls(); |
2062: 0e 94 36 07 call 0xe6c <lcd_cls> |
decimal(p_buffer[52],text); |
2066: be 01 movw r22, r28 |
2068: 6f 5f subi r22, 0xFF ; 255 |
206a: 7f 4f sbci r23, 0xFF ; 255 |
206c: 80 91 97 04 lds r24, 0x0497 |
2070: 0e 94 7c 0e call 0x1cf8 <decimal> |
lcd_print(text,0); |
2074: 6d 2d mov r22, r13 |
2076: ce 01 movw r24, r28 |
2078: 01 96 adiw r24, 0x01 ; 1 |
207a: 0e 94 ea 08 call 0x11d4 <lcd_print> |
timer = 200; |
207e: 88 ec ldi r24, 0xC8 ; 200 |
2080: 80 93 61 00 sts 0x0061, r24 |
while(timer > 0); |
2084: 80 91 61 00 lds r24, 0x0061 |
2088: 88 23 and r24, r24 |
208a: e1 f7 brne .-8 ; 0x2084 <edit_parameter2+0x1b0> |
208c: 6e c0 rjmp .+220 ; 0x216a <edit_parameter2+0x296> |
} |
} |
if (page == 0) // Spezialfall: Allgemeine Konfiguration (einzelne Bits setzen/löschen) |
208e: dd 20 and r13, r13 |
2090: 09 f0 breq .+2 ; 0x2094 <edit_parameter2+0x1c0> |
2092: 6b c0 rjmp .+214 ; 0x216a <edit_parameter2+0x296> |
{ |
binary(p_buffer[8],bin); |
2094: 5b e0 ldi r21, 0x0B ; 11 |
2096: 85 2e mov r8, r21 |
2098: 91 2c mov r9, r1 |
209a: 8c 0e add r8, r28 |
209c: 9d 1e adc r9, r29 |
209e: b4 01 movw r22, r8 |
20a0: 80 91 6b 04 lds r24, 0x046B |
20a4: 0e 94 47 0e call 0x1c8e <binary> |
text[1] = 0x00; |
20a8: da 82 std Y+2, r13 ; 0x02 |
line = menu_choose(0,7,4); |
20aa: 44 e0 ldi r20, 0x04 ; 4 |
20ac: 67 e0 ldi r22, 0x07 ; 7 |
20ae: 8d 2d mov r24, r13 |
20b0: 0e 94 86 11 call 0x230c <menu_choose> |
20b4: 08 2f mov r16, r24 |
if (line != 255) // Wenn line == 255, wurde Escape gedrückt |
20b6: 8f 3f cpi r24, 0xFF ; 255 |
20b8: 09 f4 brne .+2 ; 0x20bc <edit_parameter2+0x1e8> |
20ba: 57 c0 rjmp .+174 ; 0x216a <edit_parameter2+0x296> |
{ |
par = bin[line]; |
20bc: e8 2e mov r14, r24 |
20be: ff 24 eor r15, r15 |
20c0: 5e 01 movw r10, r28 |
20c2: 08 94 sec |
20c4: a1 1c adc r10, r1 |
20c6: b1 1c adc r11, r1 |
20c8: f7 01 movw r30, r14 |
20ca: ea 0d add r30, r10 |
20cc: fb 1d adc r31, r11 |
20ce: 12 85 ldd r17, Z+10 ; 0x0a |
lcd_print_atp(4,line,PSTR("-"),0); |
20d0: 2d 2d mov r18, r13 |
20d2: 4d e0 ldi r20, 0x0D ; 13 |
20d4: 5c e0 ldi r21, 0x0C ; 12 |
20d6: 68 2f mov r22, r24 |
20d8: 84 e0 ldi r24, 0x04 ; 4 |
20da: 0e 94 e1 08 call 0x11c2 <lcd_print_atp> |
do |
{ |
if (key == key_minus) |
20de: 80 91 e6 04 lds r24, 0x04E6 |
20e2: 81 30 cpi r24, 0x01 ; 1 |
20e4: 09 f4 brne .+2 ; 0x20e8 <edit_parameter2+0x214> |
{ |
par = 0x00; |
20e6: 10 e0 ldi r17, 0x00 ; 0 |
} |
if (key == key_plus) |
20e8: 80 91 e6 04 lds r24, 0x04E6 |
20ec: 82 30 cpi r24, 0x02 ; 2 |
20ee: 09 f4 brne .+2 ; 0x20f2 <edit_parameter2+0x21e> |
{ |
par = 0x01; |
20f0: 11 e0 ldi r17, 0x01 ; 1 |
} |
text[0] = par+0x30; |
20f2: 10 5d subi r17, 0xD0 ; 208 |
20f4: 19 83 std Y+1, r17 ; 0x01 |
20f6: 10 53 subi r17, 0x30 ; 48 |
lcd_print_at(0,line,text,0); |
20f8: 20 e0 ldi r18, 0x00 ; 0 |
20fa: ae 01 movw r20, r28 |
20fc: 4f 5f subi r20, 0xFF ; 255 |
20fe: 5f 4f sbci r21, 0xFF ; 255 |
2100: 60 2f mov r22, r16 |
2102: 82 2f mov r24, r18 |
2104: 0e 94 1d 09 call 0x123a <lcd_print_at> |
timer = 20; |
2108: 84 e1 ldi r24, 0x14 ; 20 |
210a: 80 93 61 00 sts 0x0061, r24 |
while (timer > 0); |
210e: d0 90 61 00 lds r13, 0x0061 |
2112: dd 20 and r13, r13 |
2114: e1 f7 brne .-8 ; 0x210e <edit_parameter2+0x23a> |
} |
2116: 80 91 e6 04 lds r24, 0x04E6 |
211a: 88 30 cpi r24, 0x08 ; 8 |
211c: 21 f0 breq .+8 ; 0x2126 <edit_parameter2+0x252> |
211e: 80 91 e6 04 lds r24, 0x04E6 |
2122: 84 30 cpi r24, 0x04 ; 4 |
2124: e1 f6 brne .-72 ; 0x20de <edit_parameter2+0x20a> |
while ((key != key_enter) && (key != key_esc)); |
if (key == key_enter) |
2126: 80 91 e6 04 lds r24, 0x04E6 |
212a: 88 30 cpi r24, 0x08 ; 8 |
212c: 49 f4 brne .+18 ; 0x2140 <edit_parameter2+0x26c> |
{ |
bin[line] = par; |
212e: ea 0c add r14, r10 |
2130: fb 1c adc r15, r11 |
2132: f7 01 movw r30, r14 |
2134: 12 87 std Z+10, r17 ; 0x0a |
p_buffer[8] = bindec(bin); |
2136: c4 01 movw r24, r8 |
2138: 0e 94 62 0e call 0x1cc4 <bindec> |
213c: 80 93 6b 04 sts 0x046B, r24 |
} |
lcd_cls(); |
2140: 0e 94 36 07 call 0xe6c <lcd_cls> |
decimal(p_buffer[8],text); |
2144: be 01 movw r22, r28 |
2146: 6f 5f subi r22, 0xFF ; 255 |
2148: 7f 4f sbci r23, 0xFF ; 255 |
214a: 80 91 6b 04 lds r24, 0x046B |
214e: 0e 94 7c 0e call 0x1cf8 <decimal> |
lcd_print(text,0); |
2152: 6d 2d mov r22, r13 |
2154: ce 01 movw r24, r28 |
2156: 01 96 adiw r24, 0x01 ; 1 |
2158: 0e 94 ea 08 call 0x11d4 <lcd_print> |
timer = 200; |
215c: 88 ec ldi r24, 0xC8 ; 200 |
215e: 80 93 61 00 sts 0x0061, r24 |
while(timer > 0); |
2162: 80 91 61 00 lds r24, 0x0061 |
2166: 88 23 and r24, r24 |
2168: e1 f7 brne .-8 ; 0x2162 <edit_parameter2+0x28e> |
216a: 62 96 adiw r28, 0x12 ; 18 |
216c: 0f b6 in r0, 0x3f ; 63 |
216e: f8 94 cli |
2170: de bf out 0x3e, r29 ; 62 |
2172: 0f be out 0x3f, r0 ; 63 |
2174: cd bf out 0x3d, r28 ; 61 |
2176: df 91 pop r29 |
2178: cf 91 pop r28 |
217a: 1f 91 pop r17 |
217c: 0f 91 pop r16 |
217e: ff 90 pop r15 |
2180: ef 90 pop r14 |
2182: df 90 pop r13 |
2184: bf 90 pop r11 |
2186: af 90 pop r10 |
2188: 9f 90 pop r9 |
218a: 8f 90 pop r8 |
218c: 08 95 ret |
0000218e <edit_parameter>: |
} |
} |
} |
void edit_parameter (void) // Blättert die Parameter seitenweise durch, Einsprung vom Hauptmenü |
{ |
218e: 1f 93 push r17 |
2190: cf 93 push r28 |
2192: df 93 push r29 |
2194: cd b7 in r28, 0x3d ; 61 |
2196: de b7 in r29, 0x3e ; 62 |
2198: 2f 97 sbiw r28, 0x0f ; 15 |
219a: 0f b6 in r0, 0x3f ; 63 |
219c: f8 94 cli |
219e: de bf out 0x3e, r29 ; 62 |
21a0: 0f be out 0x3f, r0 ; 63 |
21a2: cd bf out 0x3d, r28 ; 61 |
uint8_t page; // 12 Pages |
uint8_t text[15]; |
uint8_t lines; |
uint8_t parameter; |
lcd_cls(); |
21a4: 0e 94 36 07 call 0xe6c <lcd_cls> |
lcd_printp(PSTR("Lade Parameter\r\n"),0); |
21a8: 60 e0 ldi r22, 0x00 ; 0 |
21aa: 8f e0 ldi r24, 0x0F ; 15 |
21ac: 9c e0 ldi r25, 0x0C ; 12 |
21ae: 0e 94 aa 08 call 0x1154 <lcd_printp> |
lcd_printp(PSTR(" 1:\r\n"),0); |
21b2: 60 e0 ldi r22, 0x00 ; 0 |
21b4: 80 e2 ldi r24, 0x20 ; 32 |
21b6: 9c e0 ldi r25, 0x0C ; 12 |
21b8: 0e 94 aa 08 call 0x1154 <lcd_printp> |
lcd_printp(PSTR(" 2:\r\n"),0); |
21bc: 60 e0 ldi r22, 0x00 ; 0 |
21be: 86 e2 ldi r24, 0x26 ; 38 |
21c0: 9c e0 ldi r25, 0x0C ; 12 |
21c2: 0e 94 aa 08 call 0x1154 <lcd_printp> |
lcd_printp(PSTR(" 3:\r\n"),0); |
21c6: 60 e0 ldi r22, 0x00 ; 0 |
21c8: 8c e2 ldi r24, 0x2C ; 44 |
21ca: 9c e0 ldi r25, 0x0C ; 12 |
21cc: 0e 94 aa 08 call 0x1154 <lcd_printp> |
lcd_printp(PSTR(" 4:\r\n"),0); |
21d0: 60 e0 ldi r22, 0x00 ; 0 |
21d2: 82 e3 ldi r24, 0x32 ; 50 |
21d4: 9c e0 ldi r25, 0x0C ; 12 |
21d6: 0e 94 aa 08 call 0x1154 <lcd_printp> |
lcd_printp(PSTR(" 5:\r\n"),0); |
21da: 60 e0 ldi r22, 0x00 ; 0 |
21dc: 88 e3 ldi r24, 0x38 ; 56 |
21de: 9c e0 ldi r25, 0x0C ; 12 |
21e0: 0e 94 aa 08 call 0x1154 <lcd_printp> |
parameter = menu_choose(1,5,0); |
21e4: 40 e0 ldi r20, 0x00 ; 0 |
21e6: 65 e0 ldi r22, 0x05 ; 5 |
21e8: 81 e0 ldi r24, 0x01 ; 1 |
21ea: 0e 94 86 11 call 0x230c <menu_choose> |
page = 2; |
21ee: 12 e0 ldi r17, 0x02 ; 2 |
if (read_parameter(parameter) == 1) |
21f0: 0e 94 02 0e call 0x1c04 <read_parameter> |
21f4: 81 30 cpi r24, 0x01 ; 1 |
21f6: 41 f4 brne .+16 ; 0x2208 <edit_parameter+0x7a> |
{ |
lcd_print_atp(0,6,PSTR("Timeout"),0); |
21f8: 20 e0 ldi r18, 0x00 ; 0 |
21fa: 4e e3 ldi r20, 0x3E ; 62 |
21fc: 5c e0 ldi r21, 0x0C ; 12 |
21fe: 66 e0 ldi r22, 0x06 ; 6 |
2200: 82 2f mov r24, r18 |
2202: 0e 94 e1 08 call 0x11c2 <lcd_print_atp> |
2206: 5c c0 rjmp .+184 ; 0x22c0 <edit_parameter+0x132> |
} |
else |
{ |
do |
{ |
lcd_cls(); |
2208: 0e 94 36 07 call 0xe6c <lcd_cls> |
utoa(page,text,10); |
220c: 4a e0 ldi r20, 0x0A ; 10 |
220e: 50 e0 ldi r21, 0x00 ; 0 |
2210: be 01 movw r22, r28 |
2212: 6f 5f subi r22, 0xFF ; 255 |
2214: 7f 4f sbci r23, 0xFF ; 255 |
2216: 81 2f mov r24, r17 |
2218: 99 27 eor r25, r25 |
221a: 0e 94 f0 12 call 0x25e0 <utoa> |
lcd_print(text,0); |
221e: 60 e0 ldi r22, 0x00 ; 0 |
2220: ce 01 movw r24, r28 |
2222: 01 96 adiw r24, 0x01 ; 1 |
2224: 0e 94 ea 08 call 0x11d4 <lcd_print> |
timer = 50; |
2228: 82 e3 ldi r24, 0x32 ; 50 |
222a: 80 93 61 00 sts 0x0061, r24 |
while (timer > 0); |
222e: 80 91 61 00 lds r24, 0x0061 |
2232: 88 23 and r24, r24 |
2234: e1 f7 brne .-8 ; 0x222e <edit_parameter+0xa0> |
lcd_cls(); |
2236: 0e 94 36 07 call 0xe6c <lcd_cls> |
lines = show_parameter(page); |
223a: 81 2f mov r24, r17 |
223c: 0e 94 a1 0e call 0x1d42 <show_parameter> |
2240: 68 2f mov r22, r24 |
while (key == key_nokey); |
2242: 80 91 e6 04 lds r24, 0x04E6 |
2246: 88 23 and r24, r24 |
2248: e1 f3 breq .-8 ; 0x2242 <edit_parameter+0xb4> |
if (key == key_plus) |
224a: 80 91 e6 04 lds r24, 0x04E6 |
224e: 82 30 cpi r24, 0x02 ; 2 |
2250: 09 f4 brne .+2 ; 0x2254 <edit_parameter+0xc6> |
page++; |
2252: 1f 5f subi r17, 0xFF ; 255 |
if (key == key_minus) |
2254: 80 91 e6 04 lds r24, 0x04E6 |
2258: 81 30 cpi r24, 0x01 ; 1 |
225a: 09 f4 brne .+2 ; 0x225e <edit_parameter+0xd0> |
page--; |
225c: 11 50 subi r17, 0x01 ; 1 |
if (page == 255) |
225e: 1f 3f cpi r17, 0xFF ; 255 |
2260: 11 f4 brne .+4 ; 0x2266 <edit_parameter+0xd8> |
page = 12; |
2262: 1c e0 ldi r17, 0x0C ; 12 |
2264: 03 c0 rjmp .+6 ; 0x226c <edit_parameter+0xde> |
if (page > 12) |
2266: 1d 30 cpi r17, 0x0D ; 13 |
2268: 08 f0 brcs .+2 ; 0x226c <edit_parameter+0xde> |
page = 0; |
226a: 10 e0 ldi r17, 0x00 ; 0 |
if (key == key_enter) |
226c: 80 91 e6 04 lds r24, 0x04E6 |
2270: 88 30 cpi r24, 0x08 ; 8 |
2272: 19 f4 brne .+6 ; 0x227a <edit_parameter+0xec> |
edit_parameter2(page,lines); |
2274: 81 2f mov r24, r17 |
2276: 0e 94 6a 0f call 0x1ed4 <edit_parameter2> |
} |
227a: 80 91 e6 04 lds r24, 0x04E6 |
227e: 84 30 cpi r24, 0x04 ; 4 |
2280: 19 f6 brne .-122 ; 0x2208 <edit_parameter+0x7a> |
while (key != key_esc); |
lcd_cls(); |
2282: 0e 94 36 07 call 0xe6c <lcd_cls> |
lcd_printp(PSTR("Parameter speichern?\r\n ja\r\n nein"),0); |
2286: 60 e0 ldi r22, 0x00 ; 0 |
2288: 86 e4 ldi r24, 0x46 ; 70 |
228a: 9c e0 ldi r25, 0x0C ; 12 |
228c: 0e 94 aa 08 call 0x1154 <lcd_printp> |
lines = menu_choose(1,2,0); |
2290: 40 e0 ldi r20, 0x00 ; 0 |
2292: 62 e0 ldi r22, 0x02 ; 2 |
2294: 81 e0 ldi r24, 0x01 ; 1 |
2296: 0e 94 86 11 call 0x230c <menu_choose> |
if (lines == 1 ) |
229a: 81 30 cpi r24, 0x01 ; 1 |
229c: 61 f4 brne .+24 ; 0x22b6 <edit_parameter+0x128> |
{ |
lcd_printp(PSTR("\r\n--->"),0); |
229e: 60 e0 ldi r22, 0x00 ; 0 |
22a0: 89 e6 ldi r24, 0x69 ; 105 |
22a2: 9c e0 ldi r25, 0x0C ; 12 |
22a4: 0e 94 aa 08 call 0x1154 <lcd_printp> |
write_parameter(5); // Sicherheitshalber wird derzeit ausschließlich auf Parametersatz 5 gesichert. |
22a8: 85 e0 ldi r24, 0x05 ; 5 |
22aa: 0e 94 2c 0e call 0x1c58 <write_parameter> |
lcd_printp(PSTR("\r\nParameter gespeichert"),0); |
22ae: 60 e0 ldi r22, 0x00 ; 0 |
22b0: 80 e7 ldi r24, 0x70 ; 112 |
22b2: 9c e0 ldi r25, 0x0C ; 12 |
22b4: 03 c0 rjmp .+6 ; 0x22bc <edit_parameter+0x12e> |
} |
else |
{ |
lcd_printp(PSTR("\r\nNicht gespeichert"),0); |
22b6: 60 e0 ldi r22, 0x00 ; 0 |
22b8: 88 e8 ldi r24, 0x88 ; 136 |
22ba: 9c e0 ldi r25, 0x0C ; 12 |
22bc: 0e 94 aa 08 call 0x1154 <lcd_printp> |
} |
} |
timer = 100; |
22c0: 84 e6 ldi r24, 0x64 ; 100 |
22c2: 80 93 61 00 sts 0x0061, r24 |
while(timer > 0); |
22c6: 80 91 61 00 lds r24, 0x0061 |
22ca: 88 23 and r24, r24 |
22cc: e1 f7 brne .-8 ; 0x22c6 <edit_parameter+0x138> |
22ce: 2f 96 adiw r28, 0x0f ; 15 |
22d0: 0f b6 in r0, 0x3f ; 63 |
22d2: f8 94 cli |
22d4: de bf out 0x3e, r29 ; 62 |
22d6: 0f be out 0x3f, r0 ; 63 |
22d8: cd bf out 0x3d, r28 ; 61 |
22da: df 91 pop r29 |
22dc: cf 91 pop r28 |
22de: 1f 91 pop r17 |
22e0: 08 95 ret |
000022e2 <menu_set_cursor>: |
// Subroutine für den Stern (*) bzw. Cursor |
void menu_set_cursor (uint8_t before, uint8_t line, uint8_t pos) |
{ |
22e2: 0f 93 push r16 |
22e4: 1f 93 push r17 |
22e6: 06 2f mov r16, r22 |
22e8: 14 2f mov r17, r20 |
lcd_print_atp(pos,before,PSTR(" "),0); // Die vorhergehende Position löschen |
22ea: 20 e0 ldi r18, 0x00 ; 0 |
22ec: 4c e9 ldi r20, 0x9C ; 156 |
22ee: 5c e0 ldi r21, 0x0C ; 12 |
22f0: 68 2f mov r22, r24 |
22f2: 81 2f mov r24, r17 |
22f4: 0e 94 e1 08 call 0x11c2 <lcd_print_atp> |
lcd_print_atp(pos,line,PSTR("*"),0); // Den Cursor an der aktuellen Position anzeigen |
22f8: 20 e0 ldi r18, 0x00 ; 0 |
22fa: 4e e9 ldi r20, 0x9E ; 158 |
22fc: 5c e0 ldi r21, 0x0C ; 12 |
22fe: 60 2f mov r22, r16 |
2300: 81 2f mov r24, r17 |
2302: 0e 94 e1 08 call 0x11c2 <lcd_print_atp> |
2306: 1f 91 pop r17 |
2308: 0f 91 pop r16 |
230a: 08 95 ret |
0000230c <menu_choose>: |
} |
// Zeigt einen Stern (*) an der x-Position <pos> an, y-Position von min bis max. |
// Mit der +/- Taste kann ein Menü-Punkt ausgewählt und mit (Enter) bestätigt werden. |
// Die Zeilennummer des aktuellen Menüpunkts wird zurückgegeben. |
uint8_t menu_choose (uint8_t min, uint8_t max, uint8_t pos) |
{ |
230c: ef 92 push r14 |
230e: ff 92 push r15 |
2310: 0f 93 push r16 |
2312: 1f 93 push r17 |
2314: cf 93 push r28 |
2316: f8 2e mov r15, r24 |
2318: e6 2e mov r14, r22 |
231a: 04 2f mov r16, r20 |
uint8_t line, before; |
line = min; |
231c: c8 2f mov r28, r24 |
before = min; |
231e: 18 2f mov r17, r24 |
menu_set_cursor(line,line,pos); |
2320: 68 2f mov r22, r24 |
2322: 0e 94 71 11 call 0x22e2 <menu_set_cursor> |
do |
{ |
while (key != key_nokey); |
2326: 80 91 e6 04 lds r24, 0x04E6 |
232a: 88 23 and r24, r24 |
232c: e1 f7 brne .-8 ; 0x2326 <menu_choose+0x1a> |
while(key == key_nokey); |
232e: 80 91 e6 04 lds r24, 0x04E6 |
2332: 88 23 and r24, r24 |
2334: e1 f3 breq .-8 ; 0x232e <menu_choose+0x22> |
if ((key == key_plus) && (line < max)) |
2336: 80 91 e6 04 lds r24, 0x04E6 |
233a: 82 30 cpi r24, 0x02 ; 2 |
233c: 19 f4 brne .+6 ; 0x2344 <menu_choose+0x38> |
233e: ce 15 cp r28, r14 |
2340: 08 f4 brcc .+2 ; 0x2344 <menu_choose+0x38> |
line ++; |
2342: cf 5f subi r28, 0xFF ; 255 |
if ((key == key_minus) && (line > min)) |
2344: 80 91 e6 04 lds r24, 0x04E6 |
2348: 81 30 cpi r24, 0x01 ; 1 |
234a: 19 f4 brne .+6 ; 0x2352 <menu_choose+0x46> |
234c: fc 16 cp r15, r28 |
234e: 08 f4 brcc .+2 ; 0x2352 <menu_choose+0x46> |
line --; |
2350: c1 50 subi r28, 0x01 ; 1 |
menu_set_cursor(before,line,pos); |
2352: 40 2f mov r20, r16 |
2354: 6c 2f mov r22, r28 |
2356: 81 2f mov r24, r17 |
2358: 0e 94 71 11 call 0x22e2 <menu_set_cursor> |
before = line; |
235c: 1c 2f mov r17, r28 |
} |
235e: 80 91 e6 04 lds r24, 0x04E6 |
2362: 88 30 cpi r24, 0x08 ; 8 |
2364: 21 f0 breq .+8 ; 0x236e <menu_choose+0x62> |
2366: 80 91 e6 04 lds r24, 0x04E6 |
236a: 84 30 cpi r24, 0x04 ; 4 |
236c: e1 f6 brne .-72 ; 0x2326 <menu_choose+0x1a> |
while ((key != key_enter) && (key != key_esc)); // Schleife wiederholen, bis (Enter) / Esc gedrückt wurde |
if (key == key_esc) |
236e: 80 91 e6 04 lds r24, 0x04E6 |
2372: 84 30 cpi r24, 0x04 ; 4 |
2374: 09 f4 brne .+2 ; 0x2378 <menu_choose+0x6c> |
line = 255; |
2376: cf ef ldi r28, 0xFF ; 255 |
while (key != key_nokey); // Warten, bis Taste wieder losgelassen wurde |
2378: 80 91 e6 04 lds r24, 0x04E6 |
237c: 88 23 and r24, r24 |
237e: e1 f7 brne .-8 ; 0x2378 <menu_choose+0x6c> |
return line; |
} |
2380: 8c 2f mov r24, r28 |
2382: 99 27 eor r25, r25 |
2384: cf 91 pop r28 |
2386: 1f 91 pop r17 |
2388: 0f 91 pop r16 |
238a: ff 90 pop r15 |
238c: ef 90 pop r14 |
238e: 08 95 ret |
00002390 <main_menu>: |
void main_menu (void) |
{ |
lcd_cls(); |
2390: 0e 94 36 07 call 0xe6c <lcd_cls> |
lcd_printp(PSTR("Hauptmenü(BETA V0.1)\r\n"),0); |
2394: 60 e0 ldi r22, 0x00 ; 0 |
2396: 80 ea ldi r24, 0xA0 ; 160 |
2398: 9c e0 ldi r25, 0x0C ; 12 |
239a: 0e 94 aa 08 call 0x1154 <lcd_printp> |
lcd_printp(PSTR("\r\nDisplay\r\n"),0); |
239e: 60 e0 ldi r22, 0x00 ; 0 |
23a0: 87 eb ldi r24, 0xB7 ; 183 |
23a2: 9c e0 ldi r25, 0x0C ; 12 |
23a4: 0e 94 aa 08 call 0x1154 <lcd_printp> |
lcd_printp(PSTR("Parameter\r\n"),0); |
23a8: 60 e0 ldi r22, 0x00 ; 0 |
23aa: 83 ec ldi r24, 0xC3 ; 195 |
23ac: 9c e0 ldi r25, 0x0C ; 12 |
23ae: 0e 94 aa 08 call 0x1154 <lcd_printp> |
lcd_printp(PSTR("Motortest"),0); |
23b2: 60 e0 ldi r22, 0x00 ; 0 |
23b4: 8f ec ldi r24, 0xCF ; 207 |
23b6: 9c e0 ldi r25, 0x0C ; 12 |
23b8: 0e 94 aa 08 call 0x1154 <lcd_printp> |
switch(menu_choose(2,4,10)) |
23bc: 4a e0 ldi r20, 0x0A ; 10 |
23be: 64 e0 ldi r22, 0x04 ; 4 |
23c0: 82 e0 ldi r24, 0x02 ; 2 |
23c2: 0e 94 86 11 call 0x230c <menu_choose> |
23c6: 99 27 eor r25, r25 |
23c8: 83 30 cpi r24, 0x03 ; 3 |
23ca: 91 05 cpc r25, r1 |
23cc: 61 f0 breq .+24 ; 0x23e6 <main_menu+0x56> |
23ce: 84 30 cpi r24, 0x04 ; 4 |
23d0: 91 05 cpc r25, r1 |
23d2: 1c f4 brge .+6 ; 0x23da <main_menu+0x4a> |
23d4: 02 97 sbiw r24, 0x02 ; 2 |
23d6: 21 f0 breq .+8 ; 0x23e0 <main_menu+0x50> |
23d8: 08 95 ret |
23da: 04 97 sbiw r24, 0x04 ; 4 |
23dc: 39 f0 breq .+14 ; 0x23ec <main_menu+0x5c> |
23de: 08 95 ret |
{ |
case 2: |
display_data(); // LCD-Modus |
23e0: 0e 94 23 12 call 0x2446 <display_data> |
break; |
23e4: 08 95 ret |
case 3: |
edit_parameter(); // Parameter (Settings) laden/editieren |
23e6: 0e 94 c7 10 call 0x218e <edit_parameter> |
break; |
23ea: 08 95 ret |
case 4: |
motor_test(); // primitiver Motor-Test |
23ec: 0e 94 83 12 call 0x2506 <motor_test> |
23f0: 08 95 ret |
000023f2 <read_display>: |
#include "parameter.h" |
#include "menu.h" |
uint8_t read_display (uint8_t command) // |
{ |
23f2: cf 93 push r28 |
uint8_t timeout; |
timeout = 0; |
23f4: c0 e0 ldi r28, 0x00 ; 0 |
p_buffer[0] = '#'; // Display-Zeile anfordern |
23f6: 93 e2 ldi r25, 0x23 ; 35 |
23f8: 90 93 63 04 sts 0x0463, r25 |
p_buffer[1] = 'a'; |
23fc: 91 e6 ldi r25, 0x61 ; 97 |
23fe: 90 93 64 04 sts 0x0464, r25 |
p_buffer[2] = 'h'; |
2402: 98 e6 ldi r25, 0x68 ; 104 |
2404: 90 93 65 04 sts 0x0465, r25 |
p_buffer[3] = command; |
2408: 80 93 66 04 sts 0x0466, r24 |
p_buffer[4] = 0; |
240c: c0 93 67 04 sts 0x0467, r28 |
p_buffer[5] = 0; |
2410: c0 93 68 04 sts 0x0468, r28 |
base64_send(6); |
2414: 86 e0 ldi r24, 0x06 ; 6 |
2416: 0e 94 bc 0c call 0x1978 <base64_send> |
do // warten, bis die Parameter gesendet werden |
{ |
if (get_message() == 1) |
241a: 0e 94 95 0c call 0x192a <get_message> |
241e: 81 30 cpi r24, 0x01 ; 1 |
2420: 09 f4 brne .+2 ; 0x2424 <read_display+0x32> |
timeout = 10; |
2422: ca e0 ldi r28, 0x0A ; 10 |
timeout ++; |
2424: cf 5f subi r28, 0xFF ; 255 |
} |
2426: 80 91 ea 04 lds r24, 0x04EA |
242a: 80 53 subi r24, 0x30 ; 48 |
242c: 85 30 cpi r24, 0x05 ; 5 |
242e: 10 f0 brcs .+4 ; 0x2434 <read_display+0x42> |
2430: ca 30 cpi r28, 0x0A ; 10 |
2432: 98 f3 brcs .-26 ; 0x241a <read_display+0x28> |
while (((r_buffer[1] < '0') || (r_buffer[1] > '4')) && (timeout < 10)); |
if (timeout >= 10) |
2434: ca 30 cpi r28, 0x0A ; 10 |
2436: 18 f0 brcs .+6 ; 0x243e <read_display+0x4c> |
return 1; |
2438: 81 e0 ldi r24, 0x01 ; 1 |
243a: 90 e0 ldi r25, 0x00 ; 0 |
243c: 02 c0 rjmp .+4 ; 0x2442 <read_display+0x50> |
else |
return 0; |
243e: 80 e0 ldi r24, 0x00 ; 0 |
2440: 90 e0 ldi r25, 0x00 ; 0 |
2442: cf 91 pop r28 |
2444: 08 95 ret |
00002446 <display_data>: |
} |
void display_data (void) |
{ |
2446: 0f 93 push r16 |
2448: 1f 93 push r17 |
244a: cf 93 push r28 |
244c: df 93 push r29 |
244e: cd b7 in r28, 0x3d ; 61 |
2450: de b7 in r29, 0x3e ; 62 |
2452: 2a 97 sbiw r28, 0x0a ; 10 |
2454: 0f b6 in r0, 0x3f ; 63 |
2456: f8 94 cli |
2458: de bf out 0x3e, r29 ; 62 |
245a: 0f be out 0x3f, r0 ; 63 |
245c: cd bf out 0x3d, r28 ; 61 |
uint8_t line; |
uint8_t text[10]; |
lcd_cls(); |
245e: 0e 94 36 07 call 0xe6c <lcd_cls> |
lcd_printp(PSTR("Display"),0); |
2462: 60 e0 ldi r22, 0x00 ; 0 |
2464: 89 ed ldi r24, 0xD9 ; 217 |
2466: 9c e0 ldi r25, 0x0C ; 12 |
2468: 0e 94 aa 08 call 0x1154 <lcd_printp> |
do |
{ |
while (key != 0x00); |
246c: 00 91 e6 04 lds r16, 0x04E6 |
2470: 00 23 and r16, r16 |
2472: e1 f7 brne .-8 ; 0x246c <display_data+0x26> |
if (read_display(0) == 1) |
2474: 80 2f mov r24, r16 |
2476: 0e 94 f9 11 call 0x23f2 <read_display> |
247a: 81 30 cpi r24, 0x01 ; 1 |
247c: 69 f4 brne .+26 ; 0x2498 <display_data+0x52> |
{ |
lcd_printp(PSTR("\r\nTimeout!"),0); |
247e: 60 2f mov r22, r16 |
2480: 81 ee ldi r24, 0xE1 ; 225 |
2482: 9c e0 ldi r25, 0x0C ; 12 |
2484: 0e 94 aa 08 call 0x1154 <lcd_printp> |
timer = 200; |
2488: 88 ec ldi r24, 0xC8 ; 200 |
248a: 80 93 61 00 sts 0x0061, r24 |
while (timer > 0); |
248e: 80 91 61 00 lds r24, 0x0061 |
2492: 88 23 and r24, r24 |
2494: e1 f7 brne .-8 ; 0x248e <display_data+0x48> |
break; |
2496: 2c c0 rjmp .+88 ; 0x24f0 <display_data+0xaa> |
} |
else |
{ |
line = r_buffer[1]; |
2498: 10 91 ea 04 lds r17, 0x04EA |
text[0] = line; |
249c: 19 83 std Y+1, r17 ; 0x01 |
text[1] = 0x00; |
249e: 0a 83 std Y+2, r16 ; 0x02 |
lcd_print_at(10,0,text,0); |
24a0: 20 2f mov r18, r16 |
24a2: ae 01 movw r20, r28 |
24a4: 4f 5f subi r20, 0xFF ; 255 |
24a6: 5f 4f sbci r21, 0xFF ; 255 |
24a8: 60 2f mov r22, r16 |
24aa: 8a e0 ldi r24, 0x0A ; 10 |
24ac: 0e 94 1d 09 call 0x123a <lcd_print_at> |
lcd_print_at(0,line+1,p_buffer,0); |
24b0: 1f 5f subi r17, 0xFF ; 255 |
24b2: 20 2f mov r18, r16 |
24b4: 43 e6 ldi r20, 0x63 ; 99 |
24b6: 54 e0 ldi r21, 0x04 ; 4 |
24b8: 61 2f mov r22, r17 |
24ba: 80 2f mov r24, r16 |
24bc: 0e 94 1d 09 call 0x123a <lcd_print_at> |
timer = 10; |
24c0: 8a e0 ldi r24, 0x0A ; 10 |
24c2: 80 93 61 00 sts 0x0061, r24 |
while(timer > 0); |
24c6: 80 91 61 00 lds r24, 0x0061 |
24ca: 88 23 and r24, r24 |
24cc: e1 f7 brne .-8 ; 0x24c6 <display_data+0x80> |
if (key == 0x01) |
24ce: 80 91 e6 04 lds r24, 0x04E6 |
24d2: 81 30 cpi r24, 0x01 ; 1 |
24d4: 11 f4 brne .+4 ; 0x24da <display_data+0x94> |
read_display(1); |
24d6: 0e 94 f9 11 call 0x23f2 <read_display> |
if (key == 0x02) |
24da: 80 91 e6 04 lds r24, 0x04E6 |
24de: 82 30 cpi r24, 0x02 ; 2 |
24e0: 11 f4 brne .+4 ; 0x24e6 <display_data+0xa0> |
read_display(2); |
24e2: 0e 94 f9 11 call 0x23f2 <read_display> |
} |
} |
24e6: 80 91 e6 04 lds r24, 0x04E6 |
24ea: 84 30 cpi r24, 0x04 ; 4 |
24ec: 09 f0 breq .+2 ; 0x24f0 <display_data+0xaa> |
24ee: be cf rjmp .-132 ; 0x246c <display_data+0x26> |
24f0: 2a 96 adiw r28, 0x0a ; 10 |
24f2: 0f b6 in r0, 0x3f ; 63 |
24f4: f8 94 cli |
24f6: de bf out 0x3e, r29 ; 62 |
24f8: 0f be out 0x3f, r0 ; 63 |
24fa: cd bf out 0x3d, r28 ; 61 |
24fc: df 91 pop r29 |
24fe: cf 91 pop r28 |
2500: 1f 91 pop r17 |
2502: 0f 91 pop r16 |
2504: 08 95 ret |
00002506 <motor_test>: |
#include "base64.h" |
void motor_test(void) |
{ |
lcd_cls(); |
2506: 0e 94 36 07 call 0xe6c <lcd_cls> |
while (key != 0x00); |
250a: 60 91 e6 04 lds r22, 0x04E6 |
250e: 66 23 and r22, r22 |
2510: e1 f7 brne .-8 ; 0x250a <motor_test+0x4> |
lcd_printp(PSTR("Taste drücken\r\n"),0); |
2512: 8c ee ldi r24, 0xEC ; 236 |
2514: 9c e0 ldi r25, 0x0C ; 12 |
2516: 0e 94 aa 08 call 0x1154 <lcd_printp> |
while (key == 0x00); |
251a: 80 91 e6 04 lds r24, 0x04E6 |
251e: 88 23 and r24, r24 |
2520: e1 f3 breq .-8 ; 0x251a <motor_test+0x14> |
if (key == 0x08) // nur, wenn die Bestätigungstaste gedrückt wird |
2522: 80 91 e6 04 lds r24, 0x04E6 |
2526: 88 30 cpi r24, 0x08 ; 8 |
2528: c9 f4 brne .+50 ; 0x255c <motor_test+0x56> |
{ |
p_buffer[0] = '#'; // Motoren einschalten |
252a: 83 e2 ldi r24, 0x23 ; 35 |
252c: 80 93 63 04 sts 0x0463, r24 |
p_buffer[1] = 'a'; |
2530: 81 e6 ldi r24, 0x61 ; 97 |
2532: 80 93 64 04 sts 0x0464, r24 |
p_buffer[2] = 't'; |
2536: 84 e7 ldi r24, 0x74 ; 116 |
2538: 80 93 65 04 sts 0x0465, r24 |
p_buffer[3] = 10; |
253c: 8a e0 ldi r24, 0x0A ; 10 |
253e: 80 93 66 04 sts 0x0466, r24 |
p_buffer[4] = 10; |
2542: 80 93 67 04 sts 0x0467, r24 |
p_buffer[5] = 10; |
2546: 80 93 68 04 sts 0x0468, r24 |
p_buffer[6] = 10; |
254a: 80 93 69 04 sts 0x0469, r24 |
p_buffer[7] = 0; |
254e: 10 92 6a 04 sts 0x046A, r1 |
p_buffer[8] = 0; |
2552: 10 92 6b 04 sts 0x046B, r1 |
base64_send(9); |
2556: 89 e0 ldi r24, 0x09 ; 9 |
2558: 0e 94 bc 0c call 0x1978 <base64_send> |
} |
while (key != 0x00); |
255c: 80 91 e6 04 lds r24, 0x04E6 |
25 |