| { |
| "asm": [ |
| { |
| "text": "__SREG__ = 0x3f", |
| "source": null, |
| "labels": [] |
| }, |
| { |
| "text": "__SP_H__ = 0x3e", |
| "source": null, |
| "labels": [] |
| }, |
| { |
| "text": "__SP_L__ = 0x3d", |
| "source": null, |
| "labels": [] |
| }, |
| { |
| "text": "__tmp_reg__ = 0", |
| "source": null, |
| "labels": [] |
| }, |
| { |
| "text": "__zero_reg__ = 1", |
| "source": null, |
| "labels": [] |
| }, |
| { |
| "text": "_Z12testFunctionPii:", |
| "source": null, |
| "labels": [] |
| }, |
| { |
| "text": " push r29", |
| "source": { |
| "file": null, |
| "line": 1 |
| }, |
| "labels": [] |
| }, |
| { |
| "text": " push r28", |
| "source": { |
| "file": null, |
| "line": 1 |
| }, |
| "labels": [] |
| }, |
| { |
| "text": " in r28,__SP_L__", |
| "source": { |
| "file": null, |
| "line": 1 |
| }, |
| "labels": [ |
| { |
| "name": "__SP_L__", |
| "range": { |
| "startCol": 16, |
| "endCol": 24 |
| } |
| } |
| ] |
| }, |
| { |
| "text": " in r29,__SP_H__", |
| "source": { |
| "file": null, |
| "line": 1 |
| }, |
| "labels": [ |
| { |
| "name": "__SP_H__", |
| "range": { |
| "startCol": 16, |
| "endCol": 24 |
| } |
| } |
| ] |
| }, |
| { |
| "text": " sbiw r28,8", |
| "source": { |
| "file": null, |
| "line": 1 |
| }, |
| "labels": [] |
| }, |
| { |
| "text": " in __tmp_reg__,__SREG__", |
| "source": { |
| "file": null, |
| "line": 1 |
| }, |
| "labels": [ |
| { |
| "name": "__tmp_reg__", |
| "range": { |
| "startCol": 12, |
| "endCol": 23 |
| } |
| }, |
| { |
| "name": "__SREG__", |
| "range": { |
| "startCol": 24, |
| "endCol": 32 |
| } |
| } |
| ] |
| }, |
| { |
| "text": " cli", |
| "source": { |
| "file": null, |
| "line": 1 |
| }, |
| "labels": [] |
| }, |
| { |
| "text": " out __SP_H__,r29", |
| "source": { |
| "file": null, |
| "line": 1 |
| }, |
| "labels": [ |
| { |
| "name": "__SP_H__", |
| "range": { |
| "startCol": 13, |
| "endCol": 21 |
| } |
| } |
| ] |
| }, |
| { |
| "text": " out __SREG__,__tmp_reg__", |
| "source": { |
| "file": null, |
| "line": 1 |
| }, |
| "labels": [ |
| { |
| "name": "__SREG__", |
| "range": { |
| "startCol": 13, |
| "endCol": 21 |
| } |
| }, |
| { |
| "name": "__tmp_reg__", |
| "range": { |
| "startCol": 22, |
| "endCol": 33 |
| } |
| } |
| ] |
| }, |
| { |
| "text": " out __SP_L__,r28", |
| "source": { |
| "file": null, |
| "line": 1 |
| }, |
| "labels": [ |
| { |
| "name": "__SP_L__", |
| "range": { |
| "startCol": 13, |
| "endCol": 21 |
| } |
| } |
| ] |
| }, |
| { |
| "text": " std Y+6,r25", |
| "source": { |
| "file": null, |
| "line": 1 |
| }, |
| "labels": [] |
| }, |
| { |
| "text": " std Y+5,r24", |
| "source": { |
| "file": null, |
| "line": 1 |
| }, |
| "labels": [] |
| }, |
| { |
| "text": " std Y+8,r23", |
| "source": { |
| "file": null, |
| "line": 1 |
| }, |
| "labels": [] |
| }, |
| { |
| "text": " std Y+7,r22", |
| "source": { |
| "file": null, |
| "line": 1 |
| }, |
| "labels": [] |
| }, |
| { |
| "text": " std Y+2,__zero_reg__", |
| "source": { |
| "file": null, |
| "line": 2 |
| }, |
| "labels": [ |
| { |
| "name": "__zero_reg__", |
| "range": { |
| "startCol": 17, |
| "endCol": 29 |
| } |
| } |
| ] |
| }, |
| { |
| "text": " std Y+1,__zero_reg__", |
| "source": { |
| "file": null, |
| "line": 2 |
| }, |
| "labels": [ |
| { |
| "name": "__zero_reg__", |
| "range": { |
| "startCol": 17, |
| "endCol": 29 |
| } |
| } |
| ] |
| }, |
| { |
| "text": " std Y+4,__zero_reg__", |
| "source": { |
| "file": null, |
| "line": 3 |
| }, |
| "labels": [ |
| { |
| "name": "__zero_reg__", |
| "range": { |
| "startCol": 17, |
| "endCol": 29 |
| } |
| } |
| ] |
| }, |
| { |
| "text": " std Y+3,__zero_reg__", |
| "source": { |
| "file": null, |
| "line": 3 |
| }, |
| "labels": [ |
| { |
| "name": "__zero_reg__", |
| "range": { |
| "startCol": 17, |
| "endCol": 29 |
| } |
| } |
| ] |
| }, |
| { |
| "text": " rjmp .L2", |
| "source": { |
| "file": null, |
| "line": 3 |
| }, |
| "labels": [ |
| { |
| "name": ".L2", |
| "range": { |
| "startCol": 14, |
| "endCol": 17 |
| } |
| } |
| ] |
| }, |
| { |
| "text": ".L4:", |
| "source": null, |
| "labels": [] |
| }, |
| { |
| "text": " ldd r24,Y+3", |
| "source": { |
| "file": null, |
| "line": 4 |
| }, |
| "labels": [] |
| }, |
| { |
| "text": " ldd r25,Y+4", |
| "source": { |
| "file": null, |
| "line": 4 |
| }, |
| "labels": [] |
| }, |
| { |
| "text": " lsl r24", |
| "source": { |
| "file": null, |
| "line": 4 |
| }, |
| "labels": [] |
| }, |
| { |
| "text": " rol r25", |
| "source": { |
| "file": null, |
| "line": 4 |
| }, |
| "labels": [] |
| }, |
| { |
| "text": " ldd r18,Y+5", |
| "source": { |
| "file": null, |
| "line": 4 |
| }, |
| "labels": [] |
| }, |
| { |
| "text": " ldd r19,Y+6", |
| "source": { |
| "file": null, |
| "line": 4 |
| }, |
| "labels": [] |
| }, |
| { |
| "text": " add r24,r18", |
| "source": { |
| "file": null, |
| "line": 4 |
| }, |
| "labels": [] |
| }, |
| { |
| "text": " adc r25,r19", |
| "source": { |
| "file": null, |
| "line": 4 |
| }, |
| "labels": [] |
| }, |
| { |
| "text": " mov r30,r24", |
| "source": { |
| "file": null, |
| "line": 4 |
| }, |
| "labels": [] |
| }, |
| { |
| "text": " mov r31,r25", |
| "source": { |
| "file": null, |
| "line": 4 |
| }, |
| "labels": [] |
| }, |
| { |
| "text": " ld r24,Z", |
| "source": { |
| "file": null, |
| "line": 4 |
| }, |
| "labels": [] |
| }, |
| { |
| "text": " ldd r25,Z+1", |
| "source": { |
| "file": null, |
| "line": 4 |
| }, |
| "labels": [] |
| }, |
| { |
| "text": " ldd r18,Y+1", |
| "source": { |
| "file": null, |
| "line": 4 |
| }, |
| "labels": [] |
| }, |
| { |
| "text": " ldd r19,Y+2", |
| "source": { |
| "file": null, |
| "line": 4 |
| }, |
| "labels": [] |
| }, |
| { |
| "text": " add r24,r18", |
| "source": { |
| "file": null, |
| "line": 4 |
| }, |
| "labels": [] |
| }, |
| { |
| "text": " adc r25,r19", |
| "source": { |
| "file": null, |
| "line": 4 |
| }, |
| "labels": [] |
| }, |
| { |
| "text": " std Y+2,r25", |
| "source": { |
| "file": null, |
| "line": 4 |
| }, |
| "labels": [] |
| }, |
| { |
| "text": " std Y+1,r24", |
| "source": { |
| "file": null, |
| "line": 4 |
| }, |
| "labels": [] |
| }, |
| { |
| "text": " ldd r24,Y+3", |
| "source": { |
| "file": null, |
| "line": 3 |
| }, |
| "labels": [] |
| }, |
| { |
| "text": " ldd r25,Y+4", |
| "source": { |
| "file": null, |
| "line": 3 |
| }, |
| "labels": [] |
| }, |
| { |
| "text": " adiw r24,1", |
| "source": { |
| "file": null, |
| "line": 3 |
| }, |
| "labels": [] |
| }, |
| { |
| "text": " std Y+4,r25", |
| "source": { |
| "file": null, |
| "line": 3 |
| }, |
| "labels": [] |
| }, |
| { |
| "text": " std Y+3,r24", |
| "source": { |
| "file": null, |
| "line": 3 |
| }, |
| "labels": [] |
| }, |
| { |
| "text": ".L2:", |
| "source": null, |
| "labels": [] |
| }, |
| { |
| "text": " ldi r20,lo8(1)", |
| "source": { |
| "file": null, |
| "line": 3 |
| }, |
| "labels": [] |
| }, |
| { |
| "text": " ldd r18,Y+3", |
| "source": { |
| "file": null, |
| "line": 3 |
| }, |
| "labels": [] |
| }, |
| { |
| "text": " ldd r19,Y+4", |
| "source": { |
| "file": null, |
| "line": 3 |
| }, |
| "labels": [] |
| }, |
| { |
| "text": " ldd r24,Y+7", |
| "source": { |
| "file": null, |
| "line": 3 |
| }, |
| "labels": [] |
| }, |
| { |
| "text": " ldd r25,Y+8", |
| "source": { |
| "file": null, |
| "line": 3 |
| }, |
| "labels": [] |
| }, |
| { |
| "text": " cp r18,r24", |
| "source": { |
| "file": null, |
| "line": 3 |
| }, |
| "labels": [] |
| }, |
| { |
| "text": " cpc r19,r25", |
| "source": { |
| "file": null, |
| "line": 3 |
| }, |
| "labels": [] |
| }, |
| { |
| "text": " brlt .L3", |
| "source": { |
| "file": null, |
| "line": 3 |
| }, |
| "labels": [ |
| { |
| "name": ".L3", |
| "range": { |
| "startCol": 14, |
| "endCol": 17 |
| } |
| } |
| ] |
| }, |
| { |
| "text": " ldi r20,lo8(0)", |
| "source": { |
| "file": null, |
| "line": 3 |
| }, |
| "labels": [] |
| }, |
| { |
| "text": ".L3:", |
| "source": null, |
| "labels": [] |
| }, |
| { |
| "text": " tst r20", |
| "source": { |
| "file": null, |
| "line": 3 |
| }, |
| "labels": [] |
| }, |
| { |
| "text": " brne .L4", |
| "source": { |
| "file": null, |
| "line": 3 |
| }, |
| "labels": [ |
| { |
| "name": ".L4", |
| "range": { |
| "startCol": 14, |
| "endCol": 17 |
| } |
| } |
| ] |
| }, |
| { |
| "text": " ldd r24,Y+1", |
| "source": { |
| "file": null, |
| "line": 6 |
| }, |
| "labels": [] |
| }, |
| { |
| "text": " ldd r25,Y+2", |
| "source": { |
| "file": null, |
| "line": 6 |
| }, |
| "labels": [] |
| }, |
| { |
| "text": " adiw r28,8", |
| "source": { |
| "file": null, |
| "line": 7 |
| }, |
| "labels": [] |
| }, |
| { |
| "text": " in __tmp_reg__,__SREG__", |
| "source": { |
| "file": null, |
| "line": 7 |
| }, |
| "labels": [ |
| { |
| "name": "__tmp_reg__", |
| "range": { |
| "startCol": 12, |
| "endCol": 23 |
| } |
| }, |
| { |
| "name": "__SREG__", |
| "range": { |
| "startCol": 24, |
| "endCol": 32 |
| } |
| } |
| ] |
| }, |
| { |
| "text": " cli", |
| "source": { |
| "file": null, |
| "line": 7 |
| }, |
| "labels": [] |
| }, |
| { |
| "text": " out __SP_H__,r29", |
| "source": { |
| "file": null, |
| "line": 7 |
| }, |
| "labels": [ |
| { |
| "name": "__SP_H__", |
| "range": { |
| "startCol": 13, |
| "endCol": 21 |
| } |
| } |
| ] |
| }, |
| { |
| "text": " out __SREG__,__tmp_reg__", |
| "source": { |
| "file": null, |
| "line": 7 |
| }, |
| "labels": [ |
| { |
| "name": "__SREG__", |
| "range": { |
| "startCol": 13, |
| "endCol": 21 |
| } |
| }, |
| { |
| "name": "__tmp_reg__", |
| "range": { |
| "startCol": 22, |
| "endCol": 33 |
| } |
| } |
| ] |
| }, |
| { |
| "text": " out __SP_L__,r28", |
| "source": { |
| "file": null, |
| "line": 7 |
| }, |
| "labels": [ |
| { |
| "name": "__SP_L__", |
| "range": { |
| "startCol": 13, |
| "endCol": 21 |
| } |
| } |
| ] |
| }, |
| { |
| "text": " pop r28", |
| "source": { |
| "file": null, |
| "line": 7 |
| }, |
| "labels": [] |
| }, |
| { |
| "text": " pop r29", |
| "source": { |
| "file": null, |
| "line": 7 |
| }, |
| "labels": [] |
| }, |
| { |
| "text": " ret", |
| "source": { |
| "file": null, |
| "line": 7 |
| }, |
| "labels": [] |
| } |
| ], |
| "labelDefinitions": { |
| "__SREG__": 1, |
| "__SP_H__": 2, |
| "__SP_L__": 3, |
| "__tmp_reg__": 4, |
| "__zero_reg__": 5, |
| "_Z12testFunctionPii": 6, |
| ".L4": 26, |
| ".L2": 50, |
| ".L3": 60 |
| } |
| } |