GAS LISTING /tmp/ccJKPe9Y.s page 1 1 .file "memtest_16bit.c" 2 __SP_H__ = 0x3e 3 __SP_L__ = 0x3d 4 __SREG__ = 0x3f 5 __RAMPZ__ = 0x3b 6 __tmp_reg__ = 0 7 __zero_reg__ = 1 8 .section .text.MemtestDataBus16,"ax",@progbits 9 .global MemtestDataBus16 10 .type MemtestDataBus16, @function 11 MemtestDataBus16: 12 /* prologue: function */ 13 /* frame size = 0 */ 14 /* stack size = 0 */ 15 .L__stack_usage = 0 16 0000 FC01 movw r30,r24 17 0002 80E1 ldi r24,lo8(16) 18 0004 90E0 ldi r25,0 19 0006 21E0 ldi r18,lo8(1) 20 0008 30E0 ldi r19,0 21 .L3: 22 000a 3183 std Z+1,r19 23 000c 2083 st Z,r18 24 000e 4081 ld r20,Z 25 0010 5181 ldd r21,Z+1 26 0012 4217 cp r20,r18 27 0014 5307 cpc r21,r19 28 0016 01F4 brne .L4 29 0018 220F lsl r18 30 001a 331F rol r19 31 001c 0197 sbiw r24,1 32 001e 01F4 brne .L3 33 0020 0895 ret 34 .L4: 35 0022 C901 movw r24,r18 36 0024 0895 ret 37 .size MemtestDataBus16, .-MemtestDataBus16 38 .section .text.MemtestAddrBus16,"ax",@progbits 39 .global MemtestAddrBus16 40 .type MemtestAddrBus16, @function 41 MemtestAddrBus16: 42 0000 4F92 push r4 43 0002 5F92 push r5 44 0004 6F92 push r6 45 0006 7F92 push r7 46 0008 8F92 push r8 47 000a 9F92 push r9 48 000c AF92 push r10 49 000e BF92 push r11 50 0010 CF92 push r12 51 0012 DF92 push r13 52 0014 EF92 push r14 53 0016 FF92 push r15 54 0018 0F93 push r16 55 001a 1F93 push r17 56 001c CF93 push r28 57 001e DF93 push r29 GAS LISTING /tmp/ccJKPe9Y.s page 2 58 /* prologue: function */ 59 /* frame size = 0 */ 60 /* stack size = 16 */ 61 .L__stack_usage = 16 62 0020 DC01 movw r26,r24 63 0022 AB01 movw r20,r22 64 0024 5695 lsr r21 65 0026 4795 ror r20 66 0028 4150 subi r20,1 67 002a 5109 sbc r21,__zero_reg__ 68 002c 60E0 ldi r22,0 69 002e 70E0 ldi r23,0 70 0030 01E0 ldi r16,lo8(1) 71 0032 10E0 ldi r17,0 72 0034 20E0 ldi r18,0 73 0036 30E0 ldi r19,0 74 0038 8AEA ldi r24,lo8(-86) 75 003a 9AEA ldi r25,lo8(-86) 76 .L8: 77 003c 6801 movw r12,r16 78 003e 7901 movw r14,r18 79 0040 C422 and r12,r20 80 0042 D522 and r13,r21 81 0044 E622 and r14,r22 82 0046 F722 and r15,r23 83 0048 CD28 or r12,r13 84 004a CE28 or r12,r14 85 004c CF28 or r12,r15 86 004e 01F0 breq .L24 87 0050 F801 movw r30,r16 88 0052 EE0F lsl r30 89 0054 FF1F rol r31 90 0056 EA0F add r30,r26 91 0058 FB1F adc r31,r27 92 005a 9183 std Z+1,r25 93 005c 8083 st Z,r24 94 005e 000F lsl r16 95 0060 111F rol r17 96 0062 221F rol r18 97 0064 331F rol r19 98 0066 00C0 rjmp .L8 99 .L24: 100 0068 85E5 ldi r24,lo8(85) 101 006a 95E5 ldi r25,lo8(85) 102 006c 1196 adiw r26,1 103 006e 9C93 st X,r25 104 0070 8E93 st -X,r24 105 0072 01E0 ldi r16,lo8(1) 106 0074 10E0 ldi r17,0 107 0076 20E0 ldi r18,0 108 0078 30E0 ldi r19,0 109 .L10: 110 007a 6801 movw r12,r16 111 007c 7901 movw r14,r18 112 007e C422 and r12,r20 113 0080 D522 and r13,r21 114 0082 E622 and r14,r22 GAS LISTING /tmp/ccJKPe9Y.s page 3 115 0084 F722 and r15,r23 116 0086 CD28 or r12,r13 117 0088 CE28 or r12,r14 118 008a CF28 or r12,r15 119 008c 01F0 breq .L25 120 008e F801 movw r30,r16 121 0090 EE0F lsl r30 122 0092 FF1F rol r31 123 0094 EA0F add r30,r26 124 0096 FB1F adc r31,r27 125 0098 8081 ld r24,Z 126 009a 9181 ldd r25,Z+1 127 009c 8A3A cpi r24,-86 128 009e 9A4A sbci r25,-86 129 00a0 01F0 breq .+2 130 00a2 00C0 rjmp .L20 131 00a4 000F lsl r16 132 00a6 111F rol r17 133 00a8 221F rol r18 134 00aa 331F rol r19 135 00ac 00C0 rjmp .L10 136 .L25: 137 00ae 8AEA ldi r24,lo8(-86) 138 00b0 9AEA ldi r25,lo8(-86) 139 00b2 1196 adiw r26,1 140 00b4 9C93 st X,r25 141 00b6 8E93 st -X,r24 142 00b8 01E0 ldi r16,lo8(1) 143 00ba 10E0 ldi r17,0 144 00bc 20E0 ldi r18,0 145 00be 30E0 ldi r19,0 146 00c0 95E5 ldi r25,lo8(85) 147 00c2 692E mov r6,r25 148 00c4 762C mov r7,r6 149 00c6 EAEA ldi r30,lo8(-86) 150 00c8 4E2E mov r4,r30 151 00ca 542C mov r5,r4 152 .L13: 153 00cc 4801 movw r8,r16 154 00ce 5901 movw r10,r18 155 00d0 8422 and r8,r20 156 00d2 9522 and r9,r21 157 00d4 A622 and r10,r22 158 00d6 B722 and r11,r23 159 00d8 8928 or r8,r9 160 00da 8A28 or r8,r10 161 00dc 8B28 or r8,r11 162 00de 01F0 breq .L26 163 00e0 F801 movw r30,r16 164 00e2 EE0F lsl r30 165 00e4 FF1F rol r31 166 00e6 EA0F add r30,r26 167 00e8 FB1F adc r31,r27 168 00ea 7182 std Z+1,r7 169 00ec 6082 st Z,r6 170 00ee ED90 ld r14,X+ 171 00f0 FC90 ld r15,X GAS LISTING /tmp/ccJKPe9Y.s page 4 172 00f2 1197 sbiw r26,1 173 00f4 DAEA ldi r29,-86 174 00f6 ED16 cp r14,r29 175 00f8 FD06 cpc r15,r29 176 00fa 01F4 brne .L20 177 00fc 812C mov r8,__zero_reg__ 178 00fe 912C mov r9,__zero_reg__ 179 0100 5401 movw r10,r8 180 0102 8394 inc r8 181 .L14: 182 0104 7501 movw r14,r10 183 0106 6401 movw r12,r8 184 0108 C422 and r12,r20 185 010a D522 and r13,r21 186 010c E622 and r14,r22 187 010e F722 and r15,r23 188 0110 CD28 or r12,r13 189 0112 CE28 or r12,r14 190 0114 CF28 or r12,r15 191 0116 01F0 breq .L27 192 0118 7401 movw r14,r8 193 011a EE0C lsl r14 194 011c FF1C rol r15 195 011e EA0E add r14,r26 196 0120 FB1E adc r15,r27 197 0122 E701 movw r28,r14 198 0124 E880 ld r14,Y 199 0126 F980 ldd r15,Y+1 200 0128 DAEA ldi r29,-86 201 012a ED16 cp r14,r29 202 012c FD06 cpc r15,r29 203 012e 01F0 breq .L15 204 0130 8016 cp r8,r16 205 0132 9106 cpc r9,r17 206 0134 A206 cpc r10,r18 207 0136 B306 cpc r11,r19 208 0138 01F4 brne .L20 209 .L15: 210 013a 880C lsl r8 211 013c 991C rol r9 212 013e AA1C rol r10 213 0140 BB1C rol r11 214 0142 00C0 rjmp .L14 215 .L27: 216 0144 5182 std Z+1,r5 217 0146 4082 st Z,r4 218 0148 000F lsl r16 219 014a 111F rol r17 220 014c 221F rol r18 221 014e 331F rol r19 222 0150 00C0 rjmp .L13 223 .L26: 224 0152 80E0 ldi r24,0 225 0154 90E0 ldi r25,0 226 0156 00C0 rjmp .L11 227 .L20: 228 0158 CF01 movw r24,r30 GAS LISTING /tmp/ccJKPe9Y.s page 5 229 .L11: 230 /* epilogue start */ 231 015a DF91 pop r29 232 015c CF91 pop r28 233 015e 1F91 pop r17 234 0160 0F91 pop r16 235 0162 FF90 pop r15 236 0164 EF90 pop r14 237 0166 DF90 pop r13 238 0168 CF90 pop r12 239 016a BF90 pop r11 240 016c AF90 pop r10 241 016e 9F90 pop r9 242 0170 8F90 pop r8 243 0172 7F90 pop r7 244 0174 6F90 pop r6 245 0176 5F90 pop r5 246 0178 4F90 pop r4 247 017a 0895 ret 248 .size MemtestAddrBus16, .-MemtestAddrBus16 249 .section .text.MemtestDevice16,"ax",@progbits 250 .global MemtestDevice16 251 .type MemtestDevice16, @function 252 MemtestDevice16: 253 0000 CF92 push r12 254 0002 DF92 push r13 255 0004 EF92 push r14 256 0006 FF92 push r15 257 0008 CF93 push r28 258 000a DF93 push r29 259 /* prologue: function */ 260 /* frame size = 0 */ 261 /* stack size = 6 */ 262 .L__stack_usage = 6 263 000c AB01 movw r20,r22 264 000e 5695 lsr r21 265 0010 4795 ror r20 266 0012 DC01 movw r26,r24 267 0014 EA01 movw r28,r20 268 0016 2196 adiw r28,1 269 0018 FC01 movw r30,r24 270 001a 21E0 ldi r18,lo8(1) 271 001c 30E0 ldi r19,0 272 001e 60E0 ldi r22,0 273 0020 70E0 ldi r23,0 274 .L29: 275 0022 2C17 cp r18,r28 276 0024 3D07 cpc r19,r29 277 0026 01F0 breq .L38 278 0028 3183 std Z+1,r19 279 002a 2083 st Z,r18 280 002c 3296 adiw r30,2 281 002e 2F5F subi r18,-1 282 0030 3F4F sbci r19,-1 283 0032 00C0 rjmp .L29 284 .L38: 285 0034 FC01 movw r30,r24 GAS LISTING /tmp/ccJKPe9Y.s page 6 286 0036 81E0 ldi r24,lo8(1) 287 0038 90E0 ldi r25,0 288 003a C12C mov r12,__zero_reg__ 289 003c D12C mov r13,__zero_reg__ 290 003e 7601 movw r14,r12 291 .L31: 292 0040 C416 cp r12,r20 293 0042 D506 cpc r13,r21 294 0044 E606 cpc r14,r22 295 0046 F706 cpc r15,r23 296 0048 00F4 brsh .L39 297 004a EF01 movw r28,r30 298 004c 2191 ld r18,Z+ 299 004e 3191 ld r19,Z+ 300 0050 8217 cp r24,r18 301 0052 9307 cpc r25,r19 302 0054 01F4 brne .L36 303 0056 9C01 movw r18,r24 304 0058 2095 com r18 305 005a 3095 com r19 306 005c 3983 std Y+1,r19 307 005e 2883 st Y,r18 308 0060 0196 adiw r24,1 309 0062 2FEF ldi r18,-1 310 0064 C21A sub r12,r18 311 0066 D20A sbc r13,r18 312 0068 E20A sbc r14,r18 313 006a F20A sbc r15,r18 314 006c 00C0 rjmp .L31 315 .L39: 316 006e 2EEF ldi r18,lo8(-2) 317 0070 3FEF ldi r19,lo8(-1) 318 0072 C12C mov r12,__zero_reg__ 319 0074 D12C mov r13,__zero_reg__ 320 0076 7601 movw r14,r12 321 .L34: 322 0078 C416 cp r12,r20 323 007a D506 cpc r13,r21 324 007c E606 cpc r14,r22 325 007e F706 cpc r15,r23 326 0080 00F4 brsh .L40 327 0082 CD01 movw r24,r26 328 0084 CD91 ld r28,X+ 329 0086 DD91 ld r29,X+ 330 0088 F901 movw r30,r18 331 008a 3197 sbiw r30,1 332 008c C217 cp r28,r18 333 008e D307 cpc r29,r19 334 0090 01F4 brne .L32 335 0092 8FEF ldi r24,-1 336 0094 C81A sub r12,r24 337 0096 D80A sbc r13,r24 338 0098 E80A sbc r14,r24 339 009a F80A sbc r15,r24 340 009c 9F01 movw r18,r30 341 009e 00C0 rjmp .L34 342 .L40: GAS LISTING /tmp/ccJKPe9Y.s page 7 343 00a0 80E0 ldi r24,0 344 00a2 90E0 ldi r25,0 345 00a4 00C0 rjmp .L32 346 .L36: 347 00a6 CE01 movw r24,r28 348 .L32: 349 /* epilogue start */ 350 00a8 DF91 pop r29 351 00aa CF91 pop r28 352 00ac FF90 pop r15 353 00ae EF90 pop r14 354 00b0 DF90 pop r13 355 00b2 CF90 pop r12 356 00b4 0895 ret 357 .size MemtestDevice16, .-MemtestDevice16 358 .ident "GCC: (GNU) 5.3.0" GAS LISTING /tmp/ccJKPe9Y.s page 8 DEFINED SYMBOLS *ABS*:0000000000000000 memtest_16bit.c /tmp/ccJKPe9Y.s:2 *ABS*:000000000000003e __SP_H__ /tmp/ccJKPe9Y.s:3 *ABS*:000000000000003d __SP_L__ /tmp/ccJKPe9Y.s:4 *ABS*:000000000000003f __SREG__ /tmp/ccJKPe9Y.s:5 *ABS*:000000000000003b __RAMPZ__ /tmp/ccJKPe9Y.s:6 *ABS*:0000000000000000 __tmp_reg__ /tmp/ccJKPe9Y.s:7 *ABS*:0000000000000001 __zero_reg__ /tmp/ccJKPe9Y.s:11 .text.MemtestDataBus16:0000000000000000 MemtestDataBus16 /tmp/ccJKPe9Y.s:41 .text.MemtestAddrBus16:0000000000000000 MemtestAddrBus16 /tmp/ccJKPe9Y.s:252 .text.MemtestDevice16:0000000000000000 MemtestDevice16 NO UNDEFINED SYMBOLS