?? main.s
字號:
ldi R17,>L23
xcall lpm32
st -y,R19
st -y,R18
st -y,R17
st -y,R16
xcall div32f
movw R30,R28
std z+0,R16
std z+1,R17
std z+2,R18
std z+3,R19
.dbline 148
;
; ulNextF=dNextF*1000000;
ldi R16,<L19
ldi R17,>L19
xcall lpm32
st -y,R19
st -y,R18
st -y,R17
st -y,R16
movw R30,R28
; stack offset 4
ldd R2,z+4
ldd R3,z+5
ldd R4,z+6
ldd R5,z+7
st -y,R5
st -y,R4
st -y,R3
st -y,R2
xcall empy32f
movw R30,R28
std z+16,R16
std z+17,R17
std z+18,R18
std z+19,R19
movw R30,R28
ldd R2,z+16
ldd R3,z+17
ldd R4,z+18
ldd R5,z+19
st -y,R5
st -y,R4
st -y,R3
st -y,R2
ldi R16,<L26
ldi R17,>L26
xcall lpm32
st -y,R19
st -y,R18
st -y,R17
st -y,R16
xcall cmp32f
brlt L24
movw R30,R28
ldd R2,z+16
ldd R3,z+17
ldd R4,z+18
ldd R5,z+19
st -y,R5
st -y,R4
st -y,R3
st -y,R2
ldi R16,<L26
ldi R17,>L26
xcall lpm32
st -y,R19
st -y,R18
st -y,R17
st -y,R16
xcall sub32f
xcall fp2long
movw R2,R16
movw R4,R18
ldi R20,0
ldi R21,0
ldi R22,0
ldi R23,128
add R2,R20
adc R3,R21
adc R4,R22
adc R5,R23
movw R30,R28
std z+12,R2
std z+13,R3
std z+14,R4
std z+15,R5
xjmp L25
L24:
movw R30,R28
ldd R16,z+16
ldd R17,z+17
ldd R18,z+18
ldd R19,z+19
xcall fp2long
movw R30,R28
std z+12,R16
std z+13,R17
std z+14,R18
std z+15,R19
L25:
movw R30,R28
ldd R2,z+12
ldd R3,z+13
ldd R4,z+14
ldd R5,z+15
movw R30,R28
std z+8,R2
std z+9,R3
std z+10,R4
std z+11,R5
.dbline 149
; return ulNextF;
movw R30,R28
ldd R16,z+8
ldd R17,z+9
ldd R18,z+10
ldd R19,z+11
.dbline -2
L17:
adiw R28,20
xcall pop_gset2
adiw R28,4
.dbline 0 ; func end
ret
.dbsym l ulNextF 8 l
.dbsym l dNowF 4 D
.dbsym l dNextF 0 D
.dbsym l dNowRad2 28 D
.dbsym l ulNowF 24 l
.dbend
.dbfunc e main _main fV
; ucFlag -> <dead>
; dFy -> y+76
; k -> <dead>
; j -> <dead>
; dEx -> y+72
; dEy2T -> y+68
; dEy1T -> y+64
; ucFX -> R10
; slEy -> y+60
; dEyTotal -> y+56
; ulFX -> y+52
; dRad2 -> y+48
; dDeltaRad -> y+44
; i -> y+40
; dEy -> y+36
; dTotalData -> y+32
; ulFY -> y+28
; usADDATA -> y+20
; dADDATA -> y+4
.even
_main::
sbiw R28,63
sbiw R28,17 ; offset = 80
.dbline -1
.dbline 155
; }
;
;
;
; void main(void)
; {
.dbline 156
; u32 i=0xFFFFFF;
ldi R20,255
ldi R21,255
ldi R22,255
ldi R23,0
movw R30,R28
std z+40,R20
std z+41,R21
std z+42,R22
std z+43,R23
.dbline 176
; u16 j,k;
; u16 usADDATA[4];
; double dADDATA[4];
; double dEx,dEy;
; double dTotalData;
;
; double dEy1T,dEy2T,dEyTotal;
;
; double dDeltaRad,dRad2;
;
; double dFy;
;
; s32 slEy;
;
; u32 ulFX,ulFY;
;
; u8 ucFlag;
;
;
; u8 ucFX=99;
ldi R24,99
mov R10,R24
.dbline 179
;
;
; SysInit();
xcall _SysInit
.dbline 182
;
;
; ulFX=45000;
ldi R20,200
ldi R21,175
ldi R22,0
ldi R23,0
movw R30,R28
std z+52,R20
std z+53,R21
std z+54,R22
std z+55,R23
.dbline 183
; ulFY=Fy0;
ldi R20,58
ldi R21,239
ldi R22,0
ldi R23,0
movw R30,R28
std z+28,R20
std z+29,R21
std z+30,R22
std z+31,R23
.dbline 186
;
;
; ulFY=61000;
ldi R20,72
ldi R21,238
ldi R22,0
ldi R23,0
movw R30,R28
std z+28,R20
std z+29,R21
std z+30,R22
std z+31,R23
.dbline 187
; OutputFrequency(ulFY,ulFX);
movw R30,R28
ldd R2,z+52
ldd R3,z+53
ldd R4,z+54
ldd R5,z+55
std y+0,R2
std y+1,R3
std y+2,R4
std y+3,R5
movw R30,R28
ldd R16,z+28
ldd R17,z+29
ldd R18,z+30
ldd R19,z+31
xcall _OutputFrequency
.dbline 216
;
;
; //ulFY=70000;
; //OutputFrequency3(ucFX);
;
; /*
; ucFlag=0;
; while(1)
; {
; if(ucFlag)
; {
; OutputFrequency2();
; ucFlag=0;
; }
; else
; {
; OutputFrequency1();
; ucFlag=1;
; }
; delayus(200);
; delayus(100);
; //delayus(200);
; //delayus(200);
; //delayus(200);
; //delayus(200);
; //delayms(10);
; }
; */
; delayms(10);
ldi R16,10
xcall _delayms
xjmp L29
L28:
.dbline 220
;
;
; while(1)
; {
.dbline 221
; NOP();
nop
.dbline 222
; delayms(3);
ldi R16,3
xcall _delayms
.dbline 223
; usAD_GetData(usADDATA);
movw R16,R28
subi R16,236 ; offset = 20
sbci R17,255
xcall _usAD_GetData
.dbline 234
; //dADDATA[0]=(double)usADDATA[0];
; //dADDATA[1]=(double)usADDATA[1];
; //dADDATA[2]=(double)usADDATA[2];
; //dADDATA[3]=(double)usADDATA[3];
; //dTotalData=dADDATA[QDA]+dADDATA[QDB]+dADDATA[QDC]+dADDATA[QDD];
;
;
; //dEx=(dADDATA[QDA]+dADDATA[QDD]-dADDATA[QDB]-dADDATA[QDC])/dTotalData;
; //dEy=(dADDATA[QDA]+dADDATA[QDB]-dADDATA[QDC]-dADDATA[QDD])/dTotalData;
;
; slEy=usADDATA[QDA];
ldd R2,y+20
ldd R3,y+21
clr R4
clr R5
movw R30,R28
std z+60,R2
std z+61,R3
std z+62,R4
std z+63,R5
.dbline 235
; slEy=slEy+usADDATA[QDB];
ldd R2,y+22
ldd R3,y+23
clr R4
clr R5
movw R30,R28
ldd R6,z+60
ldd R7,z+61
ldd R8,z+62
ldd R9,z+63
add R6,R2
adc R7,R3
adc R8,R4
adc R9,R5
movw R30,R28
std z+60,R6
std z+61,R7
std z+62,R8
std z+63,R9
.dbline 236
; slEy=slEy-usADDATA[QDC];
ldd R2,y+24
ldd R3,y+25
clr R4
clr R5
movw R30,R28
ldd R6,z+60
ldd R7,z+61
ldd R8,z+62
ldd R9,z+63
sub R6,R2
sbc R7,R3
sbc R8,R4
sbc R9,R5
movw R30,R28
std z+60,R6
std z+61,R7
std z+62,R8
std z+63,R9
.dbline 237
; slEy=slEy-usADDATA[QDD];
ldd R2,y+26
ldd R3,y+27
clr R4
clr R5
movw R30,R28
ldd R6,z+60
ldd R7,z+61
ldd R8,z+62
ldd R9,z+63
sub R6,R2
sbc R7,R3
sbc R8,R4
sbc R9,R5
movw R30,R28
std z+60,R6
std z+61,R7
std z+62,R8
std z+63,R9
.dbline 239
;
; if(slEy!=0)
ldi R20,0
ldi R21,0
ldi R22,0
ldi R23,0
movw R30,R28
ldd R2,z+60
ldd R3,z+61
ldd R4,z+62
ldd R5,z+63
cp R2,R20
cpc R3,R21
cpc R4,R22
cpc R5,R23
brne X2
xjmp L34
X2:
.dbline 240
; {
.dbline 241
; if(slEy>0)
ldi R20,0
ldi R21,0
ldi R22,0
ldi R23,0
movw R30,R28
ldd R2,z+60
ldd R3,z+61
ldd R4,z+62
ldd R5,z+63
cp R20,R2
cpc R21,R3
cpc R22,R4
cpc R23,R5
brlt X3
xjmp L36
X3:
.dbline 242
; {
.dbline 243
; ulFY=ulFY+100;
ldi R20,100
ldi R21,0
ldi R22,0
ldi R23,0
movw R30,R28
ldd R2,z+28
ldd R3,z+29
ldd R4,z+30
ldd R5,z+31
add R2,R20
adc R3,R21
adc R4,R22
adc R5,R23
movw R30,R28
std z+28,R2
std z+29,R3
std z+30,R4
std z+31,R5
.dbline 244
; if(ulFY>70000) ulFY=70000;
ldi R20,112
ldi R21,17
ldi R22,1
ldi R23,0
movw R30,R28
ldd R2,z+28
ldd R3,z+29
ldd R4,z+30
ldd R5,z+31
cp R20,R2
cpc R21,R3
cpc R22,R4
cpc R23,R5
brlo X4
xjmp L37
X4:
.dbline 244
ldi R20,112
ldi R21,17
ldi R22,1
ldi R23,0
movw R30,R28
std z+28,R20
std z+29,R21
std z+30,R22
std z+31,R23
.dbline 245
; }
xjmp L37
L36:
.dbline 247
; else
; {
.dbline 248
; ulFY=ulFY-100;
ldi R20,100
ldi R21,0
ldi R22,0
ldi R23,0
movw R30,R28
ldd R2,z+28
ldd R3,z+29
ldd R4,z+30
ldd R5,z+31
sub R2,R20
sbc R3,R21
sbc R4,R22
sbc R5,R23
movw R30,R28
std z+28,R2
std z+29,R3
std z+30,R4
std z+31,R5
.dbline 249
; if(ulFY<40000) ulFY=40000;
ldi R20,64
ldi R21,156
ldi R22,0
ldi R23,0
movw R30,R28
ldd R2,z+28
ldd R3,z+29
ldd R4,z+30
ldd R5,z+31
cp R2,R20
cpc R3,R21
cpc R4,R22
cpc R5,R23
brsh L40
.dbline 249
ldi R20,64
ldi R21,156
ldi R22,0
ldi R23,0
movw R30,R28
std z+28,R20
std z+29,R21
std z+30,R22
std z+31,R23
L40:
.dbline 250
; }
L37:
.dbline 251
; OutputFrequency(ulFY,ulFX);
movw R30,R28
ldd R2,z+52
ldd R3,z+53
ldd R4,z+54
ldd R5,z+55
std y+0,R2
std y+1,R3
std y+2,R4
std y+3,R5
movw R30,R28
ldd R16,z+28
ldd R17,z+29
ldd R18,z+30
ldd R19,z+31
xcall _OutputFrequency
.dbline 252
; }
L34:
.dbline 254
nop
.dbline 255
nop
.dbline 256
L29:
.dbline 219
xjmp L28
L42:
.dbline 260
;
; NOP();
; NOP();
; }
;
;
; while(1)
; {
.dbline 261
; usAD_GetData(usADDATA);
movw R16,R28
subi R16,236 ; offset = 20
sbci R17,255
xcall _usAD_GetData
.dbline 262
; if(usADDATA[QDD]>0x6FFF)
ldi R24,28671
ldi R25,111
ldd R2,y+26
ldd R3,y+27
cp R24,R2
cpc R25,R3
brsh L45
.dbline 263
; ucFX=ucFX+1;
inc R10
xjmp L46
L45:
.dbline 265
; else //if(usADDATA[QDD]<10)
; ucFX=ucFX-1;
dec R10
L46:
.dbline 266
ldi R16,3
xcall _delayms
.dbline 267
mov R16,R10
xcall _ucHex2BCD
xcall _OutputFrequency3
.dbline 269
L43:
.dbline 259
xjmp L42
L48:
.dbline 274
; delayms(3);
; OutputFrequency3(ucHex2BCD(ucFX));
;
; }
;
;
;
; while(1)
; {
.dbline 275
; usAD_GetData(usADDATA);
movw R16,R28
subi R16,236 ; offset = 20
sbci R17,255
xcall _usAD_GetData
.dbline 276
; if(usADDATA[QDD]>100)
ldi R24,100
ldi R25,0
ldd R2,y+26
ldd R3,y+27
cp R24,R2
cpc R25,R3
brsh L51
.dbline 277
; OutputFrequency2();
xcall _OutputFrequency2
xjmp L52
L51:
.dbline 278
; else if(usADDATA[QDD]<10)
ldd R24,y+26
ldd R25,y+27
cpi R24,10
ldi R30,0
cpc R25,R30
brsh L54
.dbline 279
; OutputFrequency1();
xcall _OutputFrequency1
L54:
L52:
.dbline 282
L49:
.dbline 273
xjmp L48
L57:
.dbline 288
.dbline 289
xcall _OutputFrequency1
.dbline 290
ldi R16,255
xcall _delay
.dbline 291
ldi R16,255
xcall _delay
.dbline 292
xcall _OutputFrequency2
.dbline 293
ldi R16,255
xcall _delay
.dbline 294
ldi R16,255
xcall _delay
.dbline 295
L58:
.dbline 287
; //delayms(3);
;
; }
;
;
;
;
; while(1)
xjmp L57
X0:
.dbline 303
; {
; OutputFrequency1();
; delay(0xFF);
; delay(0xFF);
; OutputFrequency2();
; delay(0xFF);
; delay(0xFF);
; }
;
;
;
;
;
;
;
; dEy1T=0;
ldi R16,<L60
ldi R17,>L60
xcall lpm32
movw R30,R28
subi R30,192 ; addi 64
sbci R31,255
std z+0,R16
std z+1,R17
std z+2,R18
std z+3,R19
.dbline 304
; dEy2T=0;
ldi R16,<L60
ldi R17,>L60
xcall lpm32
movw R30,R28
subi R30,188 ; addi 68
sbci R31,255
std z+0,R16
std z+1,R17
std z+2,R18
std z+3,R19
.dbline 305
; for(i=0;i<1000;i++)
ldi R20,0
ldi R21,0
ldi R22,0
ldi R23,0
movw R30,R28
std z+40,R20
std z+41,R21
std z+42,R22
std z+43,R23
xjmp L64
L61:
.dbline 306
.dbline 307
ldi R20,84
ldi R21,236
ldi R22,0
ldi R23,0
movw R30,R28
std z+28,R20
std z+29,R21
std z+30,R22
std z+31,R23
.dbline 308
movw R30,R28
ldd R2,z+52
ldd R3,z+53
ldd R4,z+54
ldd R5,z+55
std y+0,R2
std y+1,R3
std y+2,R4
std y+3,R5
movw R30,R28
ldd R16,z+28
ldd R17,z+29
ldd R18,z+30
ldd R19,z+31
xcall _OutputFrequency
.dbline 309
ldi R16,10
xcall _delayms
.dbline 310
movw R16,R28
subi R16,236 ; offset = 20
sbci R17,255
xcall _usAD_GetData
.dbline 311
ldi R16,<L18
ldi R17,>L18
xcall lpm32
st -y,R19
st -y,R18
st -y,R17
st -y,R16
; stack offset 4
ldd R16,y+24
ldd R17,y+25
lsr R17
ror R16
xcall int2fp
st -y,R19
st -y,R18
st -y,R17
st -y,R16
xcall empy32fs
; stack offset 4
ldd R16,y+24
ldd R17,y+25
andi R16,1
andi R17,0
xcall int2fp
st -y,R19
st -y,R18
st -y,R17
st -y,R16
xcall add32f
movw R30,R28
std z+4,R16
std z+5,R17
std z+6,R18
std z+7,R19
.dbline 312
ldi R16,<L18
ldi R17,>L18
xcall lpm32
st -y,R19
st -y,R18
st -y,R17
st -y,R16
; stack offset 4
ldd R16,y+26
ldd R17,y+27
lsr R17
ror R16
xcall int2fp
st -y,R19
st -y,R18
st -y,R17
st -y,R16
xcall empy32fs
; stack offset 4
ldd R16,y+26
ldd R17,y+27
andi R16,1
andi R17,0
xcall int2fp
st -y,R19
st -y,R18
st -y,R17
st -y,R16
xcall add32f
movw R30,R28
std z+8,R16
std z+9,R17
std z+10,R18
std z+11,R19
.dbline 313
ldi R16,<L18
ldi R17,>L18
xcall lpm32
st -y,R19
st -y,R18
st -y,R17
st -y,R16
; stack offset 4
ldd R16,y+28
ldd R17,y+29
?? 快捷鍵說明
復制代碼
Ctrl + C
搜索代碼
Ctrl + F
全屏模式
F11
切換主題
Ctrl + Shift + D
顯示快捷鍵
?
增大字號
Ctrl + =
減小字號
Ctrl + -