
                        .FILE     C:\DOKUMENTE UND EINSTELLUNGEN\CM\EIGENE DATEIEN\DEVELOP\PROJAVR\DDS\DDS.pas

                        ; Compiled by E-LAB AVRco PASCAL Compiler Rev 3.55
                        ; Version     : Profi
                        ;
                        ; Licenced to : Redaktion CT P1
                        ;
                        ; (c)E-LAB Computers, Grombacherstr. 27  e-mail info@e-lab.de
                        ; D-74906 Bad Rappenau  Tel. 07268/9124-0 Fax. 07268/9124-24
                        ; ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
                        ; Source File : DDS.pas
                        ; Compiled    : 23. Oktober 2005  11:13:52
                        ; ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++

                        .SMALL
                        .ROMEND         01FFFh;

                        ; ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
                        ; Constants and Variables definition
                        ; ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++


                        ; === Internal used memory and constants ===

FALSE                   .EQU    000h            ; const 
TRUE                    .EQU    0FFh            ; const 
NIL                     .EQU    000h            ; const 
PI                      .EQU    000h            ; const 
COMPILERREV             .EQU    163h            ; const 
COMPILERBUILD_Y         .EQU    005h            ; const 
COMPILERBUILD_M         .EQU    00Ah            ; const 
COMPILERBUILD_D         .EQU    004h            ; const 
COMPILEYEAR             .EQU    005h            ; const 
COMPILEMONTH            .EQU    00Ah            ; const 
COMPILEDAY              .EQU    017h            ; const 
COMPILEHOUR             .EQU    00Bh            ; const 
COMPILEMINUTE           .EQU    00Dh            ; const 
PROJECTBUILD            .EQU    101h            ; const 
OPTIMISERREV            .EQU    000h            ; const 
OPTIMISERBUILD          .EQU    000h            ; const 
INTFLAG                 .EQU    007h            ; const 
_EEPROM                 .EQU    006h            ; const 
_SIGN                   .EQU    005h            ; const 
_WAITLCD                .EQU    004h            ; const 
_STRCONST               .EQU    004h            ; const 
_DEVICE                 .EQU    003h            ; const 
_NEGATIVE               .EQU    002h            ; const 
_ERRFLAG                .EQU    001h            ; const 
_I2C2BYTE               .EQU    000h            ; const 
_TOGGLE300              .EQU    000h            ; const 
_LCDLOWER               .EQU    001h            ; const 
_DSP7RFR                .EQU    002h            ; const 
_PWRSAVFLG              .EQU    003h            ; const 
_STEPCW                 .EQU    004h            ; const 
_STEPDEST               .EQU    005h            ; const 
_FREQCNTFLAG            .EQU    006h            ; const 
_AUTOACK                .EQU    007h            ; const 
_ACCGLO                 .EQU    000h            ; var Data   byte
_ACCGHI                 .EQU    001h            ; var Data   byte
_ACCHLO                 .EQU    002h            ; var Data   byte
_ACCHHI                 .EQU    003h            ; var Data   byte
_ACCB                   .EQU    010h            ; var Data   byte
_ACCA                   .EQU    011h            ; var Data   byte
_ACCALO                 .EQU    012h            ; var Data   byte
_ACCAHI                 .EQU    013h            ; var Data   byte
_ACCDLO                 .EQU    014h            ; var Data   byte
_ACCDHI                 .EQU    015h            ; var Data   byte
_ACCELO                 .EQU    016h            ; var Data   byte
_ACCEHI                 .EQU    017h            ; var Data   byte
_ACCFLO                 .EQU    018h            ; var Data   byte
_ACCFHI                 .EQU    019h            ; var Data   byte
_ACCBLO                 .EQU    01Ah            ; var Data   byte
_ACCBHI                 .EQU    01Bh            ; var Data   byte
_FRAMEPTR               .EQU    01Ch            ; var Data   byte
_FPTRHI                 .EQU    01Dh            ; var Data   byte
_ACCCLO                 .EQU    01Eh            ; var Data   byte
_ACCCHI                 .EQU    01Fh            ; var Data   byte
FLAGS                   .EQU    004h            ; var Data   byte
FLAGS2                  .EQU    005h            ; var Data   byte
_SYSTFLAGS              .EQU    006h            ; var Data   byte
SYSTICK                 .EQU    001h            ; const 
PROCCLOCK               .EQU    0F42400h        ; const 
DECIMALSEP              .EQU    02Eh            ; const 
ROMconstPage            .EQU    0FFFFFFFFh      ; const 
STACKSIZE               .EQU    080h            ; const 
FRAMESIZE               .EQU    060h            ; const 
SREG                    .EQU    05Fh            ; var pData  byte
SPH                     .EQU    05Eh            ; var pData  byte
SPL                     .EQU    05Dh            ; var pData  byte
GIMSK                   .EQU    05Bh            ; var pData  byte
GICR                    .EQU    05Bh            ; var pData  byte
GIFR                    .EQU    05Ah            ; var pData  byte
TIMSK                   .EQU    059h            ; var pData  byte
TIFR                    .EQU    058h            ; var pData  byte
SPMCR                   .EQU    057h            ; var pData  byte
SPMCSR                  .EQU    057h            ; var pData  byte
TWCR                    .EQU    056h            ; var pData  byte
MCUCR                   .EQU    055h            ; var pData  byte
MCUCSR                  .EQU    054h            ; var pData  byte
MCUSR                   .EQU    054h            ; var pData  byte
TCCR0                   .EQU    053h            ; var pData  byte
TCNT0                   .EQU    052h            ; var pData  byte
OSCCAL                  .EQU    051h            ; var pData  byte
SFIOR                   .EQU    050h            ; var pData  byte
TCCR1A                  .EQU    04Fh            ; var pData  byte
TCCR1B                  .EQU    04Eh            ; var pData  byte
TCNT1H                  .EQU    04Dh            ; var pData  byte
TCNT1L                  .EQU    04Ch            ; var pData  byte
OCR1AH                  .EQU    04Bh            ; var pData  byte
OCR1AL                  .EQU    04Ah            ; var pData  byte
OCR1BH                  .EQU    049h            ; var pData  byte
OCR1BL                  .EQU    048h            ; var pData  byte
ICR1H                   .EQU    047h            ; var pData  byte
ICR1L                   .EQU    046h            ; var pData  byte
TCCR2                   .EQU    045h            ; var pData  byte
TCCR2A                  .EQU    045h            ; var pData  byte
TCNT2                   .EQU    044h            ; var pData  byte
OCR2                    .EQU    043h            ; var pData  byte
OCR2A                   .EQU    043h            ; var pData  byte
ASSR                    .EQU    042h            ; var pData  byte
WDTCR                   .EQU    041h            ; var pData  byte
UBRR1H                  .EQU    040h            ; var pData  byte
UBRRH                   .EQU    040h            ; var pData  byte
UCSRC                   .EQU    040h            ; var pData  byte
UCSR0C                  .EQU    040h            ; var pData  byte
EEARH                   .EQU    03Fh            ; var pData  byte
EEARL                   .EQU    03Eh            ; var pData  byte
EEDR                    .EQU    03Dh            ; var pData  byte
EECR                    .EQU    03Ch            ; var pData  byte
PORTB                   .EQU    038h            ; var pData  byte
DDRB                    .EQU    037h            ; var pData  byte
PINB                    .EQU    036h            ; var pData  byte
MASKB                   .EQU    03Fh            ; var pData  byte
PORTC                   .EQU    035h            ; var pData  byte
DDRC                    .EQU    034h            ; var pData  byte
PINC                    .EQU    033h            ; var pData  byte
MASKC                   .EQU    03Fh            ; var pData  byte
PORTD                   .EQU    032h            ; var pData  byte
DDRD                    .EQU    031h            ; var pData  byte
PIND                    .EQU    030h            ; var pData  byte
SPDR                    .EQU    02Fh            ; var pData  byte
SPSR                    .EQU    02Eh            ; var pData  byte
SPCR                    .EQU    02Dh            ; var pData  byte
UDR1                    .EQU    02Ch            ; var pData  byte
USR1                    .EQU    02Bh            ; var pData  byte
UCSRA                   .EQU    02Bh            ; var pData  byte
UCR1                    .EQU    02Ah            ; var pData  byte
UCSRB                   .EQU    02Ah            ; var pData  byte
UBRR1                   .EQU    029h            ; var pData  byte
UBRRL                   .EQU    029h            ; var pData  byte
ACSR                    .EQU    028h            ; var pData  byte
ADMUX                   .EQU    027h            ; var pData  byte
ADCSR                   .EQU    026h            ; var pData  byte
ADCSRA                  .EQU    026h            ; var pData  byte
ADCH                    .EQU    025h            ; var pData  byte
ADCL                    .EQU    024h            ; var pData  byte
TWDR                    .EQU    023h            ; var pData  byte
TWAR                    .EQU    022h            ; var pData  byte
TWSR                    .EQU    021h            ; var pData  byte
TWBR                    .EQU    020h            ; var pData  byte
TCNT1                   .EQU    04Ch            ; var pData  word
OCR1A                   .EQU    04Ah            ; var pData  word
OCR1B                   .EQU    048h            ; var pData  word
ICR1                    .EQU    046h            ; var pData  word
EEAR                    .EQU    03Eh            ; var pData  word
ADC                     .EQU    025h            ; var pData  word
_iDataStart             .EQU    060h            ; const 
_iDataEnd               .EQU    45Fh            ; const 
_EEpromStart            .EQU    000h            ; const 
_EEpromEnd              .EQU    1FFh            ; const 
_FlashStart             .EQU    000h            ; const 
_FlashEnd               .EQU    1FFFh           ; const 
LCD_m1                  .EQU    000h            ; const 
LCD_m2                  .EQU    001h            ; const 
LCD_m3                  .EQU    002h            ; const 
LCD_m4                  .EQU    003h            ; const 
LCD_m5                  .EQU    004h            ; const 
LCD_m6                  .EQU    005h            ; const 
LCD_m7                  .EQU    006h            ; const 
LCD_m8                  .EQU    007h            ; const 
_LCDM_PORT              .EQU    060h            ; var iData  byte
TWI_BR100               .EQU    048h            ; const 
TWI_BR400               .EQU    00Ch            ; const 
SysTickTime             .EQU    061h            ; var iData  byte
_TWI_TO                 .EQU    062h            ; var iData  byte
TWI_DevLock             .EQU    063h            ; var iData  DeviceLock
EEPROM                  .EQU    000h            ; var EEprom array



                        .RESET     000000h
                        .ORG       0, CODE_START
                        .STARTCODE 000026h


                        .XDATASTART -1


                        ; ============ user definitions module: DDS ============

DDS.ItemOffset          .EQU    002h            ; const byte     2
DDS.DDRBinit            .EQU    03Fh            ; const byte     63
DDS.PortBinit           .EQU    0EFh            ; const byte     239
DDS.DDRCinit            .EQU    00Fh            ; const byte     15
DDS.PortCinit           .EQU    0F0h            ; const byte     240
DDS.DDRDinit            .EQU    004h            ; const byte     4
DDS.PortDinit           .EQU    0FCh            ; const byte     252
DDS.BtnInPortReg        .EQU    030h            ; const byte     48
DDS.LEDOutPort          .EQU    032h            ; const byte     50
DDS.DDSOutPort          .EQU    038h            ; const byte     56
;fhz                     .EQU    '$006'; const String
;fdhz                    .EQU    '$020'; const String

                        .FILE     dB775mV.txt

                        .FILE     C:\DOKUMENTE UND EINSTELLUNGEN\CM\EIGENE DATEIEN\DEVELOP\PROJAVR\DDS\DDS.pas
;dBfac                   .EQU    '$000'; const String

                        .FILE     dBadj.txt

                        .FILE     C:\DOKUMENTE UND EINSTELLUNGEN\CM\EIGENE DATEIEN\DEVELOP\PROJAVR\DDS\DDS.pas
;dBadj                   .EQU    '$02D'; const String
;Vers1Str                .EQU    'DSS-FG1  V#0.950'; const String
;Vers2Str                .EQU    'C. Meyer 10/05�'; const String
;InitStr                 .EQU    'Initialising... '; const String
;MemStr                  .EQU    'Memory �'; const String
;PresetStr               .EQU    'Preset �'; const String
;HzStr                   .EQU    ' Hz�'; const String
;dBStr                   .EQU    ' dB�'; const String
;SinStr                  .EQU    'Sin�'; const String
;SquStr                  .EQU    'Sqr�'; const String
;TriStr                  .EQU    'Tri�'; const String
;ExtStr                  .EQU    'Ext�'; const String
;PwrStr                  .EQU    'Pwr�'; const String
;NrmStr                  .EQU    'Nrm�'; const String
;EmptyItemStr            .EQU    '-*-�'; const String
;FrequStr                .EQU    'Frequency Hz    '; const String
;OptStr                  .EQU    'Out dB Brst Wav '; const String
DDS.high                .EQU    0FFh            ; const boolean  true
DDS.low                 .EQU    000h            ; const boolean  false
DDS.reset               .EQU    02100h          ; const integer  8448
DDS.sine                .EQU    02000h          ; const integer  8192
DDS.triangle            .EQU    02002h          ; const integer  8194
DDS.square              .EQU    02028h          ; const integer  8232
;TerzArray               .EQU    '$04E20'; const String
DDS.EEprime             .EQU    00000h          ; var EEprom word
                        .SYM      EEprime, 00000h, 0400Eh, 3
DDS.EElastPatch         .EQU    00002h          ; var EEprom byte
                        .SYM      EElastPatch, 00002h, 0400Dh, 3
DDS.EEaux               .EQU    00003h          ; var EEprom byte
                        .SYM      EEaux, 00003h, 0400Dh, 3
DDS.EEPatchArray        .EQU    00004h          ; var EEprom array
                        .SYM      EEPatchArray, 00004h, 0403Dh, 3
                        .SYM      i, 00007h, 0000Dh, 3
DDS.i                   .EQU    007h            ; var Data   byte
                        .SYM      j, 00008h, 0000Dh, 3
DDS.j                   .EQU    008h            ; var Data   byte
                        .SYM      k, 00009h, 0000Dh, 3
DDS.k                   .EQU    009h            ; var Data   byte
                        .SYM      m, 0000Ah, 0000Dh, 3
DDS.m                   .EQU    00Ah            ; var Data   byte
                        .SYM      n, 0000Bh, 0000Dh, 3
DDS.n                   .EQU    00Bh            ; var Data   byte
                        .SYM      RelaisOutPort, 00064h, 0000Dh, 3
DDS.RelaisOutPort       .EQU    064h            ; var iData  byte
                        .SYM      BtnInPort, 00065h, 0000Dh, 3
DDS.BtnInPort           .EQU    065h            ; var iData  byte
                        .SYM      EditWhich, 00066h, 0000Ah, 3
DDS.EditWhich           .EQU    066h            ; var iData  enum
                        .SYM      dss_cmd, 00067h, 0000Eh, 3
DDS.dss_cmd             .EQU    067h            ; var iData  word
                        .SYM      wave_cmd, 00069h, 0000Eh, 3
DDS.wave_cmd            .EQU    069h            ; var iData  word
                        .SYM      DisplayValue, 0006Bh, 0000Dh, 3
DDS.DisplayValue        .EQU    06Bh            ; var iData  byte
                        .SYM      EditValue, 0006Ch, 0000Dh, 3
DDS.EditValue           .EQU    06Ch            ; var iData  byte
                        .SYM      ItemUpperLimit, 0006Dh, 0000Dh, 3
DDS.ItemUpperLimit      .EQU    06Dh            ; var iData  byte
                        .SYM      ItemLowerLimit, 0006Eh, 0000Dh, 3
DDS.ItemLowerLimit      .EQU    06Eh            ; var iData  byte
                        .SYM      x, 0006Fh, 0000Dh, 3
DDS.x                   .EQU    06Fh            ; var iData  byte
                        .SYM      y, 00070h, 0000Dh, 3
DDS.y                   .EQU    070h            ; var iData  byte
                        .SYM      digits, 00071h, 0000Dh, 3
DDS.digits              .EQU    071h            ; var iData  byte
                        .SYM      ScanSema, 00072h, 0000Dh, 3
DDS.ScanSema            .EQU    072h            ; var iData  byte
                        .SYM      BtnTime, 00073h, 0000Dh, 3
DDS.BtnTime             .EQU    073h            ; var iData  byte
                        .SYM      BtnTime2, 00074h, 0000Dh, 3
DDS.BtnTime2            .EQU    074h            ; var iData  byte
                        .SYM      BurstCount, 00075h, 0000Dh, 3
DDS.BurstCount          .EQU    075h            ; var iData  byte
                        .SYM      Modified, 00076h, 00003h, 3
DDS.Modified            .EQU    076h            ; var iData  boolean
                        .SYM      aBool, 00077h, 00003h, 3
DDS.aBool               .EQU    077h            ; var iData  boolean
                        .SYM      PresetOn, 00078h, 00003h, 3
DDS.PresetOn            .EQU    078h            ; var iData  boolean
                        .SYM      BurstPrime, 00079h, 00003h, 3
DDS.BurstPrime          .EQU    079h            ; var iData  boolean
                        .SYM      prime, 0007Ah, 00003h, 3
DDS.prime               .EQU    07Ah            ; var iData  boolean
                        .SYM      PatchNum, 0007Bh, 0000Dh, 3
DDS.PatchNum            .EQU    07Bh            ; var iData  byte
                        .SYM      PresetNum, 0007Ch, 0000Dh, 3
DDS.PresetNum           .EQU    07Ch            ; var iData  byte
                        .SYM      EditArray, 0007Dh, 0003Dh, 3
DDS.EditArray           .EQU    07Dh            ; var iData  array
                        .SYM      Frequ1, 0007Dh, 0000Dh, 3
DDS.Frequ1              .EQU    07Dh            ; var iData  byte
                        .SYM      Frequ2, 0007Eh, 0000Dh, 3
DDS.Frequ2              .EQU    07Eh            ; var iData  byte
                        .SYM      Frequ3, 0007Fh, 0000Dh, 3
DDS.Frequ3              .EQU    07Fh            ; var iData  byte
                        .SYM      Frequ4, 00080h, 0000Dh, 3
DDS.Frequ4              .EQU    080h            ; var iData  byte
                        .SYM      Frequ5, 00081h, 0000Dh, 3
DDS.Frequ5              .EQU    081h            ; var iData  byte
                        .SYM      Frequ6, 00082h, 0000Dh, 3
DDS.Frequ6              .EQU    082h            ; var iData  byte
                        .SYM      Frequ7, 00083h, 0000Dh, 3
DDS.Frequ7              .EQU    083h            ; var iData  byte
                        .SYM      FrequDez, 00084h, 0000Dh, 3
DDS.FrequDez            .EQU    084h            ; var iData  byte
                        .SYM      OutputMode, 00085h, 0000Dh, 3
DDS.OutputMode          .EQU    085h            ; var iData  byte
                        .SYM      GainOffset, 00086h, 0000Dh, 3
DDS.GainOffset          .EQU    086h            ; var iData  byte
                        .SYM      Burstmode, 00087h, 0000Dh, 3
DDS.Burstmode           .EQU    087h            ; var iData  byte
                        .SYM      Wave, 00088h, 0000Dh, 3
DDS.Wave                .EQU    088h            ; var iData  byte
                        .SYM      LeveldB, 00089h, 0000Dh, 3
DDS.LeveldB             .EQU    089h            ; var iData  byte
DDS.LevelStr            .EQU    08Dh            ; var iData  string
                        .SYM      LevelStr, 0008Dh, 0303Ch, 3
DDS.FreqStr             .EQU    095h            ; var iData  string
                        .SYM      FreqStr, 00095h, 0303Ch, 3
DDS.IncrTimeOut         .EQU    09Eh            ; var iData  byte
                        .SYM      IncrTimeOut, 0009Eh, 0000Dh, 3
DDS.BurstTimer          .EQU    09Fh            ; var iData  byte
                        .SYM      BurstTimer, 0009Fh, 0000Dh, 3
DDS.LevelArrOffs        .EQU    008h            ; const byte     8
DDS.EditArrayLen        .EQU    00Ch            ; const byte     12
                        .FUNC     SendSR, 243, 00020h
DDS.SendSR:
                        .BLOCK    245
                        .LINE     246
                        SBI       00038h, 004h
                        .LINE     247
                        CBI       00038h, 000h
                        .LINE     248
                        LDS       _ACCA, DDS.RelaisOutPort
                        MOV       DDS.M, _ACCA
                        .LINE     249
                        LDI       _ACCCLO, DDS.i AND 0FFh
                        LDI       _ACCCHI, DDS.i SHRB 8
                        ST        -Y, _ACCCHI
                        ST        -Y, _ACCCLO
                        .FRAME  2
                        LDI       _ACCA, 000h
                        ST        Z, _ACCA
                        LDI       _ACCA, 007h
                        ST        -Y, _ACCA
                        .FRAME  3
                        LD        _ACCA, Z
DDS.L0002:
                        LDD       _ACCB, Y+000h
                        CP        _ACCB, _ACCA
                        LDI       _ACCA, 0FFh
                        BRLO      DDS.L0003
                        CLR       _ACCA
DDS.L0003:
                        TST       _ACCA
                        .BRANCH   3,DDS.L0004
                        BREQ      DDS.L0004
                        .BRANCH   20,DDS.L0001
                        RJMP      DDS.L0001
DDS.L0004:
                        .BLOCK    250
                        .LINE     250
                        LDI       _ACCBLO, DDS.m AND 0FFh
                        LDI       _ACCBHI, DDS.m SHRB 8
                        LDI       _ACCA, 007h
                        RCALL     SYSTEM.TestBit8
                        CLT
                        TST       _ACCA
                        BREQ      DDS.L0005
                        SET
DDS.L0005:
                        IN        _ACCA, 00038h
                        BLD       _ACCA, 001h
                        OUT       00038h, _ACCA
                        .LINE     251
                        SBI       00038h, 000h
                        .LINE     252
                        MOV       _ACCA, DDS.m
                        LSL       _ACCA
                        MOV       DDS.M, _ACCA
                        .LINE     253
                        CBI       00038h, 000h
                        .ENDBLOCK 254
DDS.L0000:
                        .LINE     254
                        LDD       _ACCCLO, Y+001h
                        LDD       _ACCCHI, Y+002h
                        LD        _ACCA, Z
                        INC       _ACCA
                        ST        Z, _ACCA
                        TST       _ACCA
                        .BRANCH   3,DDS.L0001
                        BREQ      DDS.L0001
                        .BRANCH   20,DDS.L0002
                        RJMP      DDS.L0002
DDS.L0001:
                        ADIW      _FRAMEPTR, 3
                        .FRAME  0
                        .LINE     255
                        CBI       00038h, 004h
                        .LINE     256
                        SBI       00038h, 000h
                        .ENDBLOCK 257
DDS.SendSR_X:
                        .LINE     257
                        .BRANCH   19
                        RET
                        .ENDFUNC  257

                        .FUNC     SendDSS, 260, 00020h
DDS.SendDSS:
                        .BLOCK    262
                        .LINE     263
                        CBI       00038h, 002h
                        .LINE     264
                        LDI       _ACCCLO, DDS.i AND 0FFh
                        LDI       _ACCCHI, DDS.i SHRB 8
                        ST        -Y, _ACCCHI
                        ST        -Y, _ACCCLO
                        .FRAME  2
                        LDI       _ACCA, 000h
                        ST        Z, _ACCA
                        LDI       _ACCA, 00Fh
                        ST        -Y, _ACCA
                        .FRAME  3
                        LD        _ACCA, Z
DDS.L0008:
                        LDD       _ACCB, Y+000h
                        CP        _ACCB, _ACCA
                        LDI       _ACCA, 0FFh
                        BRLO      DDS.L0009
                        CLR       _ACCA
DDS.L0009:
                        TST       _ACCA
                        .BRANCH   3,DDS.L0010
                        BREQ      DDS.L0010
                        .BRANCH   20,DDS.L0007
                        RJMP      DDS.L0007
DDS.L0010:
                        .BLOCK    265
                        .LINE     265
                        LDI       _ACCBLO, DDS.dss_cmd AND 0FFh
                        LDI       _ACCBHI, DDS.dss_cmd SHRB 8
                        LDI       _ACCA, 00Fh
                        RCALL     SYSTEM.TestBit16
                        TST       _ACCA
                        .BRANCH   4,DDS.L0013
                        BRNE      DDS.L0013
                        .BRANCH   20,DDS.L0011
                        RJMP      DDS.L0011
DDS.L0013:
                        .BLOCK    265
                        .LINE     266
                        SBI       00038h, 001h
                        .ENDBLOCK 267
                        .BRANCH   20,DDS.L0012
                        RJMP      DDS.L0012
DDS.L0011:
                        .BLOCK    267
                        .LINE     268
                        CBI       00038h, 001h
                        .ENDBLOCK 269
DDS.L0012:
                        .LINE     270
                        CBI       00038h, 000h
                        .LINE     271
                        LDS       _ACCB, DDS.dss_cmd
                        LDS       _ACCA, DDS.dss_cmd+1
                        LSL       _ACCB
                        ROL       _ACCA
                        STS       DDS.DSS_CMD, _ACCB
                        STS       DDS.DSS_CMD+1, _ACCA
                        .LINE     272
                        SBI       00038h, 000h
                        .ENDBLOCK 273
DDS.L0006:
                        .LINE     273
                        LDD       _ACCCLO, Y+001h
                        LDD       _ACCCHI, Y+002h
                        LD        _ACCA, Z
                        INC       _ACCA
                        ST        Z, _ACCA
                        TST       _ACCA
                        .BRANCH   3,DDS.L0007
                        BREQ      DDS.L0007
                        .BRANCH   20,DDS.L0008
                        RJMP      DDS.L0008
DDS.L0007:
                        ADIW      _FRAMEPTR, 3
                        .FRAME  0
                        .LINE     274
                        SBI       00038h, 002h
                        .ENDBLOCK 275
DDS.SendDSS_X:
                        .LINE     275
                        .BRANCH   19
                        RET
                        .ENDFUNC  275

                        .FUNC     SetFrequ, 277, 00020h
DDS.SetFrequ:
                        SBIW      _FRAMEPTR, 12
                        .BLOCK    280
                        .LINE     281
                        LDI       _ACCB, 000000000h AND 0FFh
                        LDI       _ACCA, 000000000h SHRB 8
                        LDI       _ACCALO, 000000000h SHRB 16
                        LDI       _ACCAHI, 000000000h SHRB 24
                        STD       Y+00Bh, _ACCAHI
                        STD       Y+00Ah, _ACCALO
                        STD       Y+009h, _ACCA
                        STD       Y+008h, _ACCB
                        .LINE     282
                        LDI       _ACCCLO, DDS.i AND 0FFh
                        LDI       _ACCCHI, DDS.i SHRB 8
                        ST        -Y, _ACCCHI
                        ST        -Y, _ACCCLO
                        .FRAME  2
                        LDI       _ACCA, 000h
                        ST        Z, _ACCA
                        LDI       _ACCA, 006h
                        ST        -Y, _ACCA
                        .FRAME  3
                        LD        _ACCA, Z
DDS.L0016:
                        LDD       _ACCB, Y+000h
                        CP        _ACCB, _ACCA
                        LDI       _ACCA, 0FFh
                        BRLO      DDS.L0017
                        CLR       _ACCA
DDS.L0017:
                        TST       _ACCA
                        .BRANCH   3,DDS.L0018
                        BREQ      DDS.L0018
                        .BRANCH   20,DDS.L0015
                        RJMP      DDS.L0015
DDS.L0018:
                        .BLOCK    283
                        .LINE     283
                        MOV       _ACCA, DDS.i
                        LDI       _ACCCLO, DDS.EditArray AND 0FFh
                        LDI       _ACCCHI, DDS.EditArray SHRB 8
                        ANDI      _ACCA, 15
                        CLR       _ACCB
                        ADD       _ACCCLO, _ACCA
                        ADC       _ACCCHI, _ACCB
                        LD        _ACCA, Z
                        MOV       _ACCB, _ACCA
                        CLR       _ACCA
                        CLR       _ACCAHI
                        CLR       _ACCALO
                        STD       Y+00Ah, _ACCAHI
                        STD       Y+009h, _ACCALO
                        STD       Y+008h, _ACCA
                        STD       Y+007h, _ACCB
                        .LINE     284
                        MOV       _ACCA, DDS.i
                        LDI       _ACCCLO, DDS.fhz AND 0FFh
                        LDI       _ACCCHI, DDS.fhz SHRB 8
                        ANDI      _ACCA, 7
                        CLR       _ACCB
                        LSL       _ACCA
                        ROL       _ACCB
                        LSL       _ACCA
                        ROL       _ACCB
                        ADD       _ACCCLO, _ACCA
                        ADC       _ACCCHI, _ACCB
                        LPM       _ACCB, Z+
                        LPM       _ACCA, Z+
                        LPM       _ACCALO, Z+
                        LPM       _ACCAHI, Z
                        STD       Y+006h, _ACCAHI
                        STD       Y+005h, _ACCALO
                        STD       Y+004h, _ACCA
                        STD       Y+003h, _ACCB
                        .LINE     285
                        LDD       _ACCAHI, Y+00Eh
                        LDD       _ACCALO, Y+00Dh
                        LDD       _ACCA, Y+00Ch
                        LDD       _ACCB, Y+00Bh
                        PUSH      _ACCB
                        PUSH      _ACCA
                        PUSH      _ACCALO
                        PUSH      _ACCAHI
                        LDD       _ACCAHI, Y+006h
                        LDD       _ACCALO, Y+005h
                        LDD       _ACCA, Y+004h
                        LDD       _ACCB, Y+003h
                        PUSH      _ACCB
                        PUSH      _ACCA
                        PUSH      _ACCALO
                        PUSH      _ACCAHI
                        LDD       _ACCAHI, Y+00Ah
                        LDD       _ACCALO, Y+009h
                        LDD       _ACCA, Y+008h
                        LDD       _ACCB, Y+007h
                        SET
                        BLD       Flags, _SIGN
                        RCALL     SYSTEM.MUL32
                        POP       _ACCCHI
                        POP       _ACCCLO
                        POP       _ACCBHI
                        POP       _ACCBLO
                        ADD       _ACCB, _ACCBLO
                        ADC       _ACCA, _ACCBHI
                        ADC       _ACCALO, _ACCCLO
                        ADC       _ACCAHI, _ACCCHI
                        STD       Y+00Eh, _ACCAHI
                        STD       Y+00Dh, _ACCALO
                        STD       Y+00Ch, _ACCA
                        STD       Y+00Bh, _ACCB
                        .ENDBLOCK 286
DDS.L0014:
                        .LINE     286
                        LDD       _ACCCLO, Y+001h
                        LDD       _ACCCHI, Y+002h
                        LD        _ACCA, Z
                        INC       _ACCA
                        ST        Z, _ACCA
                        TST       _ACCA
                        .BRANCH   3,DDS.L0015
                        BREQ      DDS.L0015
                        .BRANCH   20,DDS.L0016
                        RJMP      DDS.L0016
DDS.L0015:
                        ADIW      _FRAMEPTR, 3
                        .FRAME  0
                        .LINE     287
                        LDS       _ACCA, DDS.FrequDez
                        LDI       _ACCCLO, DDS.fdhz AND 0FFh
                        LDI       _ACCCHI, DDS.fdhz SHRB 8
                        ANDI      _ACCA, 15
                        CLR       _ACCB
                        LSL       _ACCA
                        ROL       _ACCB
                        LSL       _ACCA
                        ROL       _ACCB
                        ADD       _ACCCLO, _ACCA
                        ADC       _ACCCHI, _ACCB
                        LPM       _ACCB, Z+
                        LPM       _ACCA, Z+
                        LPM       _ACCALO, Z+
                        LPM       _ACCAHI, Z
                        STD       Y+003h, _ACCAHI
                        STD       Y+002h, _ACCALO
                        STD       Y+001h, _ACCA
                        STD       Y+000h, _ACCB
                        .LINE     288
                        LDD       _ACCAHI, Y+00Bh
                        LDD       _ACCALO, Y+00Ah
                        LDD       _ACCA, Y+009h
                        LDD       _ACCB, Y+008h
                        PUSH      _ACCB
                        PUSH      _ACCA
                        PUSH      _ACCALO
                        PUSH      _ACCAHI
                        LDD       _ACCAHI, Y+003h
                        LDD       _ACCALO, Y+002h
                        LDD       _ACCA, Y+001h
                        LDD       _ACCB, Y+000h
                        POP       _ACCCHI
                        POP       _ACCCLO
                        POP       _ACCBHI
                        POP       _ACCBLO
                        ADD       _ACCB, _ACCBLO
                        ADC       _ACCA, _ACCBHI
                        ADC       _ACCALO, _ACCCLO
                        ADC       _ACCAHI, _ACCCHI
                        STD       Y+00Bh, _ACCAHI
                        STD       Y+00Ah, _ACCALO
                        STD       Y+009h, _ACCA
                        STD       Y+008h, _ACCB
                        .LINE     289
                        LDD       _ACCAHI, Y+00Bh
                        LDD       _ACCALO, Y+00Ah
                        LDD       _ACCA, Y+009h
                        LDD       _ACCB, Y+008h
                        ANDI      _ACCB, 0FFh
                        ANDI      _ACCA, 03Fh
                        STS       DDS.DSS_CMD, _ACCB
                        STS       DDS.DSS_CMD+1, _ACCA
                        .LINE     290
                        LDS       _ACCB, DDS.dss_cmd
                        LDS       _ACCA, DDS.dss_cmd+1
                        ORI       _ACCB, 000h
                        ORI       _ACCA, 040h
                        STS       DDS.DSS_CMD, _ACCB
                        STS       DDS.DSS_CMD+1, _ACCA
                        .LINE     291
                        .BRANCH   17,DDS.SENDDSS
                        RCALL     DDS.SENDDSS
                        .LINE     292
                        LDD       _ACCAHI, Y+00Bh
                        LDD       _ACCALO, Y+00Ah
                        LDD       _ACCA, Y+009h
                        LDD       _ACCB, Y+008h
                        LDI       _ACCCLO, 002h
                        RCALL     SYSTEM.SHL32_R
                        STD       Y+00Bh, _ACCAHI
                        STD       Y+00Ah, _ACCALO
                        STD       Y+009h, _ACCA
                        STD       Y+008h, _ACCB
                        .LINE     293
                        LDD       _ACCAHI, Y+00Bh
                        LDD       _ACCALO, Y+00Ah
                        LDD       _ACCA, Y+009h
                        LDD       _ACCB, Y+008h
                        MOVW      _ACCB, _ACCALO
                        ANDI      _ACCB, 0FFh
                        ANDI      _ACCA, 03Fh
                        STS       DDS.DSS_CMD, _ACCB
                        STS       DDS.DSS_CMD+1, _ACCA
                        .LINE     294
                        LDS       _ACCB, DDS.dss_cmd
                        LDS       _ACCA, DDS.dss_cmd+1
                        ORI       _ACCB, 000h
                        ORI       _ACCA, 040h
                        STS       DDS.DSS_CMD, _ACCB
                        STS       DDS.DSS_CMD+1, _ACCA
                        .LINE     295
                        .BRANCH   17,DDS.SENDDSS
                        RCALL     DDS.SENDDSS
                        .LINE     296
                        LDS       _ACCB, DDS.wave_cmd
                        LDS       _ACCA, DDS.wave_cmd+1
                        STS       DDS.DSS_CMD, _ACCB
                        STS       DDS.DSS_CMD+1, _ACCA
                        .LINE     297
                        .BRANCH   17,DDS.SENDDSS
                        RCALL     DDS.SENDDSS
                        .LINE     299
                        LDS       _ACCA, DDS.OutputMode
                        OUT       PORTC, _ACCA
                        .ENDBLOCK 300
DDS.SetFrequ_X:
                        .LINE     300
                        .BRANCH   19
                        RET
                        .ENDFUNC  300

                        .FUNC     SendLevel, 302, 00020h
DDS.SendLevel:
                        .BLOCK    303
                        .LINE     305
                        SBI       00038h, 002h
                        .LINE     306
                        CBI       00038h, 001h
                        .LINE     307
                        CBI       00038h, 000h
                        .LINE     308
                        CBI       00038h, 003h
                        .LINE     309
                        LDI       _ACCCLO, DDS.i AND 0FFh
                        LDI       _ACCCHI, DDS.i SHRB 8
                        ST        -Y, _ACCCHI
                        ST        -Y, _ACCCLO
                        .FRAME  2
                        LDI       _ACCA, 000h
                        ST        Z, _ACCA
                        LDI       _ACCA, 006h
                        ST        -Y, _ACCA
                        .FRAME  3
                        LD        _ACCA, Z
DDS.L0021:
                        LDD       _ACCB, Y+000h
                        CP        _ACCB, _ACCA
                        LDI       _ACCA, 0FFh
                        BRLO      DDS.L0022
                        CLR       _ACCA
DDS.L0022:
                        TST       _ACCA
                        .BRANCH   3,DDS.L0023
                        BREQ      DDS.L0023
                        .BRANCH   20,DDS.L0020
                        RJMP      DDS.L0020
DDS.L0023:
                        .BLOCK    310
                        .LINE     310
                        SBI       00038h, 000h
                        .LINE     311
                        NOP
                        .LINE     312
                        CBI       00038h, 000h
                        .ENDBLOCK 313
DDS.L0019:
                        .LINE     313
                        LDD       _ACCCLO, Y+001h
                        LDD       _ACCCHI, Y+002h
                        LD        _ACCA, Z
                        INC       _ACCA
                        ST        Z, _ACCA
                        TST       _ACCA
                        .BRANCH   3,DDS.L0020
                        BREQ      DDS.L0020
                        .BRANCH   20,DDS.L0021
                        RJMP      DDS.L0021
DDS.L0020:
                        ADIW      _FRAMEPTR, 3
                        .FRAME  0
                        .LINE     314
                        LDD       _ACCA, Y+000h
                        CPI       _ACCA, 001h
                        LDI       _ACCA, 0h
                        BRNE      DDS.L0024
                        SER       _ACCA
DDS.L0024:
                        TST       _ACCA
                        .BRANCH   4,DDS.L0027
                        BRNE      DDS.L0027
                        .BRANCH   20,DDS.L0025
                        RJMP      DDS.L0025
DDS.L0027:
                        .BLOCK    314
                        .LINE     315
                        SBI       00038h, 001h
                        .LINE     316
                        NOP
                        .ENDBLOCK 317
DDS.L0025:
DDS.L0026:
                        .LINE     318
                        SBI       00038h, 000h
                        .LINE     319
                        NOP
                        .LINE     320
                        CBI       00038h, 000h
                        .LINE     321
                        LDI       _ACCCLO, DDS.i AND 0FFh
                        LDI       _ACCCHI, DDS.i SHRB 8
                        ST        -Y, _ACCCHI
                        ST        -Y, _ACCCLO
                        .FRAME  2
                        LDI       _ACCA, 000h
                        ST        Z, _ACCA
                        LDI       _ACCA, 007h
                        ST        -Y, _ACCA
                        .FRAME  3
                        LD        _ACCA, Z
DDS.L0030:
                        LDD       _ACCB, Y+000h
                        CP        _ACCB, _ACCA
                        LDI       _ACCA, 0FFh
                        BRLO      DDS.L0031
                        CLR       _ACCA
DDS.L0031:
                        TST       _ACCA
                        .BRANCH   3,DDS.L0032
                        BREQ      DDS.L0032
                        .BRANCH   20,DDS.L0029
                        RJMP      DDS.L0029
DDS.L0032:
                        .BLOCK    322
                        .LINE     322
                        MOVW      _ACCCLO, _FRAMEPTR
                        ADIW      _ACCCLO, 000004h
                        PUSH      _ACCCLO
                        PUSH      _ACCCHI
                        LDI       _ACCA, 007h
                        POP       _ACCBHI
                        POP       _ACCBLO
                        RCALL     SYSTEM.TestBit8
                        TST       _ACCA
                        .BRANCH   4,DDS.L0035
                        BRNE      DDS.L0035
                        .BRANCH   20,DDS.L0033
                        RJMP      DDS.L0033
DDS.L0035:
                        .BLOCK    322
                        .LINE     323
                        SBI       00038h, 001h
                        .ENDBLOCK 324
                        .BRANCH   20,DDS.L0034
                        RJMP      DDS.L0034
DDS.L0033:
                        .BLOCK    324
                        .LINE     325
                        CBI       00038h, 001h
                        .ENDBLOCK 326
DDS.L0034:
                        .LINE     327
                        NOP
                        .LINE     328
                        SBI       00038h, 000h
                        .LINE     329
                        LDD       _ACCA, Y+004h
                        LSL       _ACCA
                        STD       Y+004h, _ACCA
                        .LINE     330
                        CBI       00038h, 000h
                        .ENDBLOCK 331
DDS.L0028:
                        .LINE     331
                        LDD       _ACCCLO, Y+001h
                        LDD       _ACCCHI, Y+002h
                        LD        _ACCA, Z
                        INC       _ACCA
                        ST        Z, _ACCA
                        TST       _ACCA
                        .BRANCH   3,DDS.L0029
                        BREQ      DDS.L0029
                        .BRANCH   20,DDS.L0030
                        RJMP      DDS.L0030
DDS.L0029:
                        ADIW      _FRAMEPTR, 3
                        .FRAME  0
                        .LINE     332
                        SBI       00038h, 003h
                        .LINE     333
                        SBI       00038h, 001h
                        .LINE     334
                        SBI       00038h, 000h
                        .ENDBLOCK 335
DDS.SendLevel_X:
                        .LINE     335
                        .BRANCH   19
                        RET
                        .ENDFUNC  335

                        .FUNC     SetLevel, 337, 00020h
DDS.SetLevel:
                        .BLOCK    338
                        .LINE     340
                        LDS       _ACCA, DDS.LeveldB
                        NEG       _ACCA
                        SUBI      _ACCA, 0B0h AND 0FFh
                        MOV       DDS.K, _ACCA
                        .LINE     341
                        MOV       _ACCA, DDS.k
                        MOV       DDS.J, _ACCA
                        .LINE     343
                        LDS       _ACCA, DDS.LeveldB
                        CPI       _ACCA, 014h
                        LDI       _ACCA, 0FFh
                        BRLO      DDS.L0036
                        CLR       _ACCA
DDS.L0036:
                        TST       _ACCA
                        .BRANCH   4,DDS.L0039
                        BRNE      DDS.L0039
                        .BRANCH   20,DDS.L0037
                        RJMP      DDS.L0037
DDS.L0039:
                        .BLOCK    343
                        .LINE     345
                        LDS       _ACCA, 00064h
                        SBR       _ACCA, 002h
                        STS       00064h, _ACCA
                        .LINE     346
                        MOV       _ACCA, DDS.k
                        SUBI      _ACCA, 014h AND 0FFh
                        MOV       DDS.K, _ACCA
                        .ENDBLOCK 347
                        .BRANCH   20,DDS.L0038
                        RJMP      DDS.L0038
DDS.L0037:
                        .BLOCK    347
                        .LINE     348
                        LDS       _ACCA, 00064h
                        CBR       _ACCA, 002h
                        STS       00064h, _ACCA
                        .ENDBLOCK 349
DDS.L0038:
                        .LINE     353
                        MOV       _ACCA, DDS.k
                        CPI       _ACCA, 030h
                        LDI       _ACCA, 0FFh
                        BRLO      DDS.L0040
                        CLR       _ACCA
DDS.L0040:
                        TST       _ACCA
                        .BRANCH   4,DDS.L0043
                        BRNE      DDS.L0043
                        .BRANCH   20,DDS.L0041
                        RJMP      DDS.L0041
DDS.L0043:
                        .BLOCK    353
                        .LINE     354
                        MOV       _ACCA, DDS.k
                        LSL       _ACCA
                        MOV       DDS.K, _ACCA
                        .ENDBLOCK 355
                        .BRANCH   20,DDS.L0042
                        RJMP      DDS.L0042
DDS.L0041:
                        .BLOCK    355
                        .LINE     356
                        MOV       _ACCA, DDS.k
                        SUBI      _ACCA, -030h AND 0FFh
                        MOV       DDS.K, _ACCA
                        .ENDBLOCK 357
DDS.L0042:
                        .LINE     359
                        PUSH      _FRAMEPTR
                        PUSH      _FPTRHI
                        MOV       _ACCA, DDS.k
                        ST        -Y, _ACCA
                        .FRAME  1
                        LDI       _ACCA, 000h
                        ST        -Y, _ACCA
                        .FRAME  2
                        .FRAME  0
                        .BRANCH   17,DDS.SENDLEVEL
                        RCALL     DDS.SENDLEVEL
                        POP       _FPTRHI
                        POP       _FRAMEPTR
                        .LINE     367
                        LDS       _ACCA, DDS.Frequ2
                        LDI       _ACCALO, 004h
                        RCALL     SYSTEM.SHL8_R
                        MOV       DDS.K, _ACCA
                        .LINE     368
                        MOV       _ACCA, DDS.k
                        PUSH      _ACCA
                        MOV       _ACCA, DDS.j
                        LDI       _ACCCLO, DDS.dBadj AND 0FFh
                        LDI       _ACCCHI, DDS.dBadj SHRB 8
                        ANDI      _ACCA, 63
                        CLR       _ACCB
                        ADD       _ACCCLO, _ACCA
                        ADC       _ACCCHI, _ACCB
                        LPM       _ACCA, Z
                        POP       _ACCB
                        ADD       _ACCA, _ACCB
                        MOV       DDS.K, _ACCA
                        .LINE     371
                        PUSH      _FRAMEPTR
                        PUSH      _FPTRHI
                        MOV       _ACCA, DDS.k
                        ST        -Y, _ACCA
                        .FRAME  1
                        LDI       _ACCA, 001h
                        ST        -Y, _ACCA
                        .FRAME  2
                        .FRAME  0
                        .BRANCH   17,DDS.SENDLEVEL
                        RCALL     DDS.SENDLEVEL
                        POP       _FPTRHI
                        POP       _FRAMEPTR
                        .LINE     372
                        .BRANCH   17,DDS.SENDSR
                        RCALL     DDS.SENDSR
                        .LINE     373
                        LDS       _ACCA, DDS.OutputMode
                        OUT       PORTC, _ACCA
                        .ENDBLOCK 374
DDS.SetLevel_X:
                        .LINE     374
                        .BRANCH   19
                        RET
                        .ENDFUNC  374

                        .FUNC     PresetCopyFromROM, 378, 00020h
DDS.PresetCopyFromROM:
                        .BLOCK    380
                        .LINE     381
                        LDI       _ACCCLO, DDS.FreqStr AND 0FFh
                        LDI       _ACCCHI, DDS.FreqStr SHRB 8
                        PUSH      _ACCCLO
                        PUSH      _ACCCHI
                        ADIW      _ACCCLO, 1
                        ST        -Y, _ACCCHI
                        ST        -Y, _ACCCLO
                        LDI       _ACCA, 008h
                        ST        -Y, _ACCA
                        LDI       _ACCA, 0FEH ROLB _DEVICE
                        AND       Flags, _ACCA
                        LDI       _ACCA, 0FEH ROLB _EEPROM
                        AND       Flags, _ACCA
                        .FRAME  3
                        LDS       _ACCA, DDS.PresetNum
                        LDI       _ACCCLO, DDS.TerzArray AND 0FFh
                        LDI       _ACCCHI, DDS.TerzArray SHRB 8
                        ANDI      _ACCA, 31
                        CLR       _ACCB
                        LSL       _ACCA
                        ROL       _ACCB
                        ADD       _ACCCLO, _ACCA
                        ADC       _ACCCHI, _ACCB
                        LPM       _ACCB, Z+
                        LPM       _ACCA, Z
                        PUSH      _ACCB
                        PUSH      _ACCA
                        LDI       _ACCA, 007h
                        PUSH      _ACCA
                        LDI       _ACCB, 000h
                        PUSH      _ACCB
                        LDI       _ACCA, 020h
                        PUSH      _ACCA
                        SET
                        BLD       Flags, _SIGN
                        RCALL     SYSTEM.Int2Str
                        LDI       _ACCA, 008h
                        PUSH      _ACCA
                        LDD       _ACCA, Y+000h
                        POP       _ACCB
                        SUB       _ACCB, _ACCA
                        MOV       _ACCA, _ACCB
                        POP       _ACCCHI
                        POP       _ACCCLO
                        ST        Z, _ACCA
                        ADIW      _FRAMEPTR, 3
                        .FRAME  0
                        .LINE     382
                        LDI       _ACCCLO, DDS.FreqStr AND 0FFh
                        LDI       _ACCCHI, DDS.FreqStr SHRB 8
                        ADIW      _ACCCLO, 00008h
                        LDI       _ACCA, 030h
                        ST        Z+, _ACCA
                        .LINE     383
                        LDI       _ACCCLO, DDS.i AND 0FFh
                        LDI       _ACCCHI, DDS.i SHRB 8
                        ST        -Y, _ACCCHI
                        ST        -Y, _ACCCLO
                        .FRAME  2
                        LDI       _ACCA, 000h
                        ST        Z, _ACCA
                        LDI       _ACCA, 007h
                        ST        -Y, _ACCA
                        .FRAME  3
                        LD        _ACCA, Z
DDS.L0046:
                        LDD       _ACCB, Y+000h
                        CP        _ACCB, _ACCA
                        LDI       _ACCA, 0FFh
                        BRLO      DDS.L0047
                        CLR       _ACCA
DDS.L0047:
                        TST       _ACCA
                        .BRANCH   3,DDS.L0048
                        BREQ      DDS.L0048
                        .BRANCH   20,DDS.L0045
                        RJMP      DDS.L0045
DDS.L0048:
                        .BLOCK    384
                        .LINE     384
                        LDI       _ACCCLO, DDS.FreqStr AND 0FFh
                        LDI       _ACCCHI, DDS.FreqStr SHRB 8
                        PUSH      _ACCCLO
                        PUSH      _ACCCHI
                        MOV       _ACCA, DDS.i
                        SUBI      _ACCA, -001h AND 0FFh
                        POP       _ACCCHI
                        POP       _ACCCLO
                        MOV       _ACCB, _ACCA
                        CLR       _ACCA
                        ADD       _ACCCLO, _ACCB
                        ADC       _ACCCHI, _ACCA
                        LD        _ACCA, Z+
                        MOV       DDS.K, _ACCA
                        .LINE     385
                        MOV       _ACCA, DDS.k
                        CPI       _ACCA, 020h
                        LDI       _ACCA, 0h
                        BRNE      DDS.L0049
                        SER       _ACCA
DDS.L0049:
                        TST       _ACCA
                        .BRANCH   4,DDS.L0052
                        BRNE      DDS.L0052
                        .BRANCH   20,DDS.L0050
                        RJMP      DDS.L0050
DDS.L0052:
                        .BLOCK    386
                        .LINE     386
                        LDI       _ACCA, 030h
                        MOV       DDS.K, _ACCA
                        .ENDBLOCK 387
DDS.L0050:
DDS.L0051:
                        .LINE     388
                        MOV       _ACCA, DDS.i
                        PUSH      _ACCA
                        MOV       _ACCA, DDS.k
                        SUBI      _ACCA, 030h AND 0FFh
                        LDI       _ACCCLO, DDS.EditArray AND 0FFh
                        LDI       _ACCCHI, DDS.EditArray SHRB 8
                        POP       _ACCBLO
                        ANDI      _ACCBLO, 15
                        CLR       _ACCBHI
                        ADD       _ACCCLO, _ACCBLO
                        ADC       _ACCCHI, _ACCBHI
                        ST        Z, _ACCA
                        .ENDBLOCK 389
DDS.L0044:
                        .LINE     389
                        LDD       _ACCCLO, Y+001h
                        LDD       _ACCCHI, Y+002h
                        LD        _ACCA, Z
                        INC       _ACCA
                        ST        Z, _ACCA
                        TST       _ACCA
                        .BRANCH   3,DDS.L0045
                        BREQ      DDS.L0045
                        .BRANCH   20,DDS.L0046
                        RJMP      DDS.L0046
DDS.L0045:
                        ADIW      _FRAMEPTR, 3
                        .FRAME  0
                        .ENDBLOCK 390
DDS.PresetCopyFromROM_X:
                        .LINE     390
                        .BRANCH   19
                        RET
                        .ENDFUNC  390

                        .FUNC     PatchCopyFromEE, 392, 00020h
DDS.PatchCopyFromEE:
                        SBIW      _FRAMEPTR, 2
                        .BLOCK    395
                        .LINE     396
                        LDI       _ACCCLO, DDS.i AND 0FFh
                        LDI       _ACCCHI, DDS.i SHRB 8
                        ST        -Y, _ACCCHI
                        ST        -Y, _ACCCLO
                        .FRAME  2
                        LDI       _ACCA, 000h
                        ST        Z, _ACCA
                        LDI       _ACCA, 00Ch
                        ST        -Y, _ACCA
                        .FRAME  3
                        LD        _ACCA, Z
DDS.L0055:
                        LDD       _ACCB, Y+000h
                        CP        _ACCB, _ACCA
                        LDI       _ACCA, 0FFh
                        BRLO      DDS.L0056
                        CLR       _ACCA
DDS.L0056:
                        TST       _ACCA
                        .BRANCH   3,DDS.L0057
                        BREQ      DDS.L0057
                        .BRANCH   20,DDS.L0054
                        RJMP      DDS.L0054
DDS.L0057:
                        .BLOCK    397
                        .LINE     397
                        MOV       _ACCA, DDS.i
                        MOV       _ACCB, _ACCA
                        CLR       _ACCA
                        PUSH      _ACCB
                        PUSH      _ACCA
                        LDS       _ACCA, DDS.PatchNum
                        MOV       _ACCB, _ACCA
                        CLR       _ACCA
                        LDI       _ACCALO, 004h
                        RCALL     SYSTEM.SHL16_R
                        POP       _ACCAHI
                        POP       _ACCALO
                        ADD       _ACCB, _ACCALO
                        ADC       _ACCA, _ACCAHI
                        STD       Y+004h, _ACCA
                        STD       Y+003h, _ACCB
                        .LINE     398
                        MOV       _ACCA, DDS.i
                        PUSH      _ACCA
                        LDI       _ACCCLO, DDS.EEPatchArray AND 0FFh
                        LDI       _ACCCHI, DDS.EEPatchArray SHRB 8
                        PUSH      _ACCCLO
                        PUSH      _ACCCHI
                        LDD       _ACCB, Y+003h
                        LDD       _ACCA, Y+004h
                        POP       _ACCCHI
                        POP       _ACCCLO
                        ADD       _ACCCLO, _ACCB
                        ADC       _ACCCHI, _ACCA
                        RCALL     SYSTEM.ReadEEp8
                        LDI       _ACCCLO, DDS.EditArray AND 0FFh
                        LDI       _ACCCHI, DDS.EditArray SHRB 8
                        POP       _ACCBLO
                        ANDI      _ACCBLO, 15
                        CLR       _ACCBHI
                        ADD       _ACCCLO, _ACCBLO
                        ADC       _ACCCHI, _ACCBHI
                        ST        Z, _ACCA
                        .ENDBLOCK 399
DDS.L0053:
                        .LINE     399
                        LDD       _ACCCLO, Y+001h
                        LDD       _ACCCHI, Y+002h
                        LD        _ACCA, Z
                        INC       _ACCA
                        ST        Z, _ACCA
                        TST       _ACCA
                        .BRANCH   3,DDS.L0054
                        BREQ      DDS.L0054
                        .BRANCH   20,DDS.L0055
                        RJMP      DDS.L0055
DDS.L0054:
                        ADIW      _FRAMEPTR, 3
                        .FRAME  0
                        .ENDBLOCK 400
DDS.PatchCopyFromEE_X:
                        .LINE     400
                        .BRANCH   19
                        RET
                        .ENDFUNC  400

                        .FUNC     PatchCopyToEE, 402, 00020h
DDS.PatchCopyToEE:
                        SBIW      _FRAMEPTR, 2
                        .BLOCK    405
                        .LINE     406
                        LDI       _ACCCLO, DDS.i AND 0FFh
                        LDI       _ACCCHI, DDS.i SHRB 8
                        ST        -Y, _ACCCHI
                        ST        -Y, _ACCCLO
                        .FRAME  2
                        LDI       _ACCA, 000h
                        ST        Z, _ACCA
                        LDI       _ACCA, 00Ch
                        ST        -Y, _ACCA
                        .FRAME  3
                        LD        _ACCA, Z
DDS.L0060:
                        LDD       _ACCB, Y+000h
                        CP        _ACCB, _ACCA
                        LDI       _ACCA, 0FFh
                        BRLO      DDS.L0061
                        CLR       _ACCA
DDS.L0061:
                        TST       _ACCA
                        .BRANCH   3,DDS.L0062
                        BREQ      DDS.L0062
                        .BRANCH   20,DDS.L0059
                        RJMP      DDS.L0059
DDS.L0062:
                        .BLOCK    407
                        .LINE     407
                        MOV       _ACCA, DDS.i
                        MOV       _ACCB, _ACCA
                        CLR       _ACCA
                        PUSH      _ACCB
                        PUSH      _ACCA
                        LDS       _ACCA, DDS.PatchNum
                        MOV       _ACCB, _ACCA
                        CLR       _ACCA
                        LDI       _ACCALO, 004h
                        RCALL     SYSTEM.SHL16_R
                        POP       _ACCAHI
                        POP       _ACCALO
                        ADD       _ACCB, _ACCALO
                        ADC       _ACCA, _ACCAHI
                        STD       Y+004h, _ACCA
                        STD       Y+003h, _ACCB
                        .LINE     408
                        LDI       _ACCCLO, DDS.EEPatchArray AND 0FFh
                        LDI       _ACCCHI, DDS.EEPatchArray SHRB 8
                        PUSH      _ACCCLO
                        PUSH      _ACCCHI
                        LDD       _ACCB, Y+003h
                        LDD       _ACCA, Y+004h
                        POP       _ACCCHI
                        POP       _ACCCLO
                        ADD       _ACCCLO, _ACCB
                        ADC       _ACCCHI, _ACCA
                        PUSH      _ACCCLO
                        PUSH      _ACCCHI
                        MOV       _ACCA, DDS.i
                        LDI       _ACCCLO, DDS.EditArray AND 0FFh
                        LDI       _ACCCHI, DDS.EditArray SHRB 8
                        ANDI      _ACCA, 15
                        CLR       _ACCB
                        ADD       _ACCCLO, _ACCA
                        ADC       _ACCCHI, _ACCB
                        LD        _ACCA, Z
                        POP       _ACCCHI
                        POP       _ACCCLO
                        RCALL     SYSTEM.WriteEEp8
                        .ENDBLOCK 409
DDS.L0058:
                        .LINE     409
                        LDD       _ACCCLO, Y+001h
                        LDD       _ACCCHI, Y+002h
                        LD        _ACCA, Z
                        INC       _ACCA
                        ST        Z, _ACCA
                        TST       _ACCA
                        .BRANCH   3,DDS.L0059
                        BREQ      DDS.L0059
                        .BRANCH   20,DDS.L0060
                        RJMP      DDS.L0060
DDS.L0059:
                        ADIW      _FRAMEPTR, 3
                        .FRAME  0
                        .ENDBLOCK 410
DDS.PatchCopyToEE_X:
                        .LINE     410
                        .BRANCH   19
                        RET
                        .ENDFUNC  410

                        .FUNC     LCD1xy, 415, 00020h
DDS.LCD1xy:
                        .BLOCK    416
                        .LINE     417
                        PUSH      _FRAMEPTR
                        PUSH      _FPTRHI
                        LDI       _ACCA, 000h
                        ST        -Y, _ACCA
                        .FRAME  1
                        LDS       _ACCA, DDS.x
                        ST        -Y, _ACCA
                        .FRAME  2
                        LDS       _ACCA, DDS.y
                        ST        -Y, _ACCA
                        .FRAME  3
                        .FRAME  0
                        RCALL     SYSTEM.LCDXY_M
                        POP       _FPTRHI
                        POP       _FRAMEPTR
                        .ENDBLOCK 418
DDS.LCD1xy_X:
                        .LINE     418
                        .BRANCH   19
                        RET
                        .ENDFUNC  418

                        .FUNC     LCD1x0y0, 420, 00020h
DDS.LCD1x0y0:
                        .BLOCK    421
                        .LINE     422
                        LDI       _ACCA, 000h
                        STS       DDS.X, _ACCA
                        .LINE     423
                        LDI       _ACCA, 000h
                        STS       DDS.Y, _ACCA
                        .LINE     424
                        .BRANCH   17,DDS.LCD1XY
                        RCALL     DDS.LCD1XY
                        .ENDBLOCK 425
DDS.LCD1x0y0_X:
                        .LINE     425
                        .BRANCH   19
                        RET
                        .ENDFUNC  425

                        .FUNC     LCD1x0y1, 427, 00020h
DDS.LCD1x0y1:
                        .BLOCK    428
                        .LINE     429
                        LDI       _ACCA, 000h
                        STS       DDS.X, _ACCA
                        .LINE     430
                        LDI       _ACCA, 001h
                        STS       DDS.Y, _ACCA
                        .LINE     431
                        .BRANCH   17,DDS.LCD1XY
                        RCALL     DDS.LCD1XY
                        .ENDBLOCK 432
DDS.LCD1x0y1_X:
                        .LINE     432
                        .BRANCH   19
                        RET
                        .ENDFUNC  432


                        .FILE     buttons.pas
                        .FUNC     FastRepeatRelease, 1, 00020h
DDS.FastRepeatRelease:
                        .BLOCK    3
DDS.L0063:
                        .BLOCK    5
                        .LINE     6
                        IN        _ACCA, PinD
                        STS       DDS.BTNINPORT, _ACCA
                        .LINE     7
                        LDS       _ACCA, DDS.BtnInPort
                        ORI       _ACCA, 007h
                        MOV       DDS.I, _ACCA
                        .LINE     8
                        LDI       _ACCA, 0000Ah SHRB 8
                        LDI       _ACCB, 0000Ah AND 0FFh
                        .FRAME  0
                        RCALL     SYSTEM.MDELAY
                        .ENDBLOCK 9
                        .LINE     9
DDS.L0064:
                        MOV       _ACCA, DDS.i
                        CPI       _ACCA, 0FFh
                        LDI       _ACCA, 0h
                        BRNE      DDS.L0066
                        SER       _ACCA
DDS.L0066:
                        TST       _ACCA
                        .BRANCH   4,DDS.L0067
                        BRNE      DDS.L0067
                        .BRANCH   20,DDS.L0063
                        RJMP      DDS.L0063
DDS.L0067:
DDS.L0065:
                        .LINE     10
                        LDI       _ACCA, 0000Ah SHRB 8
                        LDI       _ACCB, 0000Ah AND 0FFh
                        .FRAME  0
                        RCALL     SYSTEM.MDELAY
                        .ENDBLOCK 30
DDS.FastRepeatRelease_X:
                        .LINE     30
                        .BRANCH   19
                        RET
                        .ENDFUNC  30

                        .FUNC     SlowRepeatRelease, 32, 00020h
DDS.SlowRepeatRelease:
                        .BLOCK    33
                        .LINE     34
                        LDI       _ACCA, 0FFh
                        STS       DDS.BTNTIME2, _ACCA
                        .LINE     35
                        .BRANCH   17,DDS.FASTREPEATRELEASE
                        RCALL     DDS.FASTREPEATRELEASE
                        .ENDBLOCK 36
DDS.SlowRepeatRelease_X:
                        .LINE     36
                        .BRANCH   19
                        RET
                        .ENDFUNC  36

                        .FUNC     NaviButton, 38, 00020h
DDS.NaviButton:
                        .BLOCK    40
                        .LINE     41
                        IN        _ACCA, PinD
                        STS       DDS.BTNINPORT, _ACCA
                        .LINE     42
                        LDS       _ACCA, DDS.BtnInPort
                        ORI       _ACCA, 067h
                        CPI       _ACCA, 0FFh
                        LDI       _ACCA, 0h
                        BREQ      DDS.L0068
                        SER       _ACCA
DDS.L0068:
                        STS       DDS.ABOOL, _ACCA
                        .LINE     43
                        LDS       _ACCA, DDS.aBool
                        .ENDBLOCK 44
DDS.NaviButton_X:
                        .LINE     44
                        .BRANCH   19
                        RET
                        .ENDFUNC  44

                        .FUNC     UpDownButton, 46, 00020h
DDS.UpDownButton:
                        .BLOCK    48
                        .LINE     49
                        IN        _ACCA, PinD
                        STS       DDS.BTNINPORT, _ACCA
                        .LINE     50
                        LDS       _ACCA, DDS.BtnInPort
                        ORI       _ACCA, 09Fh
                        CPI       _ACCA, 0FFh
                        LDI       _ACCA, 0h
                        BREQ      DDS.L0069
                        SER       _ACCA
DDS.L0069:
                        STS       DDS.ABOOL, _ACCA
                        .LINE     51
                        LDS       _ACCA, DDS.aBool
                        .ENDBLOCK 52
DDS.UpDownButton_X:
                        .LINE     52
                        .BRANCH   19
                        RET
                        .ENDFUNC  52

                        .FUNC     ROMStr16Out, 54, 00020h
DDS.ROMStr16Out:
                        .BLOCK    58
                        .ASM
                        .LINE     60
                        LDD       _ACCCLO, Y+000h
                        .LINE     61
                        LDI       _ACCA,1
                        .LINE     62
                        ADD       _ACCCLO,_ACCA     ;Pascal-Längenbyte übergehen (+1)
                        .LINE     63
                        CLR       _ACCA
                        .LINE     64
                        LDD       _ACCCHI, Y+001h
                        .LINE     65
                        ADC       _ACCCHI,_ACCA
                        .LINE     67
                        PUSH      _FRAMEPTR
                        .LINE     68
                        PUSH      _FPTRHI
                        .LINE     69
                        LDI       _ACCA, 1 SHLB _DEVICE
                        .LINE     70
                        OR        Flags, _ACCA
                        .LINE     71
                        LDI       _ACCB, SYSTEM.LCDOut_M SHRB 1
                        .LINE     72
                        LDI       _ACCA, SYSTEM.LCDOut_M SHRB 9
                        .LINE     73
                        ST        -Y, _ACCA
                        .LINE     74
                        ST        -Y, _ACCB
                        .LINE     75
                        LDI       _ACCBHI, 16
                        StrConst2Str:
                        .LINE     77
                        LPM       _ACCA, Z+
                        .LINE     78
                        TST       _ACCA
                        .LINE     79
                        BREQ      ROMStr16OutEnd    ;wenn 0-Byte, abbrechen
                        .LINE     80
                        RCALL     SYSTEM.Char2Str
                        .LINE     81
                        DEC       _ACCBHI
                        .LINE     82
                        BRNE      StrConst2Str
                        ROMStr16OutEnd:
                        .LINE     84
                        POP       _FPTRHI
                        .LINE     85
                        POP       _FRAMEPTR
                        .endasm
                        .ENDBLOCK 87
DDS.ROMStr16Out_X:
                        .LINE     87
                        .BRANCH   19
                        RET
                        .ENDFUNC  87


                        .FILE     C:\DOKUMENTE UND EINSTELLUNGEN\CM\EIGENE DATEIEN\DEVELOP\PROJAVR\DDS\DDS.pas
                        .FUNC     CheckItemLimits, 436, 00020h
DDS.CheckItemLimits:
                        .BLOCK    438
                        .LINE     439
                        LDS       _ACCA, DDS.EditValue
                        CPI       _ACCA, 0FFh
                        LDI       _ACCA, 0h
                        BRNE      DDS.L0070
                        SER       _ACCA
DDS.L0070:
                        TST       _ACCA
                        .BRANCH   4,DDS.L0073
                        BRNE      DDS.L0073
                        .BRANCH   20,DDS.L0071
                        RJMP      DDS.L0071
DDS.L0073:
                        .BLOCK    439
                        .LINE     440
                        LDI       _ACCA, 000h
                        STS       DDS.EDITVALUE, _ACCA
                        .ENDBLOCK 441
DDS.L0071:
DDS.L0072:
                        .LINE     442
                        LDS       _ACCA, DDS.EditValue
                        PUSH      _ACCA
                        LDS       _ACCA, DDS.ItemUpperLimit
                        POP       _ACCB
                        CP        _ACCB, _ACCA
                        LDI       _ACCA, 0h
                        BREQ      DDS.L0074
                        BRLO      DDS.L0074
                        SER       _ACCA
DDS.L0074:
                        TST       _ACCA
                        .BRANCH   4,DDS.L0077
                        BRNE      DDS.L0077
                        .BRANCH   20,DDS.L0075
                        RJMP      DDS.L0075
DDS.L0077:
                        .BLOCK    442
                        .LINE     443
                        LDS       _ACCA, DDS.ItemUpperLimit
                        STS       DDS.EDITVALUE, _ACCA
                        .ENDBLOCK 444
DDS.L0075:
DDS.L0076:
                        .LINE     445
                        LDS       _ACCA, DDS.EditValue
                        PUSH      _ACCA
                        LDS       _ACCA, DDS.ItemlowerLimit
                        POP       _ACCB
                        CP        _ACCB, _ACCA
                        LDI       _ACCA, 0FFh
                        BRLO      DDS.L0078
                        CLR       _ACCA
DDS.L0078:
                        TST       _ACCA
                        .BRANCH   4,DDS.L0081
                        BRNE      DDS.L0081
                        .BRANCH   20,DDS.L0079
                        RJMP      DDS.L0079
DDS.L0081:
                        .BLOCK    445
                        .LINE     446
                        LDS       _ACCA, DDS.ItemlowerLimit
                        STS       DDS.EDITVALUE, _ACCA
                        .ENDBLOCK 447
DDS.L0079:
DDS.L0080:
                        .ENDBLOCK 448
DDS.CheckItemLimits_X:
                        .LINE     448
                        .BRANCH   19
                        RET
                        .ENDFUNC  448

                        .FUNC     SetItemLimPos, 450, 00020h
DDS.SetItemLimPos:
                        .BLOCK    452
                        .LINE     453
                        LDI       _ACCA, 000h
                        STS       DDS.ITEMLOWERLIMIT, _ACCA
                        .LINE     454
                        LDI       _ACCA, 009h
                        STS       DDS.ITEMUPPERLIMIT, _ACCA
                        .LINE     455
                        LDI       _ACCA, 003h
                        STS       DDS.DIGITS, _ACCA
                        .LINE     456
                        LDI       _ACCA, 001h
                        STS       DDS.Y, _ACCA
                        .LINE     457
                        LDS       _ACCA, DDS.EditWhich
                        .LINE     458
                        CPI       _ACCA, 0
                        .BRANCH   3,DDS.L0085
                        BREQ      DDS.L0085
                        .BRANCH   20,DDS.L0084
                        RJMP      DDS.L0084
DDS.L0085:
DDS.L0083:
                        .BLOCK    459
                        .LINE     459
                        LDI       _ACCA, 002h
                        STS       DDS.DIGITS, _ACCA
                        .LINE     460
                        LDI       _ACCA, 01Fh
                        STS       DDS.ITEMUPPERLIMIT, _ACCA
                        .LINE     461
                        LDS       _ACCA, DDS.PresetOn
                        TST       _ACCA
                        .BRANCH   4,DDS.L0088
                        BRNE      DDS.L0088
                        .BRANCH   20,DDS.L0086
                        RJMP      DDS.L0086
DDS.L0088:
                        .BLOCK    461
                        .LINE     462
                        LDS       _ACCA, DDS.ItemUpperLimit
                        DEC       _ACCA
                        STS       DDS.ItemUpperLimit, _ACCA
                        .ENDBLOCK 463
DDS.L0086:
DDS.L0087:
                        .LINE     464
                        LDI       _ACCA, 007h
                        STS       DDS.X, _ACCA
                        .LINE     465
                        LDI       _ACCA, 000h
                        STS       DDS.Y, _ACCA
                        .ENDBLOCK 466
                        .BRANCH   20,DDS.L0082
                        RJMP      DDS.L0082
DDS.L0084:
                        .LINE     467
                        CPI       _ACCA, 1
                        .BRANCH   3,DDS.L0091
                        BREQ      DDS.L0091
                        .BRANCH   20,DDS.L0090
                        RJMP      DDS.L0090
DDS.L0091:
DDS.L0089:
                        .BLOCK    468
                        .LINE     468
                        LDI       _ACCA, 004h
                        STS       DDS.DIGITS, _ACCA
                        .LINE     469
                        LDI       _ACCA, 050h
                        STS       DDS.ITEMUPPERLIMIT, _ACCA
                        .LINE     470
                        LDI       _ACCA, 009h
                        STS       DDS.X, _ACCA
                        .LINE     471
                        LDI       _ACCA, 000h
                        STS       DDS.Y, _ACCA
                        .ENDBLOCK 472
                        .BRANCH   20,DDS.L0082
                        RJMP      DDS.L0082
DDS.L0090:
                        .LINE     473
                        CPI       _ACCA, 2
                        .BRANCH   2,DDS.L0094
                        BRCC      DDS.L0094
                        .BRANCH   20,DDS.L0093
                        RJMP      DDS.L0093
DDS.L0094:
                        CPI       _ACCA, 9
                        .BRANCH   3,DDS.L0095
                        BREQ      DDS.L0095
                        .BRANCH   1,DDS.L0093
                        BRCS      DDS.L0095
                        .BRANCH   20,DDS.L0093
                        RJMP      DDS.L0093
DDS.L0095:
DDS.L0092:
                        .BLOCK    474
                        .LINE     474
                        LDI       _ACCA, 001h
                        STS       DDS.DIGITS, _ACCA
                        .LINE     475
                        LDS       _ACCA, DDS.EditWhich
                        SUBI      _ACCA, 002h AND 0FFh
                        ANDI      _ACCA, 007h
                        STS       DDS.X, _ACCA
                        .LINE     476
                        LDS       _ACCA, DDS.x
                        LSL       _ACCA
                        STS       DDS.X, _ACCA
                        .LINE     477
                        LDI       _ACCA, 001h
                        STS       DDS.Y, _ACCA
                        .LINE     478
                        LDS       _ACCA, DDS.EditWhich
                        CPI       _ACCA, 002h
                        LDI       _ACCA, 0h
                        BRNE      DDS.L0096
                        SER       _ACCA
DDS.L0096:
                        TST       _ACCA
                        .BRANCH   4,DDS.L0099
                        BRNE      DDS.L0099
                        .BRANCH   20,DDS.L0097
                        RJMP      DDS.L0097
DDS.L0099:
                        .BLOCK    478
                        .LINE     479
                        LDI       _ACCA, 001h
                        STS       DDS.ITEMUPPERLIMIT, _ACCA
                        .ENDBLOCK 480
DDS.L0097:
DDS.L0098:
                        .ENDBLOCK 481
                        .BRANCH   20,DDS.L0082
                        RJMP      DDS.L0082
DDS.L0093:
                        .LINE     482
                        CPI       _ACCA, 10
                        .BRANCH   3,DDS.L0102
                        BREQ      DDS.L0102
                        .BRANCH   20,DDS.L0101
                        RJMP      DDS.L0101
DDS.L0102:
DDS.L0100:
                        .BLOCK    483
                        .LINE     483
                        LDI       _ACCA, 000h
                        STS       DDS.X, _ACCA
                        .LINE     484
                        LDI       _ACCA, 001h
                        STS       DDS.ITEMUPPERLIMIT, _ACCA
                        .ENDBLOCK 485
                        .BRANCH   20,DDS.L0082
                        RJMP      DDS.L0082
DDS.L0101:
                        .LINE     486
                        CPI       _ACCA, 11
                        .BRANCH   3,DDS.L0105
                        BREQ      DDS.L0105
                        .BRANCH   20,DDS.L0104
                        RJMP      DDS.L0104
DDS.L0105:
DDS.L0103:
                        .BLOCK    487
                        .LINE     487
                        LDI       _ACCA, 001h
                        STS       DDS.DIGITS, _ACCA
                        .LINE     488
                        LDI       _ACCA, 004h
                        STS       DDS.X, _ACCA
                        .LINE     489
                        LDI       _ACCA, 002h
                        STS       DDS.ITEMUPPERLIMIT, _ACCA
                        .ENDBLOCK 490
                        .BRANCH   20,DDS.L0082
                        RJMP      DDS.L0082
DDS.L0104:
                        .LINE     491
                        CPI       _ACCA, 12
                        .BRANCH   3,DDS.L0108
                        BREQ      DDS.L0108
                        .BRANCH   20,DDS.L0107
                        RJMP      DDS.L0107
DDS.L0108:
DDS.L0106:
                        .BLOCK    492
                        .LINE     492
                        LDI       _ACCA, 002h
                        STS       DDS.DIGITS, _ACCA
                        .LINE     493
                        LDI       _ACCA, 008h
                        STS       DDS.X, _ACCA
                        .LINE     494
                        LDI       _ACCA, 063h
                        STS       DDS.ITEMUPPERLIMIT, _ACCA
                        .ENDBLOCK 495
                        .BRANCH   20,DDS.L0082
                        RJMP      DDS.L0082
DDS.L0107:
                        .LINE     496
                        CPI       _ACCA, 13
                        .BRANCH   3,DDS.L0111
                        BREQ      DDS.L0111
                        .BRANCH   20,DDS.L0110
                        RJMP      DDS.L0110
DDS.L0111:
DDS.L0109:
                        .BLOCK    497
                        .LINE     497
                        LDI       _ACCA, 00Ch
                        STS       DDS.X, _ACCA
                        .LINE     498
                        LDI       _ACCA, 003h
                        STS       DDS.ITEMUPPERLIMIT, _ACCA
                        .ENDBLOCK 499
                        .BRANCH   20,DDS.L0082
                        RJMP      DDS.L0082
DDS.L0110:
DDS.L0082:
                        .ENDBLOCK 501
DDS.SetItemLimPos_X:
                        .LINE     501
                        .BRANCH   19
                        RET
                        .ENDFUNC  501

                        .FUNC     SetCursor, 503, 00020h
DDS.SetCursor:
                        .BLOCK    504
                        .LINE     505
                        .BRANCH   17,DDS.SETITEMLIMPOS
                        RCALL     DDS.SETITEMLIMPOS
                        .LINE     506
                        PUSH      _FRAMEPTR
                        PUSH      _FPTRHI
                        LDI       _ACCA, 000h
                        ST        -Y, _ACCA
                        .FRAME  1
                        LDS       _ACCA, DDS.x
                        PUSH      _ACCA
                        LDS       _ACCA, DDS.digits
                        POP       _ACCB
                        ADD       _ACCA, _ACCB
                        ST        -Y, _ACCA
                        .FRAME  2
                        LDS       _ACCA, DDS.y
                        ST        -Y, _ACCA
                        .FRAME  3
                        .FRAME  0
                        RCALL     SYSTEM.LCDXY_M
                        POP       _FPTRHI
                        POP       _FRAMEPTR
                        .LINE     507
                        LDI       _ACCA, 000h
                        .FRAME  0
                        RCALL     SYSTEM.LCDOUT_M
                        .ENDBLOCK 508
DDS.SetCursor_X:
                        .LINE     508
                        .BRANCH   19
                        RET
                        .ENDFUNC  508

                        .FUNC     WriteWave, 510, 00020h
DDS.WriteWave:
                        .BLOCK    511
                        .LINE     512
                        LDS       _ACCA, DDS.DisplayValue
                        .LINE     513
                        CPI       _ACCA, 0
                        .BRANCH   3,DDS.L0115
                        BREQ      DDS.L0115
                        .BRANCH   20,DDS.L0114
                        RJMP      DDS.L0114
DDS.L0115:
DDS.L0113:
                        .BLOCK    514
                        .LINE     514
                        PUSH      _FRAMEPTR
                        PUSH      _FPTRHI
                        LDI       _ACCCLO, DDS.SinStr AND 0FFh
                        LDI       _ACCCHI, DDS.SinStr SHRB 8
                        MOVW      _ACCB, _ACCCLO
                        ST        -Y, _ACCA
                        ST        -Y, _ACCB
                        .FRAME  2
                        .FRAME  0
                        .BRANCH   17,DDS.ROMSTR16OUT
                        RCALL     DDS.ROMSTR16OUT
                        POP       _FPTRHI
                        POP       _FRAMEPTR
                        .LINE     515
                        LDI       _ACCA, 02000h SHRB 8
                        LDI       _ACCB, 02000h AND 0FFh
                        STS       DDS.WAVE_CMD, _ACCB
                        STS       DDS.WAVE_CMD+1, _ACCA
                        .LINE     516
                        LDS       _ACCA, 00064h
                        CBR       _ACCA, 001h
                        STS       00064h, _ACCA
                        .ENDBLOCK 517
                        .BRANCH   20,DDS.L0112
                        RJMP      DDS.L0112
DDS.L0114:
                        .LINE     518
                        CPI       _ACCA, 1
                        .BRANCH   3,DDS.L0118
                        BREQ      DDS.L0118
                        .BRANCH   20,DDS.L0117
                        RJMP      DDS.L0117
DDS.L0118:
DDS.L0116:
                        .BLOCK    519
                        .LINE     519
                        PUSH      _FRAMEPTR
                        PUSH      _FPTRHI
                        LDI       _ACCCLO, DDS.TriStr AND 0FFh
                        LDI       _ACCCHI, DDS.TriStr SHRB 8
                        MOVW      _ACCB, _ACCCLO
                        ST        -Y, _ACCA
                        ST        -Y, _ACCB
                        .FRAME  2
                        .FRAME  0
                        .BRANCH   17,DDS.ROMSTR16OUT
                        RCALL     DDS.ROMSTR16OUT
                        POP       _FPTRHI
                        POP       _FRAMEPTR
                        .LINE     520
                        LDI       _ACCA, 02002h SHRB 8
                        LDI       _ACCB, 02002h AND 0FFh
                        STS       DDS.WAVE_CMD, _ACCB
                        STS       DDS.WAVE_CMD+1, _ACCA
                        .LINE     521
                        LDS       _ACCA, 00064h
                        CBR       _ACCA, 001h
                        STS       00064h, _ACCA
                        .LINE     522
                        LDS       _ACCA, 00064h
                        CBR       _ACCA, 008h
                        STS       00064h, _ACCA
                        .ENDBLOCK 523
                        .BRANCH   20,DDS.L0112
                        RJMP      DDS.L0112
DDS.L0117:
                        .LINE     524
                        CPI       _ACCA, 2
                        .BRANCH   3,DDS.L0121
                        BREQ      DDS.L0121
                        .BRANCH   20,DDS.L0120
                        RJMP      DDS.L0120
DDS.L0121:
DDS.L0119:
                        .BLOCK    525
                        .LINE     525
                        PUSH      _FRAMEPTR
                        PUSH      _FPTRHI
                        LDI       _ACCCLO, DDS.SquStr AND 0FFh
                        LDI       _ACCCHI, DDS.SquStr SHRB 8
                        MOVW      _ACCB, _ACCCLO
                        ST        -Y, _ACCA
                        ST        -Y, _ACCB
                        .FRAME  2
                        .FRAME  0
                        .BRANCH   17,DDS.ROMSTR16OUT
                        RCALL     DDS.ROMSTR16OUT
                        POP       _FPTRHI
                        POP       _FRAMEPTR
                        .LINE     526
                        LDI       _ACCA, 02028h SHRB 8
                        LDI       _ACCB, 02028h AND 0FFh
                        STS       DDS.WAVE_CMD, _ACCB
                        STS       DDS.WAVE_CMD+1, _ACCA
                        .LINE     527
                        LDS       _ACCA, 00064h
                        SBR       _ACCA, 001h
                        STS       00064h, _ACCA
                        .LINE     528
                        LDS       _ACCA, 00064h
                        CBR       _ACCA, 008h
                        STS       00064h, _ACCA
                        .ENDBLOCK 529
                        .BRANCH   20,DDS.L0112
                        RJMP      DDS.L0112
DDS.L0120:
                        .LINE     530
                        CPI       _ACCA, 3
                        .BRANCH   3,DDS.L0124
                        BREQ      DDS.L0124
                        .BRANCH   20,DDS.L0123
                        RJMP      DDS.L0123
DDS.L0124:
DDS.L0122:
                        .BLOCK    531
                        .LINE     531
                        PUSH      _FRAMEPTR
                        PUSH      _FPTRHI
                        LDI       _ACCCLO, DDS.ExtStr AND 0FFh
                        LDI       _ACCCHI, DDS.ExtStr SHRB 8
                        MOVW      _ACCB, _ACCCLO
                        ST        -Y, _ACCA
                        ST        -Y, _ACCB
                        .FRAME  2
                        .FRAME  0
                        .BRANCH   17,DDS.ROMSTR16OUT
                        RCALL     DDS.ROMSTR16OUT
                        POP       _FPTRHI
                        POP       _FRAMEPTR
                        .LINE     532
                        LDI       _ACCA, 02100h SHRB 8
                        LDI       _ACCB, 02100h AND 0FFh
                        STS       DDS.WAVE_CMD, _ACCB
                        STS       DDS.WAVE_CMD+1, _ACCA
                        .LINE     533
                        LDS       _ACCA, 00064h
                        CBR       _ACCA, 001h
                        STS       00064h, _ACCA
                        .LINE     534
                        LDS       _ACCA, 00064h
                        SBR       _ACCA, 008h
                        STS       00064h, _ACCA
                        .ENDBLOCK 535
                        .BRANCH   20,DDS.L0112
                        RJMP      DDS.L0112
DDS.L0123:
DDS.L0112:
                        .LINE     537
                        LDS       _ACCB, DDS.wave_cmd
                        LDS       _ACCA, DDS.wave_cmd+1
                        STS       DDS.DSS_CMD, _ACCB
                        STS       DDS.DSS_CMD+1, _ACCA
                        .LINE     538
                        .BRANCH   17,DDS.SENDDSS
                        RCALL     DDS.SENDDSS
                        .LINE     539
                        .BRANCH   17,DDS.SENDSR
                        RCALL     DDS.SENDSR
                        .ENDBLOCK 540
DDS.WriteWave_X:
                        .LINE     540
                        .BRANCH   19
                        RET
                        .ENDFUNC  540

                        .FUNC     WriteOutput, 542, 00020h
DDS.WriteOutput:
                        .BLOCK    543
                        .LINE     544
                        LDS       _ACCA, DDS.DisplayValue
                        CPI       _ACCA, 000h
                        LDI       _ACCA, 0h
                        BRNE      DDS.L0125
                        SER       _ACCA
DDS.L0125:
                        TST       _ACCA
                        .BRANCH   4,DDS.L0128
                        BRNE      DDS.L0128
                        .BRANCH   20,DDS.L0126
                        RJMP      DDS.L0126
DDS.L0128:
                        .BLOCK    544
                        .LINE     545
                        PUSH      _FRAMEPTR
                        PUSH      _FPTRHI
                        LDI       _ACCCLO, DDS.NrmStr AND 0FFh
                        LDI       _ACCCHI, DDS.NrmStr SHRB 8
                        MOVW      _ACCB, _ACCCLO
                        ST        -Y, _ACCA
                        ST        -Y, _ACCB
                        .FRAME  2
                        .FRAME  0
                        .BRANCH   17,DDS.ROMSTR16OUT
                        RCALL     DDS.ROMSTR16OUT
                        POP       _FPTRHI
                        POP       _FRAMEPTR
                        .ENDBLOCK 546
                        .BRANCH   20,DDS.L0127
                        RJMP      DDS.L0127
DDS.L0126:
                        .BLOCK    546
                        .LINE     547
                        PUSH      _FRAMEPTR
                        PUSH      _FPTRHI
                        LDI       _ACCCLO, DDS.PwrStr AND 0FFh
                        LDI       _ACCCHI, DDS.PwrStr SHRB 8
                        MOVW      _ACCB, _ACCCLO
                        ST        -Y, _ACCA
                        ST        -Y, _ACCB
                        .FRAME  2
                        .FRAME  0
                        .BRANCH   17,DDS.ROMSTR16OUT
                        RCALL     DDS.ROMSTR16OUT
                        POP       _FPTRHI
                        POP       _FRAMEPTR
                        .ENDBLOCK 548
DDS.L0127:
                        .ENDBLOCK 549
DDS.WriteOutput_X:
                        .LINE     549
                        .BRANCH   19
                        RET
                        .ENDFUNC  549

                        .FUNC     WriteItem, 551, 00020h
DDS.WriteItem:
                        .BLOCK    553
                        .LINE     557
                        LDS       _ACCA, DDS.digits
                        CPI       _ACCA, 001h
                        LDI       _ACCA, 0h
                        BREQ      DDS.L0129
                        BRLO      DDS.L0129
                        SER       _ACCA
DDS.L0129:
                        TST       _ACCA
                        .BRANCH   4,DDS.L0132
                        BRNE      DDS.L0132
                        .BRANCH   20,DDS.L0130
                        RJMP      DDS.L0130
DDS.L0132:
                        .BLOCK    557
                        .LINE     558
                        LDS       _ACCA, DDS.DisplayValue
                        LDI       _ACCB, 064h
                        RCALL     SYSTEM.DIV8_R
                        MOV       _ACCA, _ACCB
                        MOV       DDS.K, _ACCA
                        .LINE     559
                        MOV       _ACCA, DDS.k
                        LDI       _ACCB, 00Ah
                        RCALL     SYSTEM.DIV8_R
                        MOV       DDS.K, _ACCA
                        .LINE     560
                        MOV       _ACCA, DDS.k
                        SUBI      _ACCA, -030h AND 0FFh
                        .FRAME  0
                        RCALL     SYSTEM.LCDOUT_M
                        .ENDBLOCK 561
DDS.L0130:
DDS.L0131:
                        .LINE     562
                        LDS       _ACCA, DDS.DisplayValue
                        LDI       _ACCB, 00Ah
                        RCALL     SYSTEM.DIV8_R
                        MOV       _ACCA, _ACCB
                        MOV       DDS.K, _ACCA
                        .LINE     563
                        MOV       _ACCA, DDS.k
                        SUBI      _ACCA, -030h AND 0FFh
                        .FRAME  0
                        RCALL     SYSTEM.LCDOUT_M
                        .ENDBLOCK 565
DDS.WriteItem_X:
                        .LINE     565
                        .BRANCH   19
                        RET
                        .ENDFUNC  565

                        .FUNC     WriteFrequArrayData, 567, 00020h
DDS.WriteFrequArrayData:
                        .BLOCK    569
                        .LINE     570
                        .BRANCH   17,DDS.LCD1X0Y1
                        RCALL     DDS.LCD1X0Y1
                        .LINE     571
                        LDI       _ACCCLO, DDS.i AND 0FFh
                        LDI       _ACCCHI, DDS.i SHRB 8
                        ST        -Y, _ACCCHI
                        ST        -Y, _ACCCLO
                        .FRAME  2
                        LDI       _ACCA, 000h
                        ST        Z, _ACCA
                        LDI       _ACCA, 007h
                        ST        -Y, _ACCA
                        .FRAME  3
                        LD        _ACCA, Z
DDS.L0135:
                        LDD       _ACCB, Y+000h
                        CP        _ACCB, _ACCA
                        LDI       _ACCA, 0FFh
                        BRLO      DDS.L0136
                        CLR       _ACCA
DDS.L0136:
                        TST       _ACCA
                        .BRANCH   3,DDS.L0137
                        BREQ      DDS.L0137
                        .BRANCH   20,DDS.L0134
                        RJMP      DDS.L0134
DDS.L0137:
                        .BLOCK    572
                        .LINE     572
                        MOV       _ACCA, DDS.i
                        LDI       _ACCCLO, DDS.EditArray AND 0FFh
                        LDI       _ACCCHI, DDS.EditArray SHRB 8
                        ANDI      _ACCA, 15
                        CLR       _ACCB
                        ADD       _ACCCLO, _ACCA
                        ADC       _ACCCHI, _ACCB
                        LD        _ACCA, Z
                        MOV       DDS.K, _ACCA
                        .LINE     573
                        MOV       _ACCA, DDS.k
                        SUBI      _ACCA, -030h AND 0FFh
                        .FRAME  3
                        RCALL     SYSTEM.LCDOUT_M
                        .LINE     574
                        MOV       _ACCA, DDS.i
                        CPI       _ACCA, 006h
                        LDI       _ACCA, 0h
                        BRNE      DDS.L0138
                        SER       _ACCA
DDS.L0138:
                        TST       _ACCA
                        .BRANCH   4,DDS.L0141
                        BRNE      DDS.L0141
                        .BRANCH   20,DDS.L0139
                        RJMP      DDS.L0139
DDS.L0141:
                        .BLOCK    574
                        .LINE     575
                        LDI       _ACCA, 02Eh
                        .FRAME  3
                        RCALL     SYSTEM.LCDOUT_M
                        .ENDBLOCK 576
                        .BRANCH   20,DDS.L0140
                        RJMP      DDS.L0140
DDS.L0139:
                        .BLOCK    576
                        .LINE     577
                        LDI       _ACCA, 020h
                        .FRAME  3
                        RCALL     SYSTEM.LCDOUT_M
                        .ENDBLOCK 578
DDS.L0140:
                        .ENDBLOCK 579
DDS.L0133:
                        .LINE     579
                        LDD       _ACCCLO, Y+001h
                        LDD       _ACCCHI, Y+002h
                        LD        _ACCA, Z
                        INC       _ACCA
                        ST        Z, _ACCA
                        TST       _ACCA
                        .BRANCH   3,DDS.L0134
                        BREQ      DDS.L0134
                        .BRANCH   20,DDS.L0135
                        RJMP      DDS.L0135
DDS.L0134:
                        ADIW      _FRAMEPTR, 3
                        .FRAME  0
                        .ENDBLOCK 580
DDS.WriteFrequArrayData_X:
                        .LINE     580
                        .BRANCH   19
                        RET
                        .ENDFUNC  580

                        .FUNC     WriteOptionsArrayData, 582, 00020h
DDS.WriteOptionsArrayData:
                        .BLOCK    584
                        .LINE     585
                        .BRANCH   17,DDS.LCD1X0Y1
                        RCALL     DDS.LCD1X0Y1
                        .LINE     586
                        LDI       _ACCA, 002h
                        STS       DDS.DIGITS, _ACCA
                        .LINE     587
                        LDS       _ACCA, DDS.OutputMode
                        STS       DDS.DISPLAYVALUE, _ACCA
                        .LINE     588
                        .BRANCH   17,DDS.WRITEOUTPUT
                        RCALL     DDS.WRITEOUTPUT
                        .LINE     589
                        LDI       _ACCA, 020h
                        .FRAME  0
                        RCALL     SYSTEM.LCDOUT_M
                        .LINE     590
                        LDS       _ACCA, DDS.GainOffset
                        STS       DDS.DISPLAYVALUE, _ACCA
                        .LINE     591
                        LDI       _ACCA, 001h
                        STS       DDS.DIGITS, _ACCA
                        .LINE     592
                        .BRANCH   17,DDS.WRITEITEM
                        RCALL     DDS.WRITEITEM
                        .LINE     593
                        LDI       _ACCA, 030h
                        .FRAME  0
                        RCALL     SYSTEM.LCDOUT_M
                        .LINE     594
                        LDI       _ACCA, 020h
                        .FRAME  0
                        RCALL     SYSTEM.LCDOUT_M
                        .LINE     595
                        LDI       _ACCA, 020h
                        .FRAME  0
                        RCALL     SYSTEM.LCDOUT_M
                        .LINE     596
                        LDI       _ACCA, 002h
                        STS       DDS.DIGITS, _ACCA
                        .LINE     597
                        LDS       _ACCA, DDS.Burstmode
                        STS       DDS.DISPLAYVALUE, _ACCA
                        .LINE     598
                        .BRANCH   17,DDS.WRITEITEM
                        RCALL     DDS.WRITEITEM
                        .LINE     599
                        LDI       _ACCA, 020h
                        .FRAME  0
                        RCALL     SYSTEM.LCDOUT_M
                        .LINE     600
                        LDI       _ACCA, 020h
                        .FRAME  0
                        RCALL     SYSTEM.LCDOUT_M
                        .LINE     601
                        LDS       _ACCA, DDS.Wave
                        STS       DDS.DISPLAYVALUE, _ACCA
                        .LINE     602
                        .BRANCH   17,DDS.WRITEWAVE
                        RCALL     DDS.WRITEWAVE
                        .LINE     603
                        LDI       _ACCA, 020h
                        .FRAME  0
                        RCALL     SYSTEM.LCDOUT_M
                        .ENDBLOCK 604
DDS.WriteOptionsArrayData_X:
                        .LINE     604
                        .BRANCH   19
                        RET
                        .ENDFUNC  604

                        .FUNC     WriteFrequency, 606, 00020h
DDS.WriteFrequency:
                        SBIW      _FRAMEPTR, 1
                        .BLOCK    609
                        .LINE     610
                        LDI       _ACCA, 0FFh
                        STD       Y+000h, _ACCA
                        .LINE     611
                        LDI       _ACCCLO, DDS.i AND 0FFh
                        LDI       _ACCCHI, DDS.i SHRB 8
                        ST        -Y, _ACCCHI
                        ST        -Y, _ACCCLO
                        .FRAME  2
                        LDI       _ACCA, 000h
                        ST        Z, _ACCA
                        LDI       _ACCA, 006h
                        ST        -Y, _ACCA
                        .FRAME  3
                        LD        _ACCA, Z
DDS.L0144:
                        LDD       _ACCB, Y+000h
                        CP        _ACCB, _ACCA
                        LDI       _ACCA, 0FFh
                        BRLO      DDS.L0145
                        CLR       _ACCA
DDS.L0145:
                        TST       _ACCA
                        .BRANCH   3,DDS.L0146
                        BREQ      DDS.L0146
                        .BRANCH   20,DDS.L0143
                        RJMP      DDS.L0143
DDS.L0146:
                        .BLOCK    612
                        .LINE     612
                        MOV       _ACCA, DDS.i
                        LDI       _ACCCLO, DDS.EditArray AND 0FFh
                        LDI       _ACCCHI, DDS.EditArray SHRB 8
                        ANDI      _ACCA, 15
                        CLR       _ACCB
                        ADD       _ACCCLO, _ACCA
                        ADC       _ACCCHI, _ACCB
                        LD        _ACCA, Z
                        STS       DDS.DISPLAYVALUE, _ACCA
                        .LINE     613
                        LDS       _ACCA, DDS.DisplayValue
                        CPI       _ACCA, 000h
                        LDI       _ACCA, 0h
                        BREQ      DDS.L0147
                        SER       _ACCA
DDS.L0147:
                        TST       _ACCA
                        .BRANCH   4,DDS.L0150
                        BRNE      DDS.L0150
                        .BRANCH   20,DDS.L0148
                        RJMP      DDS.L0148
DDS.L0150:
                        .BLOCK    613
                        .LINE     614
                        LDI       _ACCA, 000h
                        STD       Y+003h, _ACCA
                        .ENDBLOCK 615
DDS.L0148:
DDS.L0149:
                        .LINE     616
                        LDS       _ACCA, DDS.DisplayValue
                        CPI       _ACCA, 000h
                        LDI       _ACCA, 0h
                        BRNE      DDS.L0151
                        SER       _ACCA
DDS.L0151:
                        PUSH      _ACCA
                        LDD       _ACCA, Y+003h
                        POP       _ACCB
                        AND       _ACCA, _ACCB
                        TST       _ACCA
                        .BRANCH   4,DDS.L0154
                        BRNE      DDS.L0154
                        .BRANCH   20,DDS.L0152
                        RJMP      DDS.L0152
DDS.L0154:
                        .BLOCK    616
                        .LINE     617
                        LDI       _ACCA, 020h
                        .FRAME  3
                        RCALL     SYSTEM.LCDOUT_M
                        .ENDBLOCK 618
                        .BRANCH   20,DDS.L0153
                        RJMP      DDS.L0153
DDS.L0152:
                        .BLOCK    618
                        .LINE     619
                        LDS       _ACCA, DDS.DisplayValue
                        SUBI      _ACCA, -030h AND 0FFh
                        .FRAME  3
                        RCALL     SYSTEM.LCDOUT_M
                        .ENDBLOCK 620
DDS.L0153:
                        .ENDBLOCK 621
DDS.L0142:
                        .LINE     621
                        LDD       _ACCCLO, Y+001h
                        LDD       _ACCCHI, Y+002h
                        LD        _ACCA, Z
                        INC       _ACCA
                        ST        Z, _ACCA
                        TST       _ACCA
                        .BRANCH   3,DDS.L0143
                        BREQ      DDS.L0143
                        .BRANCH   20,DDS.L0144
                        RJMP      DDS.L0144
DDS.L0143:
                        ADIW      _FRAMEPTR, 3
                        .FRAME  0
                        .LINE     622
                        LDI       _ACCA, 02Eh
                        .FRAME  0
                        RCALL     SYSTEM.LCDOUT_M
                        .LINE     623
                        LDS       _ACCA, DDS.FrequDez
                        STS       DDS.DISPLAYVALUE, _ACCA
                        .LINE     624
                        LDS       _ACCA, DDS.DisplayValue
                        SUBI      _ACCA, -030h AND 0FFh
                        .FRAME  0
                        RCALL     SYSTEM.LCDOUT_M
                        .LINE     625
                        PUSH      _FRAMEPTR
                        PUSH      _FPTRHI
                        LDI       _ACCCLO, DDS.HzStr AND 0FFh
                        LDI       _ACCCHI, DDS.HzStr SHRB 8
                        MOVW      _ACCB, _ACCCLO
                        ST        -Y, _ACCA
                        ST        -Y, _ACCB
                        .FRAME  2
                        .FRAME  0
                        .BRANCH   17,DDS.ROMSTR16OUT
                        RCALL     DDS.ROMSTR16OUT
                        POP       _FPTRHI
                        POP       _FRAMEPTR
                        .ENDBLOCK 626
DDS.WriteFrequency_X:
                        .LINE     626
                        .BRANCH   19
                        RET
                        .ENDFUNC  626

                        .FUNC     WriteLevelmV, 628, 00020h
DDS.WriteLevelmV:
                        SBIW      _FRAMEPTR, 3
                        .BLOCK    633
                        .LINE     634
                        LDS       _ACCA, DDS.LeveldB
                        PUSH      _ACCA
                        LDS       _ACCA, DDS.GainOffset
                        LDI       _ACCB, 00Ah
                        RCALL     SYSTEM.MUL8
                        POP       _ACCB
                        ADD       _ACCA, _ACCB
                        SUBI      _ACCA, -00Ah AND 0FFh
                        STD       Y+001h, _ACCA
                        .LINE     635
                        LDD       _ACCA, Y+001h
                        LDI       _ACCB, 014h
                        RCALL     SYSTEM.DIV8_R
                        MOV       _ACCA, _ACCB
                        MOV       DDS.J, _ACCA
                        .LINE     636
                        LDD       _ACCA, Y+001h
                        SUBI      _ACCA, -00Ah AND 0FFh
                        LDI       _ACCB, 014h
                        RCALL     SYSTEM.DIV8_R
                        SUBI      _ACCA, -002h AND 0FFh
                        MOV       DDS.K, _ACCA
                        .LINE     637
                        LDI       _ACCA, 06Dh
                        STD       Y+000h, _ACCA
                        .LINE     638
                        LDI       _ACCCLO, DDS.LevelStr AND 0FFh
                        LDI       _ACCCHI, DDS.LevelStr SHRB 8
                        PUSH      _ACCCLO
                        PUSH      _ACCCHI
                        ADIW      _ACCCLO, 1
                        ST        -Y, _ACCCHI
                        ST        -Y, _ACCCLO
                        LDI       _ACCA, 007h
                        ST        -Y, _ACCA
                        LDI       _ACCA, 0FEH ROLB _DEVICE
                        AND       Flags, _ACCA
                        LDI       _ACCA, 0FEH ROLB _EEPROM
                        AND       Flags, _ACCA
                        .FRAME  3
                        MOV       _ACCA, DDS.j
                        LDI       _ACCCLO, DDS.dBfac AND 0FFh
                        LDI       _ACCCHI, DDS.dBfac SHRB 8
                        ANDI      _ACCA, 31
                        CLR       _ACCB
                        LSL       _ACCA
                        ROL       _ACCB
                        ADD       _ACCCLO, _ACCA
                        ADC       _ACCCHI, _ACCB
                        LPM       _ACCB, Z+
                        LPM       _ACCA, Z
                        PUSH      _ACCB
                        PUSH      _ACCA
                        LDI       _ACCA, 006h
                        PUSH      _ACCA
                        LDI       _ACCB, 000h
                        PUSH      _ACCB
                        LDI       _ACCA, 020h
                        PUSH      _ACCA
                        CLT
                        BLD       Flags, _SIGN
                        RCALL     SYSTEM.Int2Str
                        LDI       _ACCA, 007h
                        PUSH      _ACCA
                        LDD       _ACCA, Y+000h
                        POP       _ACCB
                        SUB       _ACCB, _ACCA
                        MOV       _ACCA, _ACCB
                        POP       _ACCCHI
                        POP       _ACCCLO
                        ST        Z, _ACCA
                        ADIW      _FRAMEPTR, 3
                        .FRAME  0
                        .LINE     642
                        LDD       _ACCA, Y+001h
                        .LINE     643
                        CPI       _ACCA, 10
                        .BRANCH   2,DDS.L0158
                        BRCC      DDS.L0158
                        .BRANCH   20,DDS.L0157
                        RJMP      DDS.L0157
DDS.L0158:
                        CPI       _ACCA, 29
                        .BRANCH   3,DDS.L0159
                        BREQ      DDS.L0159
                        .BRANCH   1,DDS.L0157
                        BRCS      DDS.L0159
                        .BRANCH   20,DDS.L0157
                        RJMP      DDS.L0157
DDS.L0159:
DDS.L0156:
                        .BLOCK    644
                        .LINE     644
                        MOV       _ACCA, DDS.k
                        SUBI      _ACCA, -003h AND 0FFh
                        MOV       DDS.K, _ACCA
                        .LINE     645
                        LDI       _ACCCLO, $St_String22 AND 0FFh
                        LDI       _ACCCHI, $St_String22 SHRB 8
                        PUSH      _ACCCLO
                        PUSH      _ACCCHI
                        LDI       _ACCCLO, DDS.LevelStr AND 0FFh
                        LDI       _ACCCHI, DDS.LevelStr SHRB 8
                        PUSH      _ACCCLO
                        PUSH      _ACCCHI
                        LDI       _ACCA, 007h
                        PUSH      _ACCA
                        MOV       _ACCA, DDS.k
                        LDI       _ACCFHI, 002h
                        RCALL     SYSTEM.StringInsert
                        .LINE     646
                        LDI       _ACCA, 0E4h
                        STD       Y+000h, _ACCA
                        .ENDBLOCK 647
                        .BRANCH   20,DDS.L0155
                        RJMP      DDS.L0155
DDS.L0157:
                        .LINE     648
                        CPI       _ACCA, 30
                        .BRANCH   2,DDS.L0162
                        BRCC      DDS.L0162
                        .BRANCH   20,DDS.L0161
                        RJMP      DDS.L0161
DDS.L0162:
                        CPI       _ACCA, 89
                        .BRANCH   3,DDS.L0163
                        BREQ      DDS.L0163
                        .BRANCH   1,DDS.L0161
                        BRCS      DDS.L0163
                        .BRANCH   20,DDS.L0161
                        RJMP      DDS.L0161
DDS.L0163:
DDS.L0160:
                        .BLOCK    649
                        .LINE     649
                        LDI       _ACCCLO, $St_String22 AND 0FFh
                        LDI       _ACCCHI, $St_String22 SHRB 8
                        PUSH      _ACCCLO
                        PUSH      _ACCCHI
                        LDI       _ACCCLO, DDS.LevelStr AND 0FFh
                        LDI       _ACCCHI, DDS.LevelStr SHRB 8
                        PUSH      _ACCCLO
                        PUSH      _ACCCHI
                        LDI       _ACCA, 007h
                        PUSH      _ACCA
                        MOV       _ACCA, DDS.k
                        LDI       _ACCFHI, 002h
                        RCALL     SYSTEM.StringInsert
                        .ENDBLOCK 650
                        .BRANCH   20,DDS.L0155
                        RJMP      DDS.L0155
DDS.L0161:
                        .LINE     651
                        CPI       _ACCA, 90
                        .BRANCH   2,DDS.L0166
                        BRCC      DDS.L0166
                        .BRANCH   20,DDS.L0165
                        RJMP      DDS.L0165
DDS.L0166:
                        CPI       _ACCA, 109
                        .BRANCH   3,DDS.L0167
                        BREQ      DDS.L0167
                        .BRANCH   1,DDS.L0165
                        BRCS      DDS.L0167
                        .BRANCH   20,DDS.L0165
                        RJMP      DDS.L0165
DDS.L0167:
DDS.L0164:
                        .BLOCK    652
                        .LINE     652
                        LDI       _ACCCLO, $St_String22 AND 0FFh
                        LDI       _ACCCHI, $St_String22 SHRB 8
                        PUSH      _ACCCLO
                        PUSH      _ACCCHI
                        LDI       _ACCCLO, DDS.LevelStr AND 0FFh
                        LDI       _ACCCHI, DDS.LevelStr SHRB 8
                        PUSH      _ACCCLO
                        PUSH      _ACCCHI
                        LDI       _ACCA, 007h
                        PUSH      _ACCA
                        LDI       _ACCA, 004h
                        LDI       _ACCFHI, 002h
                        RCALL     SYSTEM.StringInsert
                        .LINE     653
                        LDI       _ACCA, 020h
                        STD       Y+000h, _ACCA
                        .ENDBLOCK 654
                        .BRANCH   20,DDS.L0155
                        RJMP      DDS.L0155
DDS.L0165:
                        .LINE     655
                        CPI       _ACCA, 110
                        .BRANCH   3,DDS.L0170
                        BREQ      DDS.L0170
                        .BRANCH   20,DDS.L0169
                        RJMP      DDS.L0169
DDS.L0170:
DDS.L0168:
                        .BLOCK    656
                        .LINE     656
                        LDI       _ACCCLO, $St_String22 AND 0FFh
                        LDI       _ACCCHI, $St_String22 SHRB 8
                        PUSH      _ACCCLO
                        PUSH      _ACCCHI
                        LDI       _ACCCLO, DDS.LevelStr AND 0FFh
                        LDI       _ACCCHI, DDS.LevelStr SHRB 8
                        PUSH      _ACCCLO
                        PUSH      _ACCCHI
                        LDI       _ACCA, 007h
                        PUSH      _ACCA
                        LDI       _ACCA, 005h
                        LDI       _ACCFHI, 002h
                        RCALL     SYSTEM.StringInsert
                        .LINE     657
                        LDI       _ACCA, 020h
                        STD       Y+000h, _ACCA
                        .ENDBLOCK 658
                        .BRANCH   20,DDS.L0155
                        RJMP      DDS.L0155
DDS.L0169:
DDS.L0155:
                        .LINE     660
                        LDI       _ACCA, 020h
                        .FRAME  0
                        RCALL     SYSTEM.LCDOUT_M
                        .LINE     661
                        LDI       _ACCA, 020h
                        .FRAME  0
                        RCALL     SYSTEM.LCDOUT_M
                        .LINE     662
                        PUSH      _FRAMEPTR
                        PUSH      _FPTRHI
                        LDI       _ACCA, 1 SHLB _DEVICE
                        OR        Flags, _ACCA
                        LDI       _ACCB, SYSTEM.lcdout_m SHRB 1
                        LDI       _ACCA, SYSTEM.lcdout_m SHRB 9
                        ST        -Y, _ACCA
                        ST        -Y, _ACCB
                        .FRAME  2
                        LDI       _ACCCLO, DDS.LevelStr AND 0FFh
                        LDI       _ACCCHI, DDS.LevelStr SHRB 8
                        RCALL     SYSTEM.StrVar2Str
                        POP       _FPTRHI
                        POP       _FRAMEPTR
                        .FRAME  0
                        .LINE     663
                        LDI       _ACCA, 020h
                        .FRAME  0
                        RCALL     SYSTEM.LCDOUT_M
                        .LINE     664
                        LDD       _ACCA, Y+000h
                        .FRAME  0
                        RCALL     SYSTEM.LCDOUT_M
                        .LINE     665
                        LDI       _ACCA, 056h
                        .FRAME  0
                        RCALL     SYSTEM.LCDOUT_M
                        .ENDBLOCK 666
DDS.WriteLevelmV_X:
                        .LINE     666
                        .BRANCH   19
                        RET
                        .ENDFUNC  666

                        .FUNC     WriteLeveldB, 668, 00020h
DDS.WriteLeveldB:
                        SBIW      _FRAMEPTR, 2
                        .BLOCK    670
                        .LINE     673
                        LDS       _ACCA, DDS.LeveldB
                        MOV       _ACCB, _ACCA
                        CLR       _ACCA
                        SUBI      _ACCB, 00046h AND 0FFh
                        SBCI      _ACCA, 00046h SHRB 8
                        PUSH      _ACCB
                        PUSH      _ACCA
                        LDS       _ACCA, DDS.GainOffset
                        LDI       _ACCB, 00Ah
                        RCALL     SYSTEM.MUL8
                        MOV       _ACCB, _ACCA
                        CLR       _ACCA
                        POP       _ACCAHI
                        POP       _ACCALO
                        ADD       _ACCB, _ACCALO
                        ADC       _ACCA, _ACCAHI
                        STD       Y+001h, _ACCA
                        STD       Y+000h, _ACCB
                        .LINE     674
                        PUSH      _FRAMEPTR
                        PUSH      _FPTRHI
                        LDI       _ACCA, 1 SHLB _DEVICE
                        OR        Flags, _ACCA
                        LDI       _ACCB, SYSTEM.lcdout_m SHRB 1
                        LDI       _ACCA, SYSTEM.lcdout_m SHRB 9
                        ST        -Y, _ACCA
                        ST        -Y, _ACCB
                        .FRAME  2
                        LDD       _ACCB, Y+002h
                        LDD       _ACCA, Y+003h
                        PUSH      _ACCB
                        PUSH      _ACCA
                        LDI       _ACCA, 004h
                        PUSH      _ACCA
                        LDI       _ACCB, 000h
                        PUSH      _ACCB
                        LDI       _ACCA, 020h
                        PUSH      _ACCA
                        SET
                        BLD       Flags, _SIGN
                        RCALL     SYSTEM.Int2Str
                        POP       _FPTRHI
                        POP       _FRAMEPTR
                        .FRAME  0
                        .LINE     675
                        PUSH      _FRAMEPTR
                        PUSH      _FPTRHI
                        LDI       _ACCCLO, DDS.dBStr AND 0FFh
                        LDI       _ACCCHI, DDS.dBStr SHRB 8
                        MOVW      _ACCB, _ACCCLO
                        ST        -Y, _ACCA
                        ST        -Y, _ACCB
                        .FRAME  2
                        .FRAME  0
                        .BRANCH   17,DDS.ROMSTR16OUT
                        RCALL     DDS.ROMSTR16OUT
                        POP       _FPTRHI
                        POP       _FRAMEPTR
                        .ENDBLOCK 676
DDS.WriteLeveldB_X:
                        .LINE     676
                        .BRANCH   19
                        RET
                        .ENDFUNC  676

                        .FUNC     EditItem, 678, 00020h
DDS.EditItem:
                        SBIW      _FRAMEPTR, 1
                        .BLOCK    681
                        .LINE     682
                        LDI       _ACCA, 000h
                        STD       Y+000h, _ACCA
                        .LINE     683
DDS.L0171:
                        .BRANCH   17,DDS.UPDOWNBUTTON
                        RCALL      DDS.UPDOWNBUTTON
                        TST       _ACCA
                        .BRANCH   4,DDS.L0173
                        BRNE      DDS.L0173
                        .BRANCH   20,DDS.L0172
                        RJMP      DDS.L0172
DDS.L0173:
                        .BLOCK    683
                        .LINE     685
                        LDI       _ACCA, 0C8h
                        STS       DDS.IncrTimeOut, _ACCA
                        .LINE     687
                        LDI       _ACCA, 0FFh
                        STD       Y+000h, _ACCA
                        .LINE     688
                        LDS       _ACCB, 00065h
                        CLR       _ACCA
                        SBRC      _ACCB, 005h
                        SER       _ACCA
                        COM       _ACCA
                        TST       _ACCA
                        .BRANCH   4,DDS.L0176
                        BRNE      DDS.L0176
                        .BRANCH   20,DDS.L0174
                        RJMP      DDS.L0174
DDS.L0176:
                        .BLOCK    688
                        .LINE     689
                        LDS       _ACCA, DDS.EditValue
                        INC       _ACCA
                        STS       DDS.EditValue, _ACCA
                        .ENDBLOCK 690
DDS.L0174:
DDS.L0175:
                        .LINE     691
                        LDS       _ACCB, 00065h
                        CLR       _ACCA
                        SBRC      _ACCB, 006h
                        SER       _ACCA
                        COM       _ACCA
                        TST       _ACCA
                        .BRANCH   4,DDS.L0179
                        BRNE      DDS.L0179
                        .BRANCH   20,DDS.L0177
                        RJMP      DDS.L0177
DDS.L0179:
                        .BLOCK    691
                        .LINE     692
                        LDS       _ACCA, DDS.EditValue
                        DEC       _ACCA
                        STS       DDS.EditValue, _ACCA
                        .ENDBLOCK 693
DDS.L0177:
DDS.L0178:
DDS.L0180:
                        .BLOCK    695
                        .LINE     696
                        LDI       _ACCA, 00004h SHRB 8
                        LDI       _ACCB, 00004h AND 0FFh
                        .FRAME  0
                        RCALL     SYSTEM.MDELAY
                        .ENDBLOCK 697
                        .LINE     697
DDS.L0181:
                        .BRANCH   17,DDS.UPDOWNBUTTON
                        RCALL      DDS.UPDOWNBUTTON
                        COM       _ACCA
                        TST       _ACCA
                        .BRANCH   4,DDS.L0183
                        BRNE      DDS.L0183
                        .BRANCH   20,DDS.L0180
                        RJMP      DDS.L0180
DDS.L0183:
DDS.L0182:
                        .LINE     699
                        .BRANCH   17,DDS.CHECKITEMLIMITS
                        RCALL     DDS.CHECKITEMLIMITS
                        .LINE     700
                        .BRANCH   17,DDS.LCD1XY
                        RCALL     DDS.LCD1XY
                        .LINE     701
                        LDS       _ACCA, DDS.EditValue
                        STS       DDS.DISPLAYVALUE, _ACCA
                        .LINE     703
                        LDS       _ACCA, DDS.EditWhich
                        .LINE     704
                        CPI       _ACCA, 13
                        .BRANCH   3,DDS.L0187
                        BREQ      DDS.L0187
                        .BRANCH   20,DDS.L0186
                        RJMP      DDS.L0186
DDS.L0187:
DDS.L0185:
                        .BLOCK    705
                        .LINE     705
                        .BRANCH   17,DDS.WRITEWAVE
                        RCALL     DDS.WRITEWAVE
                        .ENDBLOCK 706
                        .BRANCH   20,DDS.L0184
                        RJMP      DDS.L0184
DDS.L0186:
                        .LINE     707
                        CPI       _ACCA, 10
                        .BRANCH   3,DDS.L0190
                        BREQ      DDS.L0190
                        .BRANCH   20,DDS.L0189
                        RJMP      DDS.L0189
DDS.L0190:
DDS.L0188:
                        .BLOCK    708
                        .LINE     708
                        .BRANCH   17,DDS.WRITEOUTPUT
                        RCALL     DDS.WRITEOUTPUT
                        .ENDBLOCK 709
                        .BRANCH   20,DDS.L0184
                        RJMP      DDS.L0184
DDS.L0189:
                        .LINE     710
                        CPI       _ACCA, 1
                        .BRANCH   3,DDS.L0193
                        BREQ      DDS.L0193
                        .BRANCH   20,DDS.L0192
                        RJMP      DDS.L0192
DDS.L0193:
DDS.L0191:
                        .BLOCK    711
                        .LINE     711
                        PUSH      _FRAMEPTR
                        PUSH      _FPTRHI
                        .BRANCH   17,DDS.WRITELEVELDB
                        RCALL     DDS.WRITELEVELDB
                        POP       _FPTRHI
                        POP       _FRAMEPTR
                        .ENDBLOCK 712
                        .BRANCH   20,DDS.L0184
                        RJMP      DDS.L0184
DDS.L0192:
                        .LINE     713
                        .BLOCK    713
                        .LINE     714
                        .BRANCH   17,DDS.WRITEITEM
                        RCALL     DDS.WRITEITEM
                        .ENDBLOCK 715
DDS.L0184:
                        .ENDBLOCK 720
                        .LINE     720
                        .BRANCH   20,DDS.L0171
                        RJMP      DDS.L0171
DDS.L0172:
                        .LINE     721
                        LDS       _ACCA, DDS.BurstMode
                        CPI       _ACCA, 000h
                        LDI       _ACCA, 0h
                        BREQ      DDS.L0194
                        SER       _ACCA
DDS.L0194:
                        TST       _ACCA
                        .BRANCH   4,DDS.L0197
                        BRNE      DDS.L0197
                        .BRANCH   20,DDS.L0195
                        RJMP      DDS.L0195
DDS.L0197:
                        .BLOCK    721
                        .LINE     722
                        SER       _ACCA
                        LDS       _ACCB, DDS.BurstTimer
                        TST       _ACCB
                        BREQ      DDS.L0198
                        COM       _ACCA
DDS.L0198:
                        TST       _ACCA
                        .BRANCH   4,DDS.L0201
                        BRNE      DDS.L0201
                        .BRANCH   20,DDS.L0199
                        RJMP      DDS.L0199
DDS.L0201:
                        .BLOCK    722
                        .LINE     723
                        LDI       _ACCA, 00Ah
                        STS       DDS.BurstTimer, _ACCA
                        .LINE     724
                        LDS       _ACCA, DDS.BurstCount
                        DEC       _ACCA
                        STS       DDS.BurstCount, _ACCA
                        .LINE     725
                        LDS       _ACCA, DDS.BurstCount
                        CPI       _ACCA, 000h
                        LDI       _ACCA, 0h
                        BRNE      DDS.L0202
                        SER       _ACCA
DDS.L0202:
                        TST       _ACCA
                        .BRANCH   4,DDS.L0205
                        BRNE      DDS.L0205
                        .BRANCH   20,DDS.L0203
                        RJMP      DDS.L0203
DDS.L0205:
                        .BLOCK    725
                        .LINE     726
                        LDI       _ACCA, 02100h SHRB 8
                        LDI       _ACCB, 02100h AND 0FFh
                        STS       DDS.DSS_CMD, _ACCB
                        STS       DDS.DSS_CMD+1, _ACCA
                        .LINE     727
                        .BRANCH   17,DDS.SENDDSS
                        RCALL     DDS.SENDDSS
                        .LINE     728
                        LDS       _ACCA, DDS.BurstMode
                        SUBI      _ACCA, -001h AND 0FFh
                        STS       DDS.BURSTCOUNT, _ACCA
                        .LINE     729
                        LDI       _ACCA, 0FFh
                        STS       DDS.BURSTPRIME, _ACCA
                        .ENDBLOCK 730
DDS.L0203:
DDS.L0204:
                        .ENDBLOCK 731
DDS.L0199:
DDS.L0200:
                        .LINE     732
                        LDS       _ACCA, DDS.BurstCount
                        CPI       _ACCA, 001h
                        LDI       _ACCA, 0h
                        BRNE      DDS.L0206
                        SER       _ACCA
DDS.L0206:
                        TST       _ACCA
                        .BRANCH   4,DDS.L0209
                        BRNE      DDS.L0209
                        .BRANCH   20,DDS.L0207
                        RJMP      DDS.L0207
DDS.L0209:
                        .BLOCK    732
                        .LINE     733
                        LDS       _ACCA, DDS.BurstPrime
                        TST       _ACCA
                        .BRANCH   4,DDS.L0212
                        BRNE      DDS.L0212
                        .BRANCH   20,DDS.L0210
                        RJMP      DDS.L0210
DDS.L0212:
                        .BLOCK    733
                        .LINE     734
                        LDS       _ACCB, DDS.wave_cmd
                        LDS       _ACCA, DDS.wave_cmd+1
                        STS       DDS.DSS_CMD, _ACCB
                        STS       DDS.DSS_CMD+1, _ACCA
                        .LINE     735
                        .BRANCH   17,DDS.SENDDSS
                        RCALL     DDS.SENDDSS
                        .LINE     736
                        LDI       _ACCA, 000h
                        STS       DDS.BURSTPRIME, _ACCA
                        .ENDBLOCK 737
DDS.L0210:
DDS.L0211:
                        .ENDBLOCK 738
DDS.L0207:
DDS.L0208:
                        .ENDBLOCK 739
DDS.L0195:
DDS.L0196:
                        .LINE     740
                        LDD       _ACCA, Y+000h
                        .ENDBLOCK 741
DDS.EditItem_X:
                        .LINE     741
                        .BRANCH   19
                        RET
                        .ENDFUNC  741

                        .FUNC     UpDownData, 744, 00020h
DDS.UpDownData:
                        .BLOCK    745
                        .LINE     746
                        LDS       _ACCA, DDS.EditWhich
                        SUBI      _ACCA, 002h AND 0FFh
                        LDI       _ACCCLO, DDS.EditArray AND 0FFh
                        LDI       _ACCCHI, DDS.EditArray SHRB 8
                        ANDI      _ACCA, 15
                        CLR       _ACCB
                        ADD       _ACCCLO, _ACCA
                        ADC       _ACCCHI, _ACCB
                        LD        _ACCA, Z
                        STS       DDS.EDITVALUE, _ACCA
                        .LINE     747
                        .BRANCH   17,DDS.SETITEMLIMPOS
                        RCALL     DDS.SETITEMLIMPOS
                        .LINE     748
                        PUSH      _FRAMEPTR
                        PUSH      _FPTRHI
                        .BRANCH   17,DDS.EDITITEM
                        RCALL      DDS.EDITITEM
                        POP       _FPTRHI
                        POP       _FRAMEPTR
                        STS       DDS.MODIFIED, _ACCA
                        .LINE     749
                        LDS       _ACCA, DDS.Modified
                        TST       _ACCA
                        .BRANCH   4,DDS.L0215
                        BRNE      DDS.L0215
                        .BRANCH   20,DDS.L0213
                        RJMP      DDS.L0213
DDS.L0215:
                        .BLOCK    749
                        .LINE     751
                        LDS       _ACCA, DDS.EditWhich
                        SUBI      _ACCA, 002h AND 0FFh
                        PUSH      _ACCA
                        LDS       _ACCA, DDS.EditValue
                        LDI       _ACCCLO, DDS.EditArray AND 0FFh
                        LDI       _ACCCHI, DDS.EditArray SHRB 8
                        POP       _ACCBLO
                        ANDI      _ACCBLO, 15
                        CLR       _ACCBHI
                        ADD       _ACCCLO, _ACCBLO
                        ADC       _ACCCHI, _ACCBHI
                        ST        Z, _ACCA
                        .LINE     752
                        LDS       _ACCA, DDS.PresetOn
                        COM       _ACCA
                        TST       _ACCA
                        .BRANCH   4,DDS.L0218
                        BRNE      DDS.L0218
                        .BRANCH   20,DDS.L0216
                        RJMP      DDS.L0216
DDS.L0218:
                        .BLOCK    752
                        .LINE     753
                        PUSH      _FRAMEPTR
                        PUSH      _FPTRHI
                        .BRANCH   17,DDS.PATCHCOPYTOEE
                        RCALL     DDS.PATCHCOPYTOEE
                        POP       _FPTRHI
                        POP       _FRAMEPTR
                        .ENDBLOCK 754
DDS.L0216:
DDS.L0217:
                        .LINE     756
                        PUSH      _FRAMEPTR
                        PUSH      _FPTRHI
                        .BRANCH   17,DDS.SETFREQU
                        RCALL     DDS.SETFREQU
                        POP       _FPTRHI
                        POP       _FRAMEPTR
                        .LINE     757
                        .BRANCH   17,DDS.SETLEVEL
                        RCALL     DDS.SETLEVEL
                        .ENDBLOCK 758
DDS.L0213:
DDS.L0214:
                        .ENDBLOCK 759
DDS.UpDownData_X:
                        .LINE     759
                        .BRANCH   19
                        RET
                        .ENDFUNC  759

                        .FUNC     ShowDefaultDisp, 761, 00020h
DDS.ShowDefaultDisp:
                        .BLOCK    763
                        .LINE     764
                        .BRANCH   17,DDS.LCD1X0Y0
                        RCALL     DDS.LCD1X0Y0
                        .LINE     765
                        LDS       _ACCA, DDS.PresetOn
                        TST       _ACCA
                        .BRANCH   4,DDS.L0221
                        BRNE      DDS.L0221
                        .BRANCH   20,DDS.L0219
                        RJMP      DDS.L0219
DDS.L0221:
                        .BLOCK    765
                        .LINE     766
                        PUSH      _FRAMEPTR
                        PUSH      _FPTRHI
                        LDI       _ACCCLO, DDS.PresetStr AND 0FFh
                        LDI       _ACCCHI, DDS.PresetStr SHRB 8
                        MOVW      _ACCB, _ACCCLO
                        ST        -Y, _ACCA
                        ST        -Y, _ACCB
                        .FRAME  2
                        .FRAME  0
                        .BRANCH   17,DDS.ROMSTR16OUT
                        RCALL     DDS.ROMSTR16OUT
                        POP       _FPTRHI
                        POP       _FRAMEPTR
                        .LINE     767
                        LDS       _ACCA, DDS.PresetNum
                        STS       DDS.DISPLAYVALUE, _ACCA
                        .ENDBLOCK 768
                        .BRANCH   20,DDS.L0220
                        RJMP      DDS.L0220
DDS.L0219:
                        .BLOCK    768
                        .LINE     769
                        PUSH      _FRAMEPTR
                        PUSH      _FPTRHI
                        LDI       _ACCCLO, DDS.MemStr AND 0FFh
                        LDI       _ACCCHI, DDS.MemStr SHRB 8
                        MOVW      _ACCB, _ACCCLO
                        ST        -Y, _ACCA
                        ST        -Y, _ACCB
                        .FRAME  2
                        .FRAME  0
                        .BRANCH   17,DDS.ROMSTR16OUT
                        RCALL     DDS.ROMSTR16OUT
                        POP       _FPTRHI
                        POP       _FRAMEPTR
                        .LINE     770
                        LDS       _ACCA, DDS.PatchNum
                        STS       DDS.DISPLAYVALUE, _ACCA
                        .ENDBLOCK 771
DDS.L0220:
                        .LINE     772
                        LDI       _ACCA, 007h
                        STS       DDS.X, _ACCA
                        .LINE     773
                        .BRANCH   17,DDS.LCD1XY
                        RCALL     DDS.LCD1XY
                        .LINE     774
                        LDI       _ACCA, 002h
                        STS       DDS.DIGITS, _ACCA
                        .LINE     775
                        .BRANCH   17,DDS.WRITEITEM
                        RCALL     DDS.WRITEITEM
                        .LINE     776
                        LDI       _ACCA, 020h
                        .FRAME  0
                        RCALL     SYSTEM.LCDOUT_M
                        .LINE     778
                        LDI       _ACCA, 009h
                        STS       DDS.X, _ACCA
                        .LINE     779
                        .BRANCH   17,DDS.LCD1XY
                        RCALL     DDS.LCD1XY
                        .LINE     780
                        PUSH      _FRAMEPTR
                        PUSH      _FPTRHI
                        .BRANCH   17,DDS.WRITELEVELDB
                        RCALL     DDS.WRITELEVELDB
                        POP       _FPTRHI
                        POP       _FRAMEPTR
                        .LINE     781
                        .BRANCH   17,DDS.LCD1X0Y1
                        RCALL     DDS.LCD1X0Y1
                        .LINE     782
                        LDI       _ACCA, 000h
                        .FRAME  0
                        RCALL     SYSTEM.LCDCLREOL_M
                        .LINE     783
                        LDS       _ACCA, DDS.Wave
                        STS       DDS.DISPLAYVALUE, _ACCA
                        .LINE     784
                        .BRANCH   17,DDS.WRITEWAVE
                        RCALL     DDS.WRITEWAVE
                        .LINE     786
                        LDI       _ACCA, 004h
                        STS       DDS.X, _ACCA
                        .LINE     787
                        .BRANCH   17,DDS.LCD1XY
                        RCALL     DDS.LCD1XY
                        .LINE     788
                        LDS       _ACCA, DDS.EditWhich
                        CPI       _ACCA, 001h
                        LDI       _ACCA, 0h
                        BRNE      DDS.L0222
                        SER       _ACCA
DDS.L0222:
                        TST       _ACCA
                        .BRANCH   4,DDS.L0225
                        BRNE      DDS.L0225
                        .BRANCH   20,DDS.L0223
                        RJMP      DDS.L0223
DDS.L0225:
                        .BLOCK    788
                        .LINE     789
                        PUSH      _FRAMEPTR
                        PUSH      _FPTRHI
                        .BRANCH   17,DDS.WRITELEVELMV
                        RCALL     DDS.WRITELEVELMV
                        POP       _FPTRHI
                        POP       _FRAMEPTR
                        .ENDBLOCK 790
                        .BRANCH   20,DDS.L0224
                        RJMP      DDS.L0224
DDS.L0223:
                        .BLOCK    790
                        .LINE     791
                        PUSH      _FRAMEPTR
                        PUSH      _FPTRHI
                        .BRANCH   17,DDS.WRITEFREQUENCY
                        RCALL     DDS.WRITEFREQUENCY
                        POP       _FPTRHI
                        POP       _FRAMEPTR
                        .ENDBLOCK 792
DDS.L0224:
                        .LINE     793
                        .BRANCH   17,DDS.SETCURSOR
                        RCALL     DDS.SETCURSOR
                        .ENDBLOCK 794
DDS.ShowDefaultDisp_X:
                        .LINE     794
                        .BRANCH   19
                        RET
                        .ENDFUNC  794

                        .FUNC     WaitForDisp, 796, 00020h
DDS.WaitForDisp:
                        .BLOCK    797
                        .LINE     798
                        SER       _ACCA
                        LDS       _ACCB, DDS.IncrTimeOut
                        TST       _ACCB
                        BREQ      DDS.L0226
                        COM       _ACCA
DDS.L0226:
                        PUSH      _ACCA
                        LDS       _ACCA, DDS.prime
                        POP       _ACCB
                        AND       _ACCA, _ACCB
                        TST       _ACCA
                        .BRANCH   4,DDS.L0229
                        BRNE      DDS.L0229
                        .BRANCH   20,DDS.L0227
                        RJMP      DDS.L0227
DDS.L0229:
                        .BLOCK    798
                        .LINE     799
                        LDI       _ACCA, 000h
                        STS       DDS.PRIME, _ACCA
                        .LINE     800
                        .BRANCH   17,DDS.SHOWDEFAULTDISP
                        RCALL     DDS.SHOWDEFAULTDISP
                        .ENDBLOCK 801
DDS.L0227:
DDS.L0228:
                        .ENDBLOCK 802
DDS.WaitForDisp_X:
                        .LINE     802
                        .BRANCH   19
                        RET
                        .ENDFUNC  802

                        .FUNC     initall, 806, 00020h
DDS.initall:
                        .BLOCK    808
                        .LINE     809
                        LDI       _ACCA, 03Fh
                        OUT       DDRB, _ACCA
                        .LINE     810
                        LDI       _ACCA, 0EFh
                        OUT       PORTB, _ACCA
                        .LINE     812
                        LDI       _ACCA, 00Fh
                        OUT       DDRC, _ACCA
                        .LINE     813
                        LDI       _ACCA, 0F0h
                        OUT       PORTC, _ACCA
                        .LINE     815
                        LDI       _ACCA, 004h
                        OUT       DDRD, _ACCA
                        .LINE     816
                        LDI       _ACCA, 0FCh
                        OUT       PORTD, _ACCA
                        .LINE     818
                        LDI       _ACCA, 000h
                        OUT       TCNT2, _ACCA
                        .LINE     820
                        LDI       _ACCA, 000h
                        .FRAME  0
                        RCALL      SYSTEM.LCDSETUP_M
                        TST       _ACCA
                        .BRANCH   4,DDS.L0232
                        BRNE      DDS.L0232
                        .BRANCH   20,DDS.L0230
                        RJMP      DDS.L0230
DDS.L0232:
                        .BLOCK    820
                        .LINE     821
                        PUSH      _FRAMEPTR
                        PUSH      _FPTRHI
                        LDI       _ACCA, 000h
                        ST        -Y, _ACCA
                        .FRAME  1
                        LDI       _ACCA, 000h
                        ST        -Y, _ACCA
                        .FRAME  2
                        LDI       _ACCA, 000h
                        ST        -Y, _ACCA
                        .FRAME  3
                        .FRAME  0
                        RCALL     SYSTEM.LCDCURSOR_M
                        POP       _FPTRHI
                        POP       _FRAMEPTR
                        .LINE     822
                        PUSH      _FRAMEPTR
                        PUSH      _FPTRHI
                        LDI       _ACCA, 000h
                        ST        -Y, _ACCA
                        .FRAME  1
                        LDI       _ACCA, 000h
                        ST        -Y, _ACCA
                        .FRAME  2
                        LDI       _ACCA, 002h
                        ST        -Y, _ACCA
                        .FRAME  3
                        LDI       _ACCA, 006h
                        ST        -Y, _ACCA
                        .FRAME  4
                        LDI       _ACCA, 00Eh
                        ST        -Y, _ACCA
                        .FRAME  5
                        LDI       _ACCA, 01Eh
                        ST        -Y, _ACCA
                        .FRAME  6
                        LDI       _ACCA, 00Eh
                        ST        -Y, _ACCA
                        .FRAME  7
                        LDI       _ACCA, 006h
                        ST        -Y, _ACCA
                        .FRAME  8
                        LDI       _ACCA, 002h
                        ST        -Y, _ACCA
                        .FRAME  9
                        LDI       _ACCA, 000h
                        ST        -Y, _ACCA
                        .FRAME  10
                        .FRAME  0
                        RCALL     SYSTEM.LCDCHARSET_M
                        POP       _FPTRHI
                        POP       _FRAMEPTR
                        .LINE     827
                        LDI       _ACCA, 000h
                        .FRAME  0
                        RCALL     SYSTEM.LCDCLR_M
                        .LINE     828
                        PUSH      _FRAMEPTR
                        PUSH      _FPTRHI
                        LDI       _ACCCLO, DDS.Vers1Str AND 0FFh
                        LDI       _ACCCHI, DDS.Vers1Str SHRB 8
                        MOVW      _ACCB, _ACCCLO
                        ST        -Y, _ACCA
                        ST        -Y, _ACCB
                        .FRAME  2
                        .FRAME  0
                        .BRANCH   17,DDS.ROMSTR16OUT
                        RCALL     DDS.ROMSTR16OUT
                        POP       _FPTRHI
                        POP       _FRAMEPTR
                        .LINE     829
                        .BRANCH   17,DDS.LCD1X0Y1
                        RCALL     DDS.LCD1X0Y1
                        .LINE     830
                        PUSH      _FRAMEPTR
                        PUSH      _FPTRHI
                        LDI       _ACCCLO, DDS.Vers2Str AND 0FFh
                        LDI       _ACCCHI, DDS.Vers2Str SHRB 8
                        MOVW      _ACCB, _ACCCLO
                        ST        -Y, _ACCA
                        ST        -Y, _ACCB
                        .FRAME  2
                        .FRAME  0
                        .BRANCH   17,DDS.ROMSTR16OUT
                        RCALL     DDS.ROMSTR16OUT
                        POP       _FPTRHI
                        POP       _FRAMEPTR
                        .ENDBLOCK 831
DDS.L0230:
DDS.L0231:
                        .LINE     832
                        LDI       _ACCA, 005DCh SHRB 8
                        LDI       _ACCB, 005DCh AND 0FFh
                        .FRAME  0
                        RCALL     SYSTEM.MDELAY
                        .LINE     834
                        LDI       _ACCA, 000h
                        STS       DDS.PATCHNUM, _ACCA
                        .LINE     835
                        PUSH      _FRAMEPTR
                        PUSH      _FPTRHI
                        .BRANCH   17,DDS.PATCHCOPYFROMEE
                        RCALL     DDS.PATCHCOPYFROMEE
                        POP       _FPTRHI
                        POP       _FRAMEPTR
                        .LINE     836
                        IN        _ACCA, PinD
                        STS       DDS.BTNINPORT, _ACCA
                        .LINE     838
                        LDI       _ACCA, 02100h SHRB 8
                        LDI       _ACCB, 02100h AND 0FFh
                        STS       DDS.DSS_CMD, _ACCB
                        STS       DDS.DSS_CMD+1, _ACCA
                        .LINE     839
                        .BRANCH   17,DDS.SENDDSS
                        RCALL     DDS.SENDDSS
                        .LINE     840
                        LDI       _ACCA, 02000h SHRB 8
                        LDI       _ACCB, 02000h AND 0FFh
                        STS       DDS.WAVE_CMD, _ACCB
                        STS       DDS.WAVE_CMD+1, _ACCA
                        .LINE     842
                        LDS       _ACCB, 00065h
                        CLR       _ACCA
                        SBRC      _ACCB, 007h
                        SER       _ACCA
                        COM       _ACCA
                        PUSH      _ACCA
                        LDI       _ACCCLO, DDS.EEprime AND 0FFh
                        LDI       _ACCCHI, DDS.EEprime SHRB 8
                        RCALL     SYSTEM._ReadEEp16
                        CPI       _ACCA, 0AAh
                        BRNE      DDS.L0233
                        CPI       _ACCB, 055h
DDS.L0233:
                        LDI       _ACCA, 0h
                        BREQ      DDS.L0234
                        SER       _ACCA
DDS.L0234:
                        POP       _ACCB
                        OR        _ACCA, _ACCB
                        TST       _ACCA
                        .BRANCH   4,DDS.L0237
                        BRNE      DDS.L0237
                        .BRANCH   20,DDS.L0235
                        RJMP      DDS.L0235
DDS.L0237:
                        .BLOCK    842
                        .LINE     844
                        .BRANCH   17,DDS.LCD1X0Y1
                        RCALL     DDS.LCD1X0Y1
                        .LINE     845
                        PUSH      _FRAMEPTR
                        PUSH      _FPTRHI
                        LDI       _ACCCLO, DDS.InitStr AND 0FFh
                        LDI       _ACCCHI, DDS.InitStr SHRB 8
                        MOVW      _ACCB, _ACCCLO
                        ST        -Y, _ACCA
                        ST        -Y, _ACCB
                        .FRAME  2
                        .FRAME  0
                        .BRANCH   17,DDS.ROMSTR16OUT
                        RCALL     DDS.ROMSTR16OUT
                        POP       _FPTRHI
                        POP       _FRAMEPTR
                        .LINE     846
                        LDI       _ACCCLO, DDS.PatchNum AND 0FFh
                        LDI       _ACCCHI, DDS.PatchNum SHRB 8
                        ST        -Y, _ACCCHI
                        ST        -Y, _ACCCLO
                        .FRAME  2
                        LDI       _ACCA, 000h
                        ST        Z, _ACCA
                        LDI       _ACCA, 01Eh
                        ST        -Y, _ACCA
                        .FRAME  3
                        LD        _ACCA, Z
DDS.L0240:
                        LDD       _ACCB, Y+000h
                        CP        _ACCB, _ACCA
                        LDI       _ACCA, 0FFh
                        BRLO      DDS.L0241
                        CLR       _ACCA
DDS.L0241:
                        TST       _ACCA
                        .BRANCH   3,DDS.L0242
                        BREQ      DDS.L0242
                        .BRANCH   20,DDS.L0239
                        RJMP      DDS.L0239
DDS.L0242:
                        .BLOCK    847
                        .LINE     847
                        LDS       _ACCA, DDS.PatchNum
                        STS       DDS.PRESETNUM, _ACCA
                        .LINE     848
                        CLR       _ACCA
                        SBIC      032h, 002h
                        SER       _ACCA
                        COM       _ACCA
                        CLT
                        TST       _ACCA
                        BREQ      DDS.L0243
                        SET
DDS.L0243:
                        IN        _ACCA, 00032h
                        BLD       _ACCA, 002h
                        OUT       00032h, _ACCA
                        .LINE     849
                        .BRANCH   17,DDS.PRESETCOPYFROMROM
                        RCALL     DDS.PRESETCOPYFROMROM
                        .LINE     850
                        PUSH      _FRAMEPTR
                        PUSH      _FPTRHI
                        .BRANCH   17,DDS.PATCHCOPYTOEE
                        RCALL     DDS.PATCHCOPYTOEE
                        POP       _FPTRHI
                        POP       _FRAMEPTR
                        .ENDBLOCK 851
DDS.L0238:
                        .LINE     851
                        LDD       _ACCCLO, Y+001h
                        LDD       _ACCCHI, Y+002h
                        LD        _ACCA, Z
                        INC       _ACCA
                        ST        Z, _ACCA
                        TST       _ACCA
                        .BRANCH   3,DDS.L0239
                        BREQ      DDS.L0239
                        .BRANCH   20,DDS.L0240
                        RJMP      DDS.L0240
DDS.L0239:
                        ADIW      _FRAMEPTR, 3
                        .FRAME  0
                        .LINE     852
                        SBI       00032h, 002h
                        .LINE     853
                        LDI       _ACCA, 0AA55h SHRB 8
                        LDI       _ACCB, 0AA55h AND 0FFh
                        LDI       _ACCCLO, DDS.EEPRIME AND 0FFh
                        LDI       _ACCCHI, DDS.EEPRIME SHRB 8
                        MOVW      _ACCALO, _ACCB
                        RCALL     SYSTEM._WriteEEp16
                        ADIW      _ACCCLO, 01h
                        .LINE     854
                        LDI       _ACCA, 000h
                        STS       DDS.PATCHNUM, _ACCA
                        .LINE     855
                        LDS       _ACCA, DDS.PatchNum
                        LDI       _ACCCLO, DDS.EELASTPATCH AND 0FFh
                        LDI       _ACCCHI, DDS.EELASTPATCH SHRB 8
                        RCALL     SYSTEM.WriteEEp8
                        ADIW      _ACCCLO, 01h
                        .ENDBLOCK 856
DDS.L0235:
DDS.L0236:
                        .LINE     858
                        LDI       _ACCCLO, DDS.EElastpatch AND 0FFh
                        LDI       _ACCCHI, DDS.EElastpatch SHRB 8
                        RCALL     SYSTEM.ReadEEp8
                        STS       DDS.PATCHNUM, _ACCA
                        .LINE     859
                        PUSH      _FRAMEPTR
                        PUSH      _FPTRHI
                        .BRANCH   17,DDS.PATCHCOPYFROMEE
                        RCALL     DDS.PATCHCOPYFROMEE
                        POP       _FPTRHI
                        POP       _FRAMEPTR
                        .LINE     860
                        LDI       _ACCA, 000h
                        STS       DDS.PRESETNUM, _ACCA
                        .LINE     861
                        LDI       _ACCA, 0FFh
                        STS       DDS.PRESETON, _ACCA
                        .LINE     862
                        LDI       _ACCA, 000h
                        STS       DDS.BURSTPRIME, _ACCA
                        .LINE     863
                        LDI       _ACCA, 000h
                        .FRAME  0
                        RCALL     SYSTEM.LCDCLR_M
                        .LINE     864
                        LDI       _ACCA, 000h
                        STS       DDS.MODIFIED, _ACCA
                        .LINE     865
                        LDI       _ACCA, 1 SHLB IntFlag
                        OR        Flags, _ACCA
                        SEI
                        .ENDBLOCK 866
DDS.initall_X:
                        .LINE     866
                        .BRANCH   19
                        RET
                        .ENDFUNC  866



                        ; ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
                        ; Program body
                        ; ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++

                        .FUNC     $_Main, 872, 00020h
                        .ENTRYMAIN $
DDS.$_Main:

                        .BLOCK    872
                        .LINE     873
                        .BRANCH   17,DDS.INITALL
                        RCALL     DDS.INITALL
                        .LINE     874
                        .BRANCH   17,DDS.SETLEVEL
                        RCALL     DDS.SETLEVEL
                        .LINE     875
                        PUSH      _FRAMEPTR
                        PUSH      _FPTRHI
                        .BRANCH   17,DDS.SETFREQU
                        RCALL     DDS.SETFREQU
                        POP       _FPTRHI
                        POP       _FRAMEPTR
                        .LINE     876
                        LDI       _ACCA, 000h
                        STS       DDS.PRIME, _ACCA
DDS.L0244:
                        .BLOCK    877
                        .LINE     878
                        .BRANCH   17,DDS.SETITEMLIMPOS
                        RCALL     DDS.SETITEMLIMPOS
                        .LINE     879
                        LDI       _ACCA, 001h
                        STS       DDS.BURSTCOUNT, _ACCA
                        .LINE     880
                        LDS       _ACCA, DDS.EditWhich
                        .LINE     881
                        CPI       _ACCA, 0
                        .BRANCH   3,DDS.L0249
                        BREQ      DDS.L0249
                        .BRANCH   20,DDS.L0248
                        RJMP      DDS.L0248
DDS.L0249:
DDS.L0247:
                        .BLOCK    882
                        .LINE     882
                        .BRANCH   17,DDS.SHOWDEFAULTDISP
                        RCALL     DDS.SHOWDEFAULTDISP
                        .LINE     883
                        .BRANCH   17,DDS.SLOWREPEATRELEASE
                        RCALL     DDS.SLOWREPEATRELEASE
                        .LINE     884
                        LDS       _ACCA, DDS.PresetOn
                        TST       _ACCA
                        .BRANCH   4,DDS.L0252
                        BRNE      DDS.L0252
                        .BRANCH   20,DDS.L0250
                        RJMP      DDS.L0250
DDS.L0252:
                        .BLOCK    884
                        .LINE     885
                        LDS       _ACCA, DDS.PresetNum
                        STS       DDS.EDITVALUE, _ACCA
                        .ENDBLOCK 886
                        .BRANCH   20,DDS.L0251
                        RJMP      DDS.L0251
DDS.L0250:
                        .BLOCK    886
                        .LINE     887
                        LDS       _ACCA, DDS.PatchNum
                        STS       DDS.EDITVALUE, _ACCA
                        .ENDBLOCK 888
DDS.L0251:
                        .LINE     889
                        .BRANCH   17,DDS.SETITEMLIMPOS
                        RCALL     DDS.SETITEMLIMPOS
DDS.L0253:
                        .BLOCK    890
                        .LINE     891
                        PUSH      _FRAMEPTR
                        PUSH      _FPTRHI
                        .BRANCH   17,DDS.EDITITEM
                        RCALL      DDS.EDITITEM
                        POP       _FPTRHI
                        POP       _FRAMEPTR
                        TST       _ACCA
                        .BRANCH   4,DDS.L0258
                        BRNE      DDS.L0258
                        .BRANCH   20,DDS.L0256
                        RJMP      DDS.L0256
DDS.L0258:
                        .BLOCK    891
                        .LINE     892
                        LDI       _ACCA, 0FFh
                        STS       DDS.PRIME, _ACCA
                        .LINE     893
                        LDS       _ACCA, DDS.PresetOn
                        TST       _ACCA
                        .BRANCH   4,DDS.L0261
                        BRNE      DDS.L0261
                        .BRANCH   20,DDS.L0259
                        RJMP      DDS.L0259
DDS.L0261:
                        .BLOCK    893
                        .LINE     894
                        LDS       _ACCA, DDS.EditValue
                        STS       DDS.PRESETNUM, _ACCA
                        .LINE     895
                        .BRANCH   17,DDS.PRESETCOPYFROMROM
                        RCALL     DDS.PRESETCOPYFROMROM
                        .ENDBLOCK 896
                        .BRANCH   20,DDS.L0260
                        RJMP      DDS.L0260
DDS.L0259:
                        .BLOCK    896
                        .LINE     897
                        LDS       _ACCA, DDS.EditValue
                        STS       DDS.PATCHNUM, _ACCA
                        .LINE     898
                        PUSH      _FRAMEPTR
                        PUSH      _FPTRHI
                        .BRANCH   17,DDS.PATCHCOPYFROMEE
                        RCALL     DDS.PATCHCOPYFROMEE
                        POP       _FPTRHI
                        POP       _FRAMEPTR
                        .ENDBLOCK 899
DDS.L0260:
                        .LINE     900
                        PUSH      _FRAMEPTR
                        PUSH      _FPTRHI
                        .BRANCH   17,DDS.SETFREQU
                        RCALL     DDS.SETFREQU
                        POP       _FPTRHI
                        POP       _FRAMEPTR
                        .LINE     901
                        .BRANCH   17,DDS.SETLEVEL
                        RCALL     DDS.SETLEVEL
                        .ENDBLOCK 902
DDS.L0256:
DDS.L0257:
                        .LINE     903
                        .BRANCH   17,DDS.WAITFORDISP
                        RCALL     DDS.WAITFORDISP
                        .ENDBLOCK 904
                        .LINE     904
DDS.L0254:
                        .BRANCH   17,DDS.NAVIBUTTON
                        RCALL      DDS.NAVIBUTTON
                        TST       _ACCA
                        .BRANCH   4,DDS.L0262
                        BRNE      DDS.L0262
                        .BRANCH   20,DDS.L0253
                        RJMP      DDS.L0253
DDS.L0262:
DDS.L0255:
                        .ENDBLOCK 905
                        .BRANCH   20,DDS.L0246
                        RJMP      DDS.L0246
DDS.L0248:
                        .LINE     906
                        CPI       _ACCA, 1
                        .BRANCH   3,DDS.L0265
                        BREQ      DDS.L0265
                        .BRANCH   20,DDS.L0264
                        RJMP      DDS.L0264
DDS.L0265:
DDS.L0263:
                        .BLOCK    907
                        .LINE     907
                        .BRANCH   17,DDS.SHOWDEFAULTDISP
                        RCALL     DDS.SHOWDEFAULTDISP
                        .LINE     908
                        .BRANCH   17,DDS.SLOWREPEATRELEASE
                        RCALL     DDS.SLOWREPEATRELEASE
                        .LINE     909
                        LDS       _ACCA, DDS.LeveldB
                        STS       DDS.EDITVALUE, _ACCA
                        .LINE     910
                        .BRANCH   17,DDS.SETITEMLIMPOS
                        RCALL     DDS.SETITEMLIMPOS
DDS.L0266:
                        .BLOCK    911
                        .LINE     912
                        PUSH      _FRAMEPTR
                        PUSH      _FPTRHI
                        .BRANCH   17,DDS.EDITITEM
                        RCALL      DDS.EDITITEM
                        POP       _FPTRHI
                        POP       _FRAMEPTR
                        TST       _ACCA
                        .BRANCH   4,DDS.L0271
                        BRNE      DDS.L0271
                        .BRANCH   20,DDS.L0269
                        RJMP      DDS.L0269
DDS.L0271:
                        .BLOCK    912
                        .LINE     913
                        LDI       _ACCA, 0FFh
                        STS       DDS.PRIME, _ACCA
                        .LINE     914
                        LDS       _ACCA, DDS.EditValue
                        STS       DDS.LEVELDB, _ACCA
                        .LINE     915
                        .BRANCH   17,DDS.SETLEVEL
                        RCALL     DDS.SETLEVEL
                        .LINE     916
                        LDS       _ACCA, DDS.PresetOn
                        COM       _ACCA
                        TST       _ACCA
                        .BRANCH   4,DDS.L0274
                        BRNE      DDS.L0274
                        .BRANCH   20,DDS.L0272
                        RJMP      DDS.L0272
DDS.L0274:
                        .BLOCK    916
                        .LINE     917
                        PUSH      _FRAMEPTR
                        PUSH      _FPTRHI
                        .BRANCH   17,DDS.PATCHCOPYTOEE
                        RCALL     DDS.PATCHCOPYTOEE
                        POP       _FPTRHI
                        POP       _FRAMEPTR
                        .ENDBLOCK 918
DDS.L0272:
DDS.L0273:
                        .ENDBLOCK 919
DDS.L0269:
DDS.L0270:
                        .LINE     920
                        .BRANCH   17,DDS.WAITFORDISP
                        RCALL     DDS.WAITFORDISP
                        .ENDBLOCK 921
                        .LINE     921
DDS.L0267:
                        .BRANCH   17,DDS.NAVIBUTTON
                        RCALL      DDS.NAVIBUTTON
                        TST       _ACCA
                        .BRANCH   4,DDS.L0275
                        BRNE      DDS.L0275
                        .BRANCH   20,DDS.L0266
                        RJMP      DDS.L0266
DDS.L0275:
DDS.L0268:
                        .ENDBLOCK 922
                        .BRANCH   20,DDS.L0246
                        RJMP      DDS.L0246
DDS.L0264:
                        .LINE     923
                        CPI       _ACCA, 2
                        .BRANCH   2,DDS.L0278
                        BRCC      DDS.L0278
                        .BRANCH   20,DDS.L0277
                        RJMP      DDS.L0277
DDS.L0278:
                        CPI       _ACCA, 9
                        .BRANCH   3,DDS.L0279
                        BREQ      DDS.L0279
                        .BRANCH   1,DDS.L0277
                        BRCS      DDS.L0279
                        .BRANCH   20,DDS.L0277
                        RJMP      DDS.L0277
DDS.L0279:
DDS.L0276:
                        .BLOCK    924
                        .LINE     924
                        .BRANCH   17,DDS.LCD1X0Y0
                        RCALL     DDS.LCD1X0Y0
                        .LINE     925
                        PUSH      _FRAMEPTR
                        PUSH      _FPTRHI
                        LDI       _ACCCLO, DDS.FrequStr AND 0FFh
                        LDI       _ACCCHI, DDS.FrequStr SHRB 8
                        MOVW      _ACCB, _ACCCLO
                        ST        -Y, _ACCA
                        ST        -Y, _ACCB
                        .FRAME  2
                        .FRAME  0
                        .BRANCH   17,DDS.ROMSTR16OUT
                        RCALL     DDS.ROMSTR16OUT
                        POP       _FPTRHI
                        POP       _FRAMEPTR
                        .LINE     926
                        .BRANCH   17,DDS.WRITEFREQUARRAYDATA
                        RCALL     DDS.WRITEFREQUARRAYDATA
                        .LINE     927
                        .BRANCH   17,DDS.SETCURSOR
                        RCALL     DDS.SETCURSOR
                        .LINE     928
                        .BRANCH   17,DDS.SLOWREPEATRELEASE
                        RCALL     DDS.SLOWREPEATRELEASE
DDS.L0280:
                        .BLOCK    929
                        .LINE     930
                        .BRANCH   17,DDS.UPDOWNDATA
                        RCALL     DDS.UPDOWNDATA
                        .ENDBLOCK 931
                        .LINE     931
DDS.L0281:
                        .BRANCH   17,DDS.NAVIBUTTON
                        RCALL      DDS.NAVIBUTTON
                        TST       _ACCA
                        .BRANCH   4,DDS.L0283
                        BRNE      DDS.L0283
                        .BRANCH   20,DDS.L0280
                        RJMP      DDS.L0280
DDS.L0283:
DDS.L0282:
                        .ENDBLOCK 932
                        .BRANCH   20,DDS.L0246
                        RJMP      DDS.L0246
DDS.L0277:
                        .LINE     933
                        CPI       _ACCA, 10
                        .BRANCH   2,DDS.L0286
                        BRCC      DDS.L0286
                        .BRANCH   20,DDS.L0285
                        RJMP      DDS.L0285
DDS.L0286:
                        CPI       _ACCA, 13
                        .BRANCH   3,DDS.L0287
                        BREQ      DDS.L0287
                        .BRANCH   1,DDS.L0285
                        BRCS      DDS.L0287
                        .BRANCH   20,DDS.L0285
                        RJMP      DDS.L0285
DDS.L0287:
DDS.L0284:
                        .BLOCK    934
                        .LINE     934
                        .BRANCH   17,DDS.LCD1X0Y0
                        RCALL     DDS.LCD1X0Y0
                        .LINE     935
                        PUSH      _FRAMEPTR
                        PUSH      _FPTRHI
                        LDI       _ACCCLO, DDS.OptStr AND 0FFh
                        LDI       _ACCCHI, DDS.OptStr SHRB 8
                        MOVW      _ACCB, _ACCCLO
                        ST        -Y, _ACCA
                        ST        -Y, _ACCB
                        .FRAME  2
                        .FRAME  0
                        .BRANCH   17,DDS.ROMSTR16OUT
                        RCALL     DDS.ROMSTR16OUT
                        POP       _FPTRHI
                        POP       _FRAMEPTR
                        .LINE     936
                        .BRANCH   17,DDS.WRITEOPTIONSARRAYDATA
                        RCALL     DDS.WRITEOPTIONSARRAYDATA
                        .LINE     937
                        .BRANCH   17,DDS.SETCURSOR
                        RCALL     DDS.SETCURSOR
                        .LINE     938
                        .BRANCH   17,DDS.SLOWREPEATRELEASE
                        RCALL     DDS.SLOWREPEATRELEASE
DDS.L0288:
                        .BLOCK    939
                        .LINE     940
                        .BRANCH   17,DDS.UPDOWNDATA
                        RCALL     DDS.UPDOWNDATA
                        .ENDBLOCK 941
                        .LINE     941
DDS.L0289:
                        .BRANCH   17,DDS.NAVIBUTTON
                        RCALL      DDS.NAVIBUTTON
                        TST       _ACCA
                        .BRANCH   4,DDS.L0291
                        BRNE      DDS.L0291
                        .BRANCH   20,DDS.L0288
                        RJMP      DDS.L0288
DDS.L0291:
DDS.L0290:
                        .ENDBLOCK 942
                        .BRANCH   20,DDS.L0246
                        RJMP      DDS.L0246
DDS.L0285:
DDS.L0246:
                        .LINE     945
                        LDS       _ACCB, 00065h
                        CLR       _ACCA
                        SBRC      _ACCB, 003h
                        SER       _ACCA
                        COM       _ACCA
                        TST       _ACCA
                        .BRANCH   4,DDS.L0294
                        BRNE      DDS.L0294
                        .BRANCH   20,DDS.L0292
                        RJMP      DDS.L0292
DDS.L0294:
                        .BLOCK    945
                        .LINE     946
                        LDS       _ACCA, DDS.EditWhich
                        CPI       _ACCA, 000h
                        LDI       _ACCA, 0h
                        BRNE      DDS.L0295
                        SER       _ACCA
DDS.L0295:
                        TST       _ACCA
                        .BRANCH   4,DDS.L0298
                        BRNE      DDS.L0298
                        .BRANCH   20,DDS.L0296
                        RJMP      DDS.L0296
DDS.L0298:
                        .BLOCK    946
                        .LINE     947
                        LDI       _ACCA, 00Dh
                        STS       DDS.EDITWHICH, _ACCA
                        .ENDBLOCK 948
                        .BRANCH   20,DDS.L0297
                        RJMP      DDS.L0297
DDS.L0296:
                        .BLOCK    948
                        .LINE     949
                        LDS       _ACCA, DDS.EditWhich
                        CPI       _ACCA, 0
                        BREQ      DDS.L0299
                        DEC       _ACCA
DDS.L0299:
                        STS       DDS.EDITWHICH, _ACCA
                        .ENDBLOCK 950
DDS.L0297:
                        .LINE     951
                        LDS       _ACCA, DDS.PatchNum
                        LDI       _ACCCLO, DDS.EELASTPATCH AND 0FFh
                        LDI       _ACCCHI, DDS.EELASTPATCH SHRB 8
                        RCALL     SYSTEM.WriteEEp8
                        ADIW      _ACCCLO, 01h
                        .ENDBLOCK 952
DDS.L0292:
DDS.L0293:
                        .LINE     953
                        LDS       _ACCB, 00065h
                        CLR       _ACCA
                        SBRC      _ACCB, 004h
                        SER       _ACCA
                        COM       _ACCA
                        TST       _ACCA
                        .BRANCH   4,DDS.L0302
                        BRNE      DDS.L0302
                        .BRANCH   20,DDS.L0300
                        RJMP      DDS.L0300
DDS.L0302:
                        .BLOCK    953
                        .LINE     954
                        LDS       _ACCA, DDS.PatchNum
                        LDI       _ACCCLO, DDS.EELASTPATCH AND 0FFh
                        LDI       _ACCCHI, DDS.EELASTPATCH SHRB 8
                        RCALL     SYSTEM.WriteEEp8
                        ADIW      _ACCCLO, 01h
                        .LINE     955
                        LDS       _ACCA, DDS.EditWhich
                        CPI       _ACCA, 00Dh
                        LDI       _ACCA, 0h
                        BRNE      DDS.L0303
                        SER       _ACCA
DDS.L0303:
                        TST       _ACCA
                        .BRANCH   4,DDS.L0306
                        BRNE      DDS.L0306
                        .BRANCH   20,DDS.L0304
                        RJMP      DDS.L0304
DDS.L0306:
                        .BLOCK    955
                        .LINE     956
                        LDI       _ACCA, 000h
                        STS       DDS.EDITWHICH, _ACCA
                        .ENDBLOCK 957
                        .BRANCH   20,DDS.L0305
                        RJMP      DDS.L0305
DDS.L0304:
                        .BLOCK    957
                        .LINE     958
                        LDS       _ACCA, DDS.EditWhich
                        CPI       _ACCA, 14
                        BRPL      DDS.L0307
                        INC       _ACCA
DDS.L0307:
                        STS       DDS.EDITWHICH, _ACCA
                        .ENDBLOCK 959
DDS.L0305:
                        .ENDBLOCK 960
DDS.L0300:
DDS.L0301:
                        .LINE     961
                        LDS       _ACCB, 00065h
                        CLR       _ACCA
                        SBRC      _ACCB, 007h
                        SER       _ACCA
                        COM       _ACCA
                        TST       _ACCA
                        .BRANCH   4,DDS.L0310
                        BRNE      DDS.L0310
                        .BRANCH   20,DDS.L0308
                        RJMP      DDS.L0308
DDS.L0310:
                        .BLOCK    961
                        .LINE     962
                        LDS       _ACCA, DDS.PresetOn
                        TST       _ACCA
                        .BRANCH   4,DDS.L0313
                        BRNE      DDS.L0313
                        .BRANCH   20,DDS.L0311
                        RJMP      DDS.L0311
DDS.L0313:
                        .BLOCK    962
                        .LINE     963
                        LDI       _ACCA, 000h
                        STS       DDS.PRESETON, _ACCA
                        .LINE     964
                        CBI       00032h, 002h
                        .LINE     965
                        PUSH      _FRAMEPTR
                        PUSH      _FPTRHI
                        .BRANCH   17,DDS.PATCHCOPYFROMEE
                        RCALL     DDS.PATCHCOPYFROMEE
                        POP       _FPTRHI
                        POP       _FRAMEPTR
                        .ENDBLOCK 966
                        .BRANCH   20,DDS.L0312
                        RJMP      DDS.L0312
DDS.L0311:
                        .BLOCK    966
                        .LINE     967
                        LDI       _ACCA, 0FFh
                        STS       DDS.PRESETON, _ACCA
                        .LINE     968
                        SBI       00032h, 002h
                        .LINE     969
                        .BRANCH   17,DDS.PRESETCOPYFROMROM
                        RCALL     DDS.PRESETCOPYFROMROM
                        .ENDBLOCK 970
DDS.L0312:
                        .ENDBLOCK 971
DDS.L0308:
DDS.L0309:
                        .ENDBLOCK 972
                        .LINE     972
                        .BRANCH   20,DDS.L0244
                        RJMP      DDS.L0244
DDS.L0245:
                        .ENDBLOCK 973

DDS.$_MAINEX:
                        .LINE     973
                        .BRANCH   20,DDS.$_MAINEX
                        RJMP      DDS.$_MAINEX


                        .ENDFUNC  973

SYSTEM.$Main_stk        .EQU    000A0h          ; var iData  Process stack area
SYSTEM.$Main_stk_e      .EQU    0011Fh          ; var iData  Process stack area
SYSTEM.$Main_Frame      .EQU    00120h          ; var iData  Process stack area
SYSTEM.$Main_Frame_e    .EQU    0017Fh          ; var iData  Process stack area

                        ; ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
                        ; Initialisation and Library Routines
                        ; ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++

                        .ENTRY
SYSTEM.RESET:
                        CLI
                        ; >> Stack Init [main process only] <<
                        LDI       _ACCA, 001h
                        LDI       _ACCB, 01Fh
                        OUT       sph, _ACCA
                        OUT       spl, _ACCB


                        ; >> Memory Init <<
                        CLR       _ACCA
                        LDI       _ACCCLO, 00009h AND 0FFh
                        LDI       _ACCCHI, 00009h SHRB 8
                        LDI       _ACCBLO, 00006h AND 0FFh
                        LDI       _ACCBHI, 00006h SHRB 8
                        ADIW      _ACCCLO, 1
SYSTEM.L0314:
                        SBIW      _ACCCLO, 001h
                        BREQ      SYSTEM.L0316
SYSTEM.L0315:
                        ST        X+, _ACCA
                        RJMP      SYSTEM.L0314
SYSTEM.L0316:
                        LDI       _ACCBLO, 00060h AND 0FFh
                        LDI       _ACCBHI, 00060h SHRB 8
                        LDI       _ACCCLO, 00400h AND 0FFh
                        LDI       _ACCCHI, 00400h SHRB 8
                        ADIW      _ACCCLO, 1
SYSTEM.L0317:
                        SBIW      _ACCCLO, 001h
                        BREQ      SYSTEM.L0319
SYSTEM.L0318:
                        ST        X+, _ACCA
                        RJMP      SYSTEM.L0317
SYSTEM.L0319:
                        LDI       _FRAMEPTR, 0017Fh AND 0FFh
                        LDI       _FPTRHI, 0017Fh SHRB 8

                        CLI
                        LDI       _ACCA, 0FEH ROLB IntFlag
                        AND       Flags, _ACCA

                        ; ============ init structured constants ============
                        ; >> Hardware Init <<

                        ; >> SysTick init: 1msec <<
                        ; >> real SysTick (exact): 1.000 msec <<
                        LDI       _ACCA, 006h
                        STS       SysTickTime, _ACCA
                        OUT       tcnt0, _ACCA
                        LDI       _ACCA, 3
                        OUT       tccr0, _ACCA
                        LDI       _ACCA, 001h
                        OUT       timsk, _ACCA

                        ; >> TWIPORT Init <<
                        LDI       _ACCA, 00Ch
                        OUT       TWBR, _ACCA
                        LDI       _ACCA, 0FFh
                        STS       TWI_DevLock, _ACCA

                        CLR       Flags
                        CLR       Flags2

                        ; ============ Start User Main Program ============

                        .DEB      MAINENTRY
                        RJMP      DDS.$_Main

                        ; ============ Interrupt Service ============

SYSTEM.$INTERRUPT_TIMER0:
                        .DEB      SYSTICKENTRY
                        PUSH      _ACCCLO
                        PUSH      _ACCCHI
                        PUSH      _ACCB
                        PUSH      _ACCA
                        IN        _ACCA, SREG
                        PUSH      _ACCA
                        LDS       _ACCA, SysTickTime
                        IN        _ACCB, tcnt0
                        ADD       _ACCA, _ACCB
                        OUT       tcnt0, _ACCA
                        LDI       _ACCA, 0FEH ROLB IntFlag
                        AND       Flags, _ACCA
                        LDS       _ACCB, _TWI_TO
                        TST       _ACCB
                        BREQ      SYSTEM.L0320
                        DEC       _ACCB
                        STS       _TWI_TO, _ACCB
SYSTEM.L0320:
                        LDS       _ACCA, DDS.IncrTimeOut
                        TST       _ACCA
                        BREQ      SYSTEM.L0321
                        SUBI      _ACCA, 1
                        STS       DDS.IncrTimeOut, _ACCA
SYSTEM.L0321:
                        LDS       _ACCA, DDS.BurstTimer
                        TST       _ACCA
                        BREQ      SYSTEM.L0322
                        SUBI      _ACCA, 1
                        STS       DDS.BurstTimer, _ACCA
SYSTEM.L0322:
                        LDI       _ACCA, 1 SHLB IntFlag
                        OR        Flags, _ACCA
                        POP       _ACCA
                        OUT       SREG, _ACCA
                        POP       _ACCA
                        POP       _ACCB
                        POP       _ACCCHI
                        POP       _ACCCLO
                        .DEB      SYSTICKEXIT
                        RETI


                        ; ============ Library ============

SYSTEM._LCDM_ini:
                        LDS       _ACCDLO, _LCDM_PORT
                        ORI       _ACCDLO, 20h
                        LDI       _ACCBLO, 00002h AND 0FFh
                        LDI       _ACCBHI, 00002h SHRB 8
                        LDI       _ACCAHI, 002h
                        LDI       _ACCCLO, _ACCELO AND 0FFh
                        LDI       _ACCCHI, _ACCELO SHRB 8
                        LDI       _ACCELO, 00000h AND 0FFh
                        LDI       _ACCEHI, 00000h SHRB 8
                        CLT
                        BLD       Flags, _I2C2BYTE
                        LDI       _ACCDHI, 000h
                        RCALL     SYSTEM.TWIout
                        LDS       _ACCDLO, _LCDM_PORT
                        ORI       _ACCDLO, 20h
                        LDI       _ACCBLO, 00002h AND 0FFh
                        LDI       _ACCBHI, 00002h SHRB 8
                        LDI       _ACCAHI, 004h
                        LDI       _ACCCLO, _ACCELO AND 0FFh
                        LDI       _ACCCHI, _ACCELO SHRB 8
                        LDI       _ACCELO, 00000h AND 0FFh
                        LDI       _ACCEHI, 00000h SHRB 8
                        LDI       _ACCDHI, 000h
                        RCALL     SYSTEM.TWIout
                        LDS       _ACCDLO, _LCDM_PORT
                        ORI       _ACCDLO, 20h
                        LDI       _ACCBLO, 00002h AND 0FFh
                        LDI       _ACCBHI, 00002h SHRB 8
                        LDI       _ACCAHI, 006h
                        LDI       _ACCCLO, _ACCELO AND 0FFh
                        LDI       _ACCCHI, _ACCELO SHRB 8
                        LDI       _ACCELO, 0F800h AND 0FFh
                        LDI       _ACCEHI, 0F800h SHRB 8
                        LDI       _ACCDHI, 000h
                        RCALL     SYSTEM.TWIout
                        RET

SYSTEM._LCDM_CLOSE:
                        LDS       _ACCDLO, _LCDM_PORT
                        ORI       _ACCDLO, 20h
                        LDI       _ACCBLO, 00001h AND 0FFh
                        LDI       _ACCBHI, 00001h SHRB 8
                        LDI       _ACCAHI, 003h
                        LDI       _ACCCLO, _ACCELO AND 0FFh
                        LDI       _ACCCHI, _ACCELO SHRB 8
                        CLT
                        BLD       Flags, _I2C2BYTE
                        LDI       _ACCDHI, 000h
                        RCALL     SYSTEM.TWIout
                        LDS       _ACCDLO, _LCDM_PORT
                        ORI       _ACCDLO, 20h
                        LDI       _ACCBLO, 00001h AND 0FFh
                        LDI       _ACCBHI, 00001h SHRB 8
                        LDI       _ACCAHI, 003h
                        LDI       _ACCCLO, _ACCELO AND 0FFh
                        LDI       _ACCCHI, _ACCELO SHRB 8
                        LDI       _ACCELO, 000h
                        LDI       _ACCDHI, 000h
                        RCALL     SYSTEM.TWIout
                        RET

SYSTEM._LCDM_START_RW:
                        PUSH      _ACCELO
                        MOV       _ACCALO, _ACCA
                        LDI       _ACCELO, 000h
                        RCALL     SYSTEM._LCDM_CLOSE
                        POP       _ACCELO
                        PUSH      _ACCELO
                        ANDI      _ACCELO, 2
                        BREQ       SYSTEM.L0323
                        LDS       _ACCDLO, _LCDM_PORT
                        ORI       _ACCDLO, 20h
                        LDI       _ACCBLO, 00001h AND 0FFh
                        LDI       _ACCBHI, 00001h SHRB 8
                        LDI       _ACCAHI, 006h
                        LDI       _ACCCLO, _ACCELO AND 0FFh
                        LDI       _ACCCHI, _ACCELO SHRB 8
                        LDI       _ACCELO, 0FFh
                        LDI       _ACCDHI, 000h
                        RCALL     SYSTEM.TWIout
                        RJMP      SYSTEM.L0324
SYSTEM.L0323:
                        LDS       _ACCDLO, _LCDM_PORT
                        ORI       _ACCDLO, 20h
                        LDI       _ACCBLO, 00001h AND 0FFh
                        LDI       _ACCBHI, 00001h SHRB 8
                        LDI       _ACCAHI, 006h
                        LDI       _ACCCLO, _ACCELO AND 0FFh
                        LDI       _ACCCHI, _ACCELO SHRB 8
                        LDI       _ACCELO, 000h
                        LDI       _ACCDHI, 000h
                        RCALL     SYSTEM.TWIout
                        LDS       _ACCDLO, _LCDM_PORT
                        ORI       _ACCDLO, 20h
                        LDI       _ACCBLO, 00001h AND 0FFh
                        LDI       _ACCBHI, 00001h SHRB 8
                        LDI       _ACCAHI, 006h
                        LDI       _ACCCLO, _ACCELO AND 0FFh
                        LDI       _ACCCHI, _ACCELO SHRB 8
                        MOV       _ACCELO, _ACCALO
                        LDI       _ACCDHI, 000h
                        RCALL     SYSTEM.TWIout
SYSTEM.L0324:
                        LDS       _ACCDLO, _LCDM_PORT
                        ORI       _ACCDLO, 20h
                        LDI       _ACCBLO, 00001h AND 0FFh
                        LDI       _ACCBHI, 00001h SHRB 8
                        LDI       _ACCAHI, 003h
                        LDI       _ACCCLO, _ACCELO AND 0FFh
                        LDI       _ACCCHI, _ACCELO SHRB 8
                        POP       _ACCELO
                        PUSH      _ACCELO
                        LDI       _ACCDHI, 000h
                        RCALL     SYSTEM.TWIout
                        LDS       _ACCDLO, _LCDM_PORT
                        ORI       _ACCDLO, 20h
                        LDI       _ACCBLO, 00001h AND 0FFh
                        LDI       _ACCBHI, 00001h SHRB 8
                        LDI       _ACCAHI, 003h
                        LDI       _ACCCLO, _ACCELO AND 0FFh
                        LDI       _ACCCHI, _ACCELO SHRB 8
                        POP       _ACCELO
                        PUSH      _ACCELO
                        ORI       _ACCELO, 1
                        LDI       _ACCDHI, 000h
                        RCALL     SYSTEM.TWIout
                        POP       _ACCELO
                        ANDI      _ACCELO, 2
                        BREQ       SYSTEM.L0325
                        LDS       _ACCDLO, _LCDM_PORT
                        ORI       _ACCDLO, 20h
                        LDI       _ACCBLO, 00000h AND 0FFh
                        LDI       _ACCBHI, 00000h SHRB 8
                        LDI       _ACCAHI, 000h
                        LDI       _ACCDHI, 000h
                        RCALL     SYSTEM.TWIout
SYSTEM.L0325:
                        RET

SYSTEM._LCDM_Busy_Rd:
                        LDI       _ACCELO, 002h
                        RCALL     SYSTEM._LCDM_START_RW
                        LDS       _ACCDLO, _LCDM_PORT
                        ORI       _ACCDLO, 20h
                        LDI       _ACCBLO, 00001h AND 0FFh
                        LDI       _ACCBHI, 00001h SHRB 8
                        LDI       _ACCCLO, _ACCELO AND 0FFh
                        LDI       _ACCCHI, _ACCELO SHRB 8
                        RCALL     SYSTEM.TWIinp
                        PUSH      _ACCELO
                        LDI       _ACCELO, 002h
                        RCALL     SYSTEM._LCDM_CLOSE
                        POP       _ACCA
                        .DEB      LCDBUSY_RD
                        RET

SYSTEM._LCDWAIT_M:
                        LDI       _ACCCLO, 00280h AND 0FFh
                        LDI       _ACCCHI, 00280h SHRB 8
SYSTEM.L0326:
                        RCALL     SYSTEM._LCDM_Busy_Rd
                        TST       _ACCA
                        BRPL       SYSTEM.L0327
                        SBIW      _ACCCLO, 1
                        BRNE      SYSTEM.L0326
                        CLR       _ACCB
                        CLR       _ACCA
                        RET
SYSTEM.L0327:
                        MOV       _ACCB, _ACCA
                        SER       _ACCA
                        RET

SYSTEM._LCDM_Ctrl_Wr:
                        PUSH      _ACCA
                        RCALL     SYSTEM._LCDWAIT_M
                        TST       _ACCA
                        BRNE      SYSTEM.L0328
                        POP       _ACCB
                        RET
SYSTEM.L0328:
                        POP       _ACCA
SYSTEM._LCDM_Ctrl_Wr_NW:
                        .DEB      LCDCTRL_WR
                        LDI       _ACCELO, 000h
                        RCALL     SYSTEM._LCDM_START_RW
                        LDI       _ACCELO, 000h
                        RCALL     SYSTEM._LCDM_CLOSE
                        SER       _ACCA
                        RET

SYSTEM._LCDM_Data_Wr:
                        .DEB      LCDOUT_M
                        LDI       _ACCELO, 004h
                        RCALL     SYSTEM._LCDM_START_RW
                        LDI       _ACCELO, 004h
                        RCALL     SYSTEM._LCDM_CLOSE
                        SER       _ACCA
                        RET

SYSTEM._LCDM_Data_Rd:
                        LDI       _ACCELO, 006h
                        RCALL     SYSTEM._LCDM_START_RW
                        LDS       _ACCDLO, _LCDM_PORT
                        ORI       _ACCDLO, 20h
                        LDI       _ACCBLO, 00001h AND 0FFh
                        LDI       _ACCBHI, 00001h SHRB 8
                        LDI       _ACCCLO, _ACCELO AND 0FFh
                        LDI       _ACCCHI, _ACCELO SHRB 8
                        RCALL     SYSTEM.TWIinp
                        PUSH      _ACCELO
                        LDI       _ACCELO, 006h
                        RCALL     SYSTEM._LCDM_CLOSE
                        POP       _ACCA
                        .DEB      LCDINP_M
                        RET

SYSTEM.LCDSETUP_M:
                        STS       _LCDM_PORT, _ACCA
                        ORI       _ACCA, 20h
                        RCALL     SYSTEM.TWIstat
                        .DEB      I2CSTAT_M
                        TST       _ACCA
                        BRNE       SYSTEM.L0329
                        RET
SYSTEM.L0329:
                        RCALL     SYSTEM._LCDM_ini
                        LDI       _ACCB, 16
                        CLR       _ACCA
                        RCALL     SYSTEM.MDELAY
                        LDI       _ACCA, 30h
                        RCALL     SYSTEM._LCDM_Ctrl_Wr_NW
                        LDI       _ACCB, 5
                        CLR       _ACCA
                        RCALL     SYSTEM.MDELAY
                        LDI       _ACCA, 30h
                        RCALL     SYSTEM._LCDM_Ctrl_Wr_NW
                        LDI       _ACCB, 1
                        CLR       _ACCA
                        RCALL     SYSTEM.MDELAY
                        LDI       _ACCA, 30h
                        RCALL     SYSTEM._LCDM_Ctrl_Wr_NW
                        LDI       _ACCB, 1
                        CLR       _ACCA
                        RCALL     SYSTEM.MDELAY
                        LDI       _ACCA, 38h
                        RCALL     SYSTEM._LCDM_Ctrl_Wr
                        LDI       _ACCA, 08h
                        RCALL     SYSTEM._LCDM_Ctrl_Wr
                        LDI       _ACCA, 1
                        RCALL     SYSTEM._LCDM_Ctrl_Wr
                        LDI       _ACCA, 6
                        RCALL     SYSTEM._LCDM_Ctrl_Wr_NW
                        RET

SYSTEM.LCDOUT_M:
                        RJMP      SYSTEM._LCDM_Data_Wr

SYSTEM.LCDCTRL_M:
                        LDD       _ACCA, Y+001h
                        STS       _LCDM_PORT, _ACCA
                        LDD       _ACCA, Y+000h
                        RJMP      SYSTEM._LCDM_Ctrl_Wr

SYSTEM.LCDINP_M:
                        STS       _LCDM_PORT, _ACCA
                        RJMP      SYSTEM._LCDM_Data_Rd

SYSTEM.LCDSTAT_M:
                        STS       _LCDM_PORT, _ACCA
                        RJMP      SYSTEM._LCDM_Busy_Rd

SYSTEM.LCDsetPort_M:
                        STS       _LCDM_PORT, _ACCA
                        RET

SYSTEM.LCDgetPort_M:
                        LDS       _ACCA, _LCDM_PORT
                        RET

SYSTEM.LCDON_M:
                        LDD       _ACCA, Y+000h
                        STS       _LCDM_PORT, _ACCA
                        LDI       _ACCA, 0FFh
                        LDI       _ACCB, 0FFh
                        RJMP      SYSTEM.L0330
SYSTEM.LCDCURSOR_M:
                        LDD       _ACCA, Y+002h
                        STS       _LCDM_PORT, _ACCA
                        LDD       _ACCA, Y+000h
                        LDD       _ACCB, Y+001h
SYSTEM.L0330:
                        TST       _ACCA
                        BRNE       SYSTEM.L0331
                        LDI       _ACCA, 0Ch
                        RJMP      SYSTEM.L0332

SYSTEM.L0331:
                        LDI       _ACCA, 0Dh
SYSTEM.L0332:
                        TST       _ACCB
                        BREQ       SYSTEM.L0333
                        ORI       _ACCA, 2
SYSTEM.L0333:
                        RJMP      SYSTEM._LCDM_Ctrl_Wr

SYSTEM.LCDXY_M:
                        LDD       _ACCA, Y+002h
                        STS       _LCDM_PORT, _ACCA
                        LDD       _ACCA, Y+000h
                        LDD       _ACCB, Y+001h
                        CPI       _ACCA, 0
                        BRNE       SYSTEM.L0334
                        LDI       _ACCA, 080h
                        RJMP      SYSTEM.L0338

SYSTEM.L0334:
                        CPI       _ACCA, 1
                        BRNE       SYSTEM.L0335
                        LDI       _ACCA, 0C0h
                        RJMP      SYSTEM.L0338

SYSTEM.L0335:
                        CPI       _ACCA, 2
                        BRNE       SYSTEM.L0336
                        LDI       _ACCA, 090h
                        RJMP      SYSTEM.L0338

SYSTEM.L0336:
                        CPI       _ACCA, 3
                        BRNE       SYSTEM.L0337
                        LDI       _ACCA, 0D0h
                        RJMP      SYSTEM.L0338

SYSTEM.L0337:
                        LDI       _ACCA, 080h
SYSTEM.L0338:
                        ADD       _ACCA, _ACCB
                        RJMP      SYSTEM._LCDM_Ctrl_Wr_NW

SYSTEM.LCDCLR_M:
                        STS       _LCDM_PORT, _ACCA
                        LDI       _ACCA, 01h
                        RCALL     SYSTEM._LCDM_Ctrl_Wr
                        LDI       _ACCB, 5
                        CLR       _ACCA
                        RCALL     SYSTEM.MDELAY
                        RET

SYSTEM.LCDCLREOL_M:
                        STS       _LCDM_PORT, _ACCA
                        RCALL     SYSTEM._LCDWAIT_M
                        RCALL     SYSTEM._LCDM_Busy_Rd
                        ORI       _ACCA, 80h
                        PUSH      _ACCA
                        ANDI      _ACCA, 0Fh
                        LDI       _ACCB, 010h
                        SUB       _ACCB, _ACCA
SYSTEM.L0339:
                        PUSH      _ACCB
                        LDI       _ACCA, 20h
                        RCALL     SYSTEM._LCDM_Data_Wr
                        POP       _ACCB
                        DEC       _ACCB
                        BRNE       SYSTEM.L0339
                        POP       _ACCA
                        RJMP      SYSTEM._LCDM_Ctrl_Wr

SYSTEM.LCDCHARSET_M:
                        LDD       _ACCA, Y+009h
                        STS       _LCDM_PORT, _ACCA
                        LDD       _ACCA, Y+008h
                        ANDI      _ACCA, 0Fh
                        LSL       _ACCA
                        LSL       _ACCA
                        LSL       _ACCA
                        ORI       _ACCA, 40h
                        RCALL     SYSTEM._LCDM_Ctrl_Wr
                        LDD       _ACCA, Y+007h
                        RCALL     SYSTEM._LCDM_Data_Wr
                        LDD       _ACCA, Y+006h
                        RCALL     SYSTEM._LCDM_Data_Wr
                        LDD       _ACCA, Y+005h
                        RCALL     SYSTEM._LCDM_Data_Wr
                        LDD       _ACCA, Y+004h
                        RCALL     SYSTEM._LCDM_Data_Wr
                        LDD       _ACCA, Y+003h
                        RCALL     SYSTEM._LCDM_Data_Wr
                        LDD       _ACCA, Y+002h
                        RCALL     SYSTEM._LCDM_Data_Wr
                        LDD       _ACCA, Y+001h
                        RCALL     SYSTEM._LCDM_Data_Wr
                        LDD       _ACCA, Y+000h
                        RCALL     SYSTEM._LCDM_Data_Wr
                        LDI       _ACCA, 80h
                        RJMP      SYSTEM._LCDM_Ctrl_Wr

SYSTEM.LCDportInp_M:
                        MOV       _ACCDLO, _ACCA
                        ORI       _ACCDLO, 20h
                        PUSH      _ACCDLO
                        LDI       _ACCBLO, 00000h AND 0FFh
                        LDI       _ACCBHI, 00000h SHRB 8
                        LDI       _ACCAHI, 001h
                        LDI       _ACCDHI, 000h
                        RCALL     SYSTEM.TWIout
                        POP       _ACCDLO
                        LDI       _ACCBLO, 00001h AND 0FFh
                        LDI       _ACCBHI, 00001h SHRB 8
                        LDI       _ACCCLO, _ACCELO AND 0FFh
                        LDI       _ACCCHI, _ACCELO SHRB 8
                        RCALL     SYSTEM.TWIinp
                        MOV       _ACCA, _ACCELO
                        ANDI      _ACCA, 0F8h
                        RET

SYSTEM.TWISTARTB:
                        LDI       _ACCA, 0
                        STS       TWI_DevLock, _ACCA
                        IN        _ACCA, TWSR
                        ANDI      _ACCA, 0FCh
                        CPI       _ACCA, 000h
                        BRNE      SYSTEM.L0351
                        LDI       _ACCA, 090h
                        OUT       TWCR, _ACCA
SYSTEM.L0351:
                        LDI       _ACCA, 0A4h
                        OUT       TWCR, _ACCA
                        LDI       _ACCA, 100
                        STS       _TWI_TO, _ACCA
SYSTEM.L0349:
                        IN        _ACCA, TWCR
                        ANDI      _ACCA, 080h
                        BRNE      SYSTEM.L0352
                        LDS       _ACCA, _TWI_TO
                        TST       _ACCA
                        BRNE      SYSTEM.L0349
                        OUT       TWCR, _ACCA
                        RJMP      SYSTEM.TWI_ERROR
SYSTEM.L0352:
                        IN        _ACCA, TWSR
                        ANDI      _ACCA, 0FCh
                        CPI       _ACCA, 008h
                        BRNE      SYSTEM.L0356
                        RJMP      SYSTEM.TWI_ERROR
SYSTEM.L0356:
                        RJMP      SYSTEM.TWI_OK

SYSTEM.TWISTOPB:
SYSTEM.L0357:
                        IN        _ACCA, TWSR
                        ANDI      _ACCA, 0FCh
                        CPI       _ACCA, 0F8h
                        BREQ      SYSTEM.L0357
                        CPI       _ACCA, 000h
                        BRNE      SYSTEM.L0358
                        LDI       _ACCA, 090h
                        OUT       TWCR, _ACCA
                        NOP
SYSTEM.L0358:
                        LDI       _ACCB, 094h
                        OUT       TWCR, _ACCB
                        SER       _ACCA
                        STS       TWI_DevLock, _ACCA
                        RET

SYSTEM.TWISENDBYTE:
                        OUT       TWDR, _ACCDLO
                        LDI       _ACCA, 084h
                        OUT       TWCR, _ACCA
                        LDI       _ACCA, 100
                        STS       _TWI_TO, _ACCA
SYSTEM.L0360:
                        IN        _ACCA, TWCR
                        ANDI      _ACCA, 080h
                        BRNE      SYSTEM.L0361
                        LDS       _ACCA, _TWI_TO
                        TST       _ACCA
                        BRNE      SYSTEM.L0360
                        RJMP      SYSTEM.TWI_ERROR
SYSTEM.L0361:
                        IN        _ACCA, TWSR
                        ANDI      _ACCA, 0FCh
                        CPI       _ACCA, 028h
                        BREQ      SYSTEM.TWI_OK
                        CPI       _ACCA, 018h
                        BREQ      SYSTEM.TWI_OK
                        CPI       _ACCA, 040h
                        BREQ      SYSTEM.TWI_OK
                        RJMP      SYSTEM.TWI_ERROR

SYSTEM.TWIRECVBYTE:
                        LDI       _ACCA, 0C4h
                        OUT       TWCR, _ACCA
                        SBIW      _ACCBLO, 1
                        BRMI      SYSTEM.TWISTOPB
                        BRNE      SYSTEM.L0362
                        LDI       _ACCA, 084h
SYSTEM.L0362:
                        OUT       TWCR, _ACCA
SYSTEM.L0363:
                        IN        _ACCA, TWCR
                        SBRS      _ACCA, 7
                        RJMP      SYSTEM.L0363
                        IN        _ACCA, TWSR
                        ANDI      _ACCA, 0FCh
                        CPI       _ACCA, 058h
                        BREQ      SYSTEM.L0365
                        CPI       _ACCA, 050h
                        BRNE      SYSTEM.TWI_ERROR
SYSTEM.L0365:
                        IN        _ACCA, TWDR
                        ST        Z+, _ACCA
                        RJMP      SYSTEM.TWIRECVBYTE
SYSTEM.TWI_OK:
                        LDI       _ACCA, true
                        RET
SYSTEM.TWI_ERROR:
                        IN        _ACCA, TWSR
                        ANDI      _ACCA, 0FCh
                        CPI       _ACCA, 000h
                        BRNE      SYSTEM.L0364
                        LDI       _ACCA, 090h
                        OUT       TWCR, _ACCA
SYSTEM.L0364:
                        LDI       _ACCA, false
                        RET

SYSTEM.TWISTAT:
                        MOV       _ACCDLO, _ACCA
                        RCALL     SYSTEM.TWISTARTB
                        CLC
                        ROL       _ACCDLO
                        RCALL     SYSTEM.TWISENDBYTE
                        MOV       _ACCBHI, _ACCA
                        RCALL     SYSTEM.TWISTOPB
                        MOV       _ACCA, _ACCBHI
                        RET

SYSTEM.TWIINP:
                        RCALL     SYSTEM.TWISTARTB
                        SEC
                        ROL       _ACCDLO
                        RCALL     SYSTEM.TWISENDBYTE
                        TST       _ACCA
                        BREQ      SYSTEM.L0367
                        RCALL     SYSTEM.TWIRECVBYTE
                        TST       _ACCA
                        BREQ      SYSTEM.L0367
                        RJMP      SYSTEM.TWI_OK
SYSTEM.L0367:
                        RCALL     SYSTEM.TWI_ERROR
                        SER       _ACCB
                        STS       TWI_DevLock, _ACCB
                        RET

SYSTEM.TWIOUT:
                        RCALL     SYSTEM.TWISTARTB
                        CLC
                        ROL       _ACCDLO
                        RCALL     SYSTEM.TWISENDBYTE
                        TST       _ACCA
                        BREQ      SYSTEM.L0373
SYSTEM.L0368:
                        MOV       _ACCDLO, _ACCAHI
                        RCALL     SYSTEM.TWISENDBYTE
                        TST       _ACCA
                        BREQ      SYSTEM.L0373
                        BST       Flags, _I2C2BYTE
                        BRTC      SYSTEM.L0372
                        MOV       _ACCDLO, _ACCALO
SYSTEM.L0370:
                        RCALL     SYSTEM.TWISENDBYTE
                        TST       _ACCA
                        BREQ      SYSTEM.L0373
SYSTEM.L0372:
                        TST       _ACCBLO
                        BRNE       SYSTEM.L0377
                        TST       _ACCBHI
                        BREQ       SYSTEM.L0371
SYSTEM.L0377:
                        TST       _ACCDHI
                        BRNE      SYSTEM.L0374
                        LD        _ACCDLO, Z+
                        RJMP      SYSTEM.L0376
SYSTEM.L0374:
                        CPI       _ACCDHI, 1
                        BRNE      SYSTEM.L0375
                        LPM       _ACCDLO, Z+
                        RJMP      SYSTEM.L0376
SYSTEM.L0375:
                        RCALL     SYSTEM.ReadEEp8D
                        ADIW      _ACCCLO, 01h
SYSTEM.L0376:
                        SBIW      _ACCBLO, 1
                        RJMP      SYSTEM.L0370
SYSTEM.L0371:
                        RCALL     SYSTEM.TWISTOPB
                        RJMP      SYSTEM.TWI_OK
SYSTEM.L0373:
                        RCALL     SYSTEM.TWI_ERROR
                        SER       _ACCB
                        STS       TWI_DevLock, _ACCB
                        CLR       _ACCA
                        RET


SYSTEM.MDELAY:
                        .DEB      DEBdelay
                        MOVW      _ACCDLO, _ACCB
                        CLR       _ACCA
                        CP        _ACCDLO, _ACCA
                        CPC       _ACCDHI, _ACCA
                        BREQ      SYSTEM.MDELAY3
SYSTEM.MDELAY1:
                        LDI       _ACCB, 00C7Ah AND 0FFh
                        LDI       _ACCA, 00C7Ah SHRB 8
SYSTEM.MDELAY2:
                        SUBI      _ACCB, 001h
                        SBCI      _ACCA, 000h
                        NOP
                        BRNE      SYSTEM.MDELAY2
                        SUBI      _ACCDLO, 001h
                        SBCI      _ACCDHI, 000h
                        BRNE      SYSTEM.MDELAY1
SYSTEM.MDELAY3:
                        RET

SYSTEM.UDELAY:
                        TST       _ACCA
                        BREQ      SYSTEM.UDELAY3
SYSTEM.UDELAY1:
                        LDI       _ACCB, 00026h AND 0FFh
SYSTEM.UDELAY2:
                        DEC       _ACCB
                        NOP
                        BRNE      SYSTEM.UDELAY2
                        DEC       _ACCA
                        BRNE      SYSTEM.UDELAY1
SYSTEM.UDELAY3:
                        RET

SYSTEM.BlockCopyC:
SYSTEM.L0378:
                        SUBI      _ACCALO, 001h
                        SBCI      _ACCAHI, 000h
                        BRCS      SYSTEM.L0379
                        LD        _ACCA, Z+
                        ST        X+, _ACCA
                        RJMP      SYSTEM.L0378
SYSTEM.L0379:
                        RET

SYSTEM._EEpWaitReady:
                        SBRC      Flags, IntFlag
                        SEI
                        SBIC      eecr, 1
                        RJMP      SYSTEM._EEpWaitReady

                        CLI
                        SBIC      eecr, 1
                        RJMP      SYSTEM._EEpWaitReady

                        RET

SYSTEM.WriteEEp8:
                        RCALL     SYSTEM._EEpWaitReady
                        PUSH      _ACCDLO
                        OUT       eearl, _ACCCLO
                        OUT       eearh, _ACCCHI
                        SBI       eecr, 0
                        NOP
                        IN        _ACCDLO, eedr
                        CP        _ACCA, _ACCDLO
                        BREQ      SYSTEM.L0380
                        OUT       eedr, _ACCA
                        SBI       eecr, 2
                        SBI       eecr, 1
SYSTEM.L0380:
                        POP       _ACCDLO
                        SBRC      Flags, IntFlag
                        SEI
                        RET

SYSTEM._WriteEEp16:
                        MOV       _ACCA, _ACCALO
                        RCALL     SYSTEM.WriteEEp8
                        MOV       _ACCA, _ACCAHI
                        ADIW      _ACCCLO, 01h
                        RCALL     SYSTEM.WriteEEp8
                        RET

SYSTEM.ReadEEp8:
                        RCALL     SYSTEM._EEpWaitReady
                        OUT       eearl, _ACCCLO
                        OUT       eearh, _ACCCHI
                        SBI       eecr, 0
                        NOP
                        IN        _ACCA, eedr
                        SBRC      Flags, IntFlag
                        SEI
                        RET

SYSTEM._ReadEEp16:
                        RCALL     SYSTEM.ReadEEp8
                        MOV       _ACCB, _ACCA
                        ADIW      _ACCCLO, 01h
                        RCALL     SYSTEM.ReadEEp8
                        RET

SYSTEM.ReadEEp8D:
                        RCALL     SYSTEM._EEpWaitReady
                        OUT       eearl, _ACCCLO
                        OUT       eearh, _ACCCHI
                        SBI       eecr, 0
                        NOP
                        IN        _ACCDLO, eedr
                        SBRC      Flags, IntFlag
                        SEI
                        RET

SYSTEM.StringInsert:
                        POP       _ACCAHI
                        POP       _ACCALO
                        POP       _ACCB
                        POP       _ACCBHI
                        POP       _ACCBLO
                        POP       _ACCCHI
                        POP       _ACCCLO
                        PUSH      _ACCALO
                        PUSH      _ACCAHI
SYSTEM._StrIns:
                        MOV       _ACCFLO, _ACCFHI
                        ANDI      _ACCFLO, 3
                        TST       _ACCFLO
                        BREQ      SYSTEM.L0381
                        LSR       _ACCFLO
                        BRNE      SYSTEM.L0383
                        PUSH      _ACCA
                        RCALL     SYSTEM.ReadEEp8
                        MOV       _ACCAHI, _ACCA
                        POP       _ACCA
                        ADIW      _ACCCLO, 01h
                        RJMP      SYSTEM.L0382
SYSTEM.L0383:
                        LPM       _ACCAHI, Z+
                        RJMP      SYSTEM.L0382
SYSTEM.L0381:
                        LD        _ACCAHI, Z+
SYSTEM.L0382:
                        TST       _ACCAHI
                        BREQ      SYSTEM.L0390
                        MOV       _ACCFLO, _ACCFHI
                        ANDI      _ACCFLO, 10h
                        BREQ      SYSTEM.L0385
SYSTEM.L0385:
                        LD        _ACCALO, X
SYSTEM.L0387:
                        CP        _ACCB, _ACCA
                        BRCC      SYSTEM.L0389
SYSTEM.L0390:
                        RET
SYSTEM.L0389:
                        MOV       _ACCDLO, _ACCB
                        SUB       _ACCDLO, _ACCA
                        MOV       _ACCDHI, _ACCDLO
                        SUB       _ACCDLO, _ACCAHI
                        BRCS      SYSTEM.L0395
                        CP        _ACCALO, _ACCA
                        BRCC      SYSTEM.L0392
                        MOV       _ACCELO, _ACCAHI
                        ADD       _ACCELO, _ACCALO
                        CP        _ACCB, _ACCELO
                        BRCS      SYSTEM.L0391
                        MOV       _ACCB, _ACCELO
SYSTEM.L0391:
                        RJMP      SYSTEM.L0395
SYSTEM.L0392:
                        PUSH      _ACCBLO
                        PUSH      _ACCBHI
                        PUSH      _ACCCLO
                        PUSH      _ACCCHI
                        MOV       _ACCDHI, _ACCALO
                        SUB       _ACCDHI, _ACCA
                        CP        _ACCDHI, _ACCDLO
                        BRCC      SYSTEM.L0393
                        MOV       _ACCDLO, _ACCDHI
SYSTEM.L0393:
                        CLR       _ACCDHI
                        ADD       _ACCBLO, _ACCA
                        ADC       _ACCBHI, _ACCDHI
                        ADD       _ACCBLO, _ACCDLO
                        ADC       _ACCBHI, _ACCDHI
                        ADIW      _ACCBLO, 1
                        MOVW      _ACCCLO, _ACCBLO
                        ADD       _ACCCLO, _ACCAHI
                        ADC       _ACCCHI, _ACCDHI
                        MOV       _ACCDHI, _ACCDLO
                        INC       _ACCDHI
                        MOV       _ACCFLO, _ACCFHI
                        ANDI      _ACCFLO, 10h
                        BREQ      SYSTEM.L0394
SYSTEM.L0394:
                        LD        _ACCGLO, -X
                        ST        -Z, _ACCGLO
                        DEC       _ACCDHI
                        BRNE     SYSTEM.L0394
SYSTEM.L0388:
                        POP       _ACCCHI
                        POP       _ACCCLO
                        POP       _ACCBHI
                        POP       _ACCBLO
                        MOV       _ACCB, _ACCA
                        ADD       _ACCB, _ACCAHI
                        ADD       _ACCB, _ACCDLO
                        BRNE     SYSTEM.L0399
SYSTEM.L0395:
                        ADD       _ACCAHI, _ACCDLO
                        INC       _ACCAHI
SYSTEM.L0399:
                        MOV       _ACCFLO, _ACCFHI
                        ANDI      _ACCFLO, 10h
                        BREQ      SYSTEM.L0402
SYSTEM.L0402:
                        ST        X, _ACCB
SYSTEM.L0401:
                        CLR       _ACCALO
                        ADD       _ACCBLO, _ACCA
                        ADC       _ACCBHI, _ACCALO
SYSTEM.L0400:
                        MOV       _ACCFLO, _ACCFHI
                        ANDI      _ACCFLO, 3
                        TST       _ACCFLO
                        BREQ      SYSTEM.L0403
                        LSR       _ACCFLO
                        BRNE      SYSTEM.L0405
                        RCALL     SYSTEM.ReadEEp8
                        MOV       _ACCGLO, _ACCA
                        ADIW      _ACCCLO, 01h
                        RJMP      SYSTEM.L0404
SYSTEM.L0405:
                        LPM       _ACCGLO, Z+
                        RJMP      SYSTEM.L0404
SYSTEM.L0403:
                        LD        _ACCGLO, Z+
SYSTEM.L0404:
                        MOV       _ACCFLO, _ACCFHI
                        ANDI      _ACCFLO, 10h
                        BREQ      SYSTEM.L0406
SYSTEM.L0406:
                        ST        X+, _ACCGLO
SYSTEM.L0407:
                        DEC       _ACCAHI
                        BRNE     SYSTEM.L0400
SYSTEM.L0398:
                        RET


SYSTEM._ArrToStr:
                        MOV       _ACCBHI, _ACCA
SYSTEM.L0408:
                        LD        _ACCA, Z+
                        TST       _ACCA
                        BREQ      SYSTEM.L0409
                        RCALL     SYSTEM.Char2Str
                        DEC       _ACCBHI
                        BRNE      SYSTEM.L0408
SYSTEM.L0409:
                        RET


SYSTEM.StrConst2Str:
SYSTEM.L0410:
                        LPM      _ACCA, Z+
                        RCALL     SYSTEM.Char2Str
                        DEC       _ACCBHI
                        BRNE      SYSTEM.L0410
                        RET


SYSTEM.StrVar2Str:
                        LD        _ACCA, Z+
                        TST       _ACCA
                        BREQ      SYSTEM.L0412
                        MOV       _ACCBHI, _ACCA
SYSTEM.L0411:
                        LD        _ACCA, Z+
                        RCALL     SYSTEM.Char2Str
                        DEC       _ACCBHI
                        BRNE      SYSTEM.L0411
SYSTEM.L0412:
                        RET


SYSTEM.Byte2Str_X:
                        LD        _ACCB, X+
SYSTEM.L0413:
                        LD        _ACCA, X+
                        RCALL     SYSTEM.Char2Str
                        DEC       _ACCAHI
                        BRNE      SYSTEM.L0414
                        LDI       _ACCA, DECIMALSEP
                        RCALL     SYSTEM.Char2Str
SYSTEM.L0414:
                        DEC       _ACCB
                        BRNE      SYSTEM.L0413
                        POP       _ACCCHI
                        POP       _ACCCLO
                        LDD       _ACCB, Y+0
                        STD       Z+0, _ACCB
                        LDD       _ACCB, Y+1
                        STD       Z+1, _ACCB
                        LDD       _ACCB, Y+2
                        STD       Z+2, _ACCB
                        MOVW      _FRAMEPTR, _ACCCLO
                        RET

SYSTEM.Byte2Str_P:
                        LDD       _ACCCLO, Y+0
                        TST       _ACCCLO
                        BRNE      SYSTEM.L0415
                        TST       _ACCA
                        BREQ      SYSTEM.L0416
SYSTEM.L0415:
                        INC       _ACCCLO
                        STD       Y+0, _ACCCLO
                        CLR       _ACCCHI
                        ADD       _ACCCLO, _FRAMEPTR
                        ADC       _ACCCHI, _FPTRHI
                        ORI       _ACCA, 030h
                        STD       Z+0, _ACCA
SYSTEM.L0416:
                        RET


SYSTEM.Int2Str:
                        POP       _ACCBHI
                        POP       _ACCBLO
                        POP       _ACCCLO
                        POP       _ACCDLO
                        POP       _ACCDHI
                        POP       _ACCA
                        POP       _ACCB
                        PUSH      _ACCBLO
                        PUSH      _ACCBHI
                        PUSH      _FRAMEPTR
                        PUSH      _FPTRHI
                        SBIW      _FRAMEPTR, 9
                        CLR       _ACCBLO
                        STD       Y+0, _ACCBLO
                        STD       Y+7, _ACCDHI
                        STD       Y+8, _ACCDLO
                        PUSH      _ACCCLO
                        LDI       _ACCCLO, SYSTEM.IntDivTab AND 0FFh
                        LDI       _ACCCHI, SYSTEM.IntDivTab SHRB 8
                        MOVW      _ACCBLO, _ACCB
                        CLT
                        BLD       Flags, _NEGATIVE
                        BST       Flags, _SIGN
                        BRTC      SYSTEM.L0417
                        SBRC      _ACCA, 7
                        BLD       Flags, _NEGATIVE
SYSTEM.L0417:
                        LDI       _ACCELO, 4
SYSTEM.L0418:
                        LPM       _ACCALO, Z+
                        LPM       _ACCAHI, Z+
                        ADIW      _ACCCLO, 02h
                        PUSH      _ACCCLO
                        PUSH      _ACCCHI
                        RCALL     SYSTEM.DIV16_R
                        MOVW      _ACCBLO, _ACCCLO
                        MOV       _ACCA, _ACCB
                        TST       _ACCA
                        BRPL      SYSTEM.L0419
                        NEG       _ACCA
SYSTEM.L0419:
                        RCALL     SYSTEM.Byte2Str_P
                        POP       _ACCCHI
                        POP       _ACCCLO
                        DEC       _ACCELO
                        BRNE      SYSTEM.L0418
                        MOV       _ACCA, _ACCBLO
                        RCALL     SYSTEM.Byte2Str_P
                        POP       _ACCDHI
                        POP       _ACCCHI
                        POP       _ACCCLO
                        PUSH      _ACCCLO
                        PUSH      _ACCCHI
                        MOVW      _ACCBLO, _FRAMEPTR
                        LDD       _ACCALO, Y+8
                        LDD       _ACCAHI, Y+7
                        RJMP      SYSTEM.Byte2Str_F

SYSTEM.Byte2Str_F:
                        LDD       _ACCB, Y+0
                        TST       _ACCB
                        BRNE      SYSTEM.L0420
                        INC       _ACCB
                        STD       Y+0, _ACCB
                        LDI       _ACCA, 30h
                        STD       Y+1, _ACCA
SYSTEM.L0420:
                        SBIW      _FRAMEPTR, 3
                        LDD       _ACCB, Z+0
                        STD       Y+0, _ACCB
                        LDD       _ACCB, Z+1
                        STD       Y+1, _ACCB
                        LDD       _ACCB, Z+2
                        STD       Y+2, _ACCB
                        TST       _ACCAHI
                        BREQ      SYSTEM.Int2Str_A
                        TST       _ACCALO
                        BREQ      SYSTEM.Int2Str_A
                        LD        _ACCDLO, X
                        DEC       _ACCAHI
                        CP        _ACCDLO, _ACCAHI
                        BRCS      SYSTEM.L0422
                        MOV       _ACCAHI, _ACCDLO
                        SUB       _ACCAHI, _ACCALO
                        BST       Flags, _NEGATIVE
                        BRTC      SYSTEM.L0421
                        LDI       _ACCA, 2Dh
                        RCALL     SYSTEM.Char2Str
SYSTEM.L0421:
                        RJMP      SYSTEM.Byte2Str_X
SYSTEM.L0422:
                        MOV       _ACCB, _ACCDLO
                        CP        _ACCALO, _ACCDLO
                        BRLT      SYSTEM.L0423
                        MOV       _ACCB, _ACCALO
                        INC       _ACCB
SYSTEM.L0423:
                        BST       Flags, _NEGATIVE
                        BRTC      SYSTEM.L0429
                        DEC       _ACCAHI
SYSTEM.L0429:
                        MOV       _ACCA, _ACCDHI
                        SUB       _ACCB, _ACCAHI
                        NEG       _ACCB
                        BREQ      SYSTEM.L0425
                        BRMI      SYSTEM.L0425
SYSTEM.L0424:
                        RCALL     SYSTEM.Char2Str
                        DEC       _ACCAHI
                        DEC       _ACCB
                        BRNE      SYSTEM.L0424
SYSTEM.L0425:
                        BST       Flags, _NEGATIVE
                        BRTC      SYSTEM.L0428
                        LDI       _ACCA, 2Dh
                        RCALL     SYSTEM.Char2Str
SYSTEM.L0428:
                        SUB       _ACCAHI, _ACCALO
                        CP        _ACCALO, _ACCDLO
                        BRCS      SYSTEM.L0427
                        LDI       _ACCA, 30h
                        RCALL     SYSTEM.Char2Str
                        LDI       _ACCA, DECIMALSEP
                        RCALL     SYSTEM.Char2Str
                        CLR       _ACCAHI
                        SUB       _ACCALO, _ACCDLO
                        BREQ      SYSTEM.L0427
SYSTEM.L0426:
                        LDI       _ACCA, 30h
                        RCALL     SYSTEM.Char2Str
                        DEC       _ACCALO
                        BRNE      SYSTEM.L0426
SYSTEM.L0427:
                        RJMP      SYSTEM.Byte2Str_X
SYSTEM.Int2Str_A:
                        BST       Flags, _NEGATIVE
                        BRTC      SYSTEM.L0430
                        DEC       _ACCAHI
                        BRMI      SYSTEM.L0432
SYSTEM.L0430:
                        LD        _ACCB, X
                        SUB       _ACCAHI, _ACCB
                        BREQ      SYSTEM.L0432
                        BRCS      SYSTEM.L0432
                        MOV       _ACCA, _ACCDHI
SYSTEM.L0431:
                        RCALL     SYSTEM.Char2Str
                        DEC       _ACCAHI
                        BRNE      SYSTEM.L0431
SYSTEM.L0432:
                        BST       Flags, _NEGATIVE
                        BRTC      SYSTEM.L0433
                        LDI       _ACCA, 2Dh
                        RCALL     SYSTEM.Char2Str
SYSTEM.L0433:
                        RJMP      SYSTEM.Byte2Str_X

SYSTEM.Char2Str:
                        PUSH      _ACCCLO
                        PUSH      _ACCCHI
                        BST       Flags, _DEVICE
                        BRTS      SYSTEM.L0437
                        PUSH      _ACCA
                        LDD       _ACCCLO, Y+001h
                        LDD       _ACCCHI, Y+002h
                        LDD       _ACCA, Y+000h
                        TST       _ACCA
                        BRNE      SYSTEM.L0434
                        POP       _ACCA
                        SET
                        BLD       Flags, _ERRFLAG
                        POP       _ACCCHI
                        POP       _ACCCLO
                        RET
SYSTEM.L0434:
                        DEC       _ACCA
                        STD       Y+000h, _ACCA
                        POP       _ACCA
                        BST       Flags, _EEPROM
                        BRTS      SYSTEM.L0435
                        ST        Z+, _ACCA
                        RJMP      SYSTEM.L0436
SYSTEM.L0435:
                        RCALL     SYSTEM.WriteEEp8
                        ADIW      _ACCCLO, 01h
SYSTEM.L0436:
                        STD       Y+002h, _ACCCHI
                        STD       Y+001h, _ACCCLO
                        POP       _ACCCHI
                        POP       _ACCCLO
                        RET
SYSTEM.L0437:
                        LDD       _ACCCLO, Y+000h
                        LDD       _ACCCHI, Y+001h
                        PUSH      _ACCA
                        PUSH      _ACCB
                        PUSH      _ACCALO
                        PUSH      _ACCAHI
                        PUSH      _ACCBLO
                        PUSH      _ACCBHI
                        PUSH      _ACCELO
                        PUSH      _ACCEHI
                        PUSH      _ACCDLO
                        PUSH      _ACCDHI
                        ICALL
                        POP       _ACCDHI
                        POP       _ACCDLO
                        POP       _ACCEHI
                        POP       _ACCELO
                        POP       _ACCBHI
                        POP       _ACCBLO
                        POP       _ACCAHI
                        POP       _ACCALO
                        POP       _ACCB
                        POP       _ACCA
                        POP       _ACCCHI
                        POP       _ACCCLO
                        RET


SYSTEM.SHL8:
                        MOV       _ACCALO, _ACCA
                        POP       _ACCDHI
                        POP       _ACCDLO
                        POP       _ACCA
                        PUSH      _ACCDLO
                        PUSH      _ACCDHI
SYSTEM.SHL8_R:
                        TST       _ACCALO
                        BREQ      SYSTEM.L0439
                        CPI       _ACCALO, 08h
                        BRCS      SYSTEM.L0438
                        CLR       _ACCA
                        RET
SYSTEM.L0438:
                        LSL       _ACCA
                        DEC       _ACCALO
                        BRNE      SYSTEM.L0438
SYSTEM.L0439:
                        RET


SYSTEM.MUL8:
                        MUL       _ACCA, _ACCB
                        MOV       _ACCA, _ACCGLO
                        MOV       _ACCB, _ACCGHI
                        RET


SYSTEM.DIV8:
                        POP       _ACCAHI
                        POP       _ACCALO
                        MOV       _ACCB, _ACCA
                        POP       _ACCA
                        PUSH      _ACCALO
                        PUSH      _ACCAHI
SYSTEM.DIV8_R:
                        CLR       _ACCAHI
                        LDI       _ACCALO, 9
SYSTEM.L0440:
                        ROL       _ACCA
                        DEC       _ACCALO
                        BRNE      SYSTEM.L0441
                        MOV       _ACCB, _ACCAHI
                        RET
SYSTEM.L0441:
                        ROL       _ACCAHI
                        SUB       _ACCAHI, _ACCB
                        BRCC      SYSTEM.L0442
                        ADD       _ACCAHI, _ACCB
                        CLC
                        RJMP      SYSTEM.L0440
SYSTEM.L0442:
                        SEC
                        RJMP      SYSTEM.L0440


SYSTEM.DIV16:
                        MOVW      _ACCALO, _ACCB
SYSTEM.DIV16_R:
                        CLR       _ACCDHI
                        BST       Flags, _SIGN
                        BRTC      SYSTEM.L0443
                        MOV       _ACCDHI, _ACCBHI
                        MOV       _ACCDLO, _ACCAHI
                        EOR       _ACCDLO, _ACCBHI
                        CLT
                        SBRS      _ACCDLO, 7
                        BLD       Flags, _SIGN
                        SBRS      _ACCAHI, 7
                        RJMP      SYSTEM.L0445
                        NEG       _ACCALO
                        BRNE      SYSTEM.L0446
                        DEC       _ACCAHI
SYSTEM.L0446:
                        COM       _ACCAHI
SYSTEM.L0445:
                        SBRS      _ACCBHI, 7
                        RJMP      SYSTEM.L0443
                        NEG       _ACCBLO
                        BRNE      SYSTEM.L0447
                        DEC       _ACCBHI
SYSTEM.L0447:
                        COM       _ACCBHI
SYSTEM.L0443:
                        CLR       _ACCCLO
                        SUB       _ACCCHI, _ACCCHI
                        LDI       _ACCA, 17
SYSTEM.L0448:
                        ROL       _ACCBLO
                        ROL       _ACCBHI
                        DEC       _ACCA
                        BRNE      SYSTEM.L0449
                        MOVW      _ACCB, _ACCBLO
                        BST       Flags, _SIGN
                        BRTC      SYSTEM.L0444
                        NEG       _ACCB
                        BRNE      SYSTEM.L0451
                        DEC       _ACCA
SYSTEM.L0451:
                        COM       _ACCA
SYSTEM.L0444:
                        RET
SYSTEM.L0449:
                        ROL       _ACCCLO
                        ROL       _ACCCHI
                        SUB       _ACCCLO, _ACCALO
                        SBC       _ACCCHI, _ACCAHI
                        BRCC      SYSTEM.L0450
                        ADD       _ACCCLO, _ACCALO
                        ADC       _ACCCHI, _ACCAHI
                        CLC
                        RJMP      SYSTEM.L0448
SYSTEM.L0450:
                        SEC
                        RJMP      SYSTEM.L0448


SYSTEM.MUL32:
                        MOVW      _ACCBLO, _ACCB
                        MOVW      _ACCCLO, _ACCALO
                        POP       _ACCA
                        POP       _ACCB
                        POP       _ACCEHI
                        POP       _ACCELO
                        POP       _ACCDHI
                        POP       _ACCDLO
                        PUSH      _ACCB
                        PUSH      _ACCA
                        RJMP      SYSTEM.L0452
SYSTEM.MUL32_R:
                        MOVW      _ACCBLO, _ACCB
                        MOVW      _ACCCLO, _ACCALO
SYSTEM.L0452:
                        BST       Flags, _SIGN
                        BRTC      SYSTEM.L0453
                        MOV       _ACCFLO, _ACCCHI
                        EOR       _ACCFLO, _ACCEHI
                        CLT
                        SBRS      _ACCFLO, 7
                        BLD       Flags, _SIGN
                        SBRS      _ACCCHI, 7
                        RJMP      SYSTEM.L0455
                        COM       _ACCBLO
                        COM       _ACCBHI
                        COM       _ACCCLO
                        COM       _ACCCHI
                        SUBI      _ACCBLO, 0FFh
                        SBCI      _ACCBHI, 0FFh
                        SBCI      _ACCCLO, 0FFh
                        SBCI      _ACCCHI, 0FFh
SYSTEM.L0455:
                        SBRS      _ACCEHI, 7
                        RJMP      SYSTEM.L0453
                        COM       _ACCDLO
                        COM       _ACCDHI
                        COM       _ACCELO
                        COM       _ACCEHI
                        SUBI      _ACCDLO, 0FFh
                        SBCI      _ACCDHI, 0FFh
                        SBCI      _ACCELO, 0FFh
                        SBCI      _ACCEHI, 0FFh
SYSTEM.L0453:
                        CLR       _ACCFHI
                        CLR       _ACCFLO
                        CLR       _ACCGHI
                        CLR       _ACCGLO
                        LDI       _ACCA, 32
                        LSR       _ACCEHI
                        ROR       _ACCELO
                        ROR       _ACCDHI
                        ROR       _ACCDLO
SYSTEM.L0457:
                        BRCC      SYSTEM.L0456
                        ADD       _ACCFLO, _ACCBLO
                        ADC       _ACCFHI, _ACCBHI
                        ADC       _ACCGLO, _ACCCLO
                        ADC       _ACCGHI, _ACCCHI
SYSTEM.L0456:
                        ROR       _ACCGHI
                        ROR       _ACCGLO
                        ROR       _ACCFHI
                        ROR       _ACCFLO
                        ROR       _ACCEHI
                        ROR       _ACCELO
                        ROR       _ACCDHI
                        ROR       _ACCDLO
                        DEC       _ACCA
                        BRNE      SYSTEM.L0457
                        MOVW      _ACCB, _ACCDLO
                        MOVW      _ACCALO, _ACCELO
                        BST       Flags, _SIGN
                        BRTC      SYSTEM.L0454
                        SUBI      _ACCB, 01h
                        SBCI      _ACCA, 00h
                        SBCI      _ACCALO, 00h
                        SBCI      _ACCAHI, 00h
                        COM       _ACCALO
                        COM       _ACCAHI
                        COM       _ACCA
                        COM       _ACCB
SYSTEM.L0454:
                        RET



SYSTEM.SHL16:
                        MOV       _ACCALO, _ACCA
                        POP       _ACCDHI
                        POP       _ACCDLO
                        POP       _ACCA
                        POP       _ACCB
                        PUSH      _ACCDLO
                        PUSH      _ACCDHI
SYSTEM.SHL16_R:
                        TST       _ACCALO
                        BREQ      SYSTEM.L0459
                        CPI       _ACCALO, 10h
                        BRCS      SYSTEM.L0458
                        CLR       _ACCA
                        CLR       _ACCB
                        RET
SYSTEM.L0458:
                        LSL       _ACCB
                        ROL       _ACCA
                        DEC       _ACCALO
                        BRNE      SYSTEM.L0458
SYSTEM.L0459:
                        RET


SYSTEM.SHL32:
                        MOV       _ACCCLO, _ACCA
                        POP       _ACCDHI
                        POP       _ACCDLO
                        POP       _ACCAHI
                        POP       _ACCALO
                        POP       _ACCA
                        POP       _ACCB
                        PUSH      _ACCDLO
                        PUSH      _ACCDHI
SYSTEM.SHL32_R:
                        TST       _ACCCLO
                        BREQ      SYSTEM.L0461
                        CPI       _ACCCLO, 20h
                        BRCS      SYSTEM.L0460
                        CLR       _ACCA
                        CLR       _ACCB
                        CLR       _ACCALO
                        CLR       _ACCAHI
                        RET
SYSTEM.L0460:
                        LSL       _ACCB
                        ROL       _ACCA
                        ROL       _ACCALO
                        ROL       _ACCAHI
                        DEC       _ACCCLO
                        BRNE      SYSTEM.L0460
SYSTEM.L0461:
                        RET


SYSTEM.TestBit8:
                        ANDI      _ACCA, 7
                        LDI       _ACCCLO, SYSTEM.BitMaskTab AND 0FFh
                        LDI       _ACCCHI, SYSTEM.BitMaskTab SHRB 8
                        CLR       _ACCGLO
                        ADD       _ACCCLO, _ACCA
                        ADC       _ACCCHI, _ACCGLO
                        LPM
                        CLR       _ACCA
                        LD        _ACCB, X
                        AND       _ACCB, _ACCGLO
                        CPSE      _ACCB, _ACCA
                        SER       _ACCA
                        RET


SYSTEM.TestBit16:
                        ANDI      _ACCA, 00Fh
                        CPI       _ACCA, 8
                        BRLO      SYSTEM.L0462
                        ADIW      _ACCBLO, 1
                        SUBI      _ACCA, 8
SYSTEM.L0462:
                        LDI       _ACCCLO, SYSTEM.BitMaskTab AND 0FFh
                        LDI       _ACCCHI, SYSTEM.BitMaskTab SHRB 8
                        CLR       _ACCGLO
                        ADD       _ACCCLO, _ACCA
                        ADC       _ACCCHI, _ACCGLO
                        LPM
                        CLR       _ACCA
                        LD        _ACCB, X
                        MOV       _ACCALO, _ACCB
                        AND       _ACCB, _ACCGLO
                        CPSE      _ACCB, _ACCA
                        SER       _ACCA
                        RET

SYSTEM.DefIntErr:
                        RETI


                        .ROMCONST $

SYSTEM.BitMaskTab:
                        .BYTE     001h
                        .BYTE     002h
                        .BYTE     004h
                        .BYTE     008h
                        .BYTE     010h
                        .BYTE     020h
                        .BYTE     040h
                        .BYTE     080h

SYSTEM.IntDivTab:
                        .Byte     010h
                        .Byte     027h
                        .Byte     000h
                        .Byte     000h
                        .Byte     0E8h
                        .Byte     003h
                        .Byte     000h
                        .Byte     000h
                        .Byte     064h
                        .Byte     000h
                        .Byte     000h
                        .Byte     000h
                        .Byte     00Ah
                        .Byte     000h
                        .Byte     000h
                        .Byte     000h
SYSTEM.StrDivTabX:

                        ; ============ String-constant tables ============
                        .SYM      DDS.Vers1Str
DDS.Vers1Str:
                        .BYTE     16
                        .ASCII    "DSS-FG1  V#0.950"

                        .SYM      DDS.Vers2Str
DDS.Vers2Str:
                        .BYTE     15
                        .ASCII    "C. Meyer 10/05"
                        .BYTE     000h

                        .SYM      DDS.InitStr
DDS.InitStr:
                        .BYTE     16
                        .ASCII    "Initialising... "

                        .SYM      DDS.MemStr
DDS.MemStr:
                        .BYTE     8
                        .ASCII    "Memory "
                        .BYTE     000h

                        .SYM      DDS.PresetStr
DDS.PresetStr:
                        .BYTE     8
                        .ASCII    "Preset "
                        .BYTE     000h

                        .SYM      DDS.HzStr
DDS.HzStr:
                        .BYTE     4
                        .ASCII    " Hz"
                        .BYTE     000h

                        .SYM      DDS.dBStr
DDS.dBStr:
                        .BYTE     4
                        .ASCII    " dB"
                        .BYTE     000h

                        .SYM      DDS.SinStr
DDS.SinStr:
                        .BYTE     4
                        .ASCII    "Sin"
                        .BYTE     000h

                        .SYM      DDS.SquStr
DDS.SquStr:
                        .BYTE     4
                        .ASCII    "Sqr"
                        .BYTE     000h

                        .SYM      DDS.TriStr
DDS.TriStr:
                        .BYTE     4
                        .ASCII    "Tri"
                        .BYTE     000h

                        .SYM      DDS.ExtStr
DDS.ExtStr:
                        .BYTE     4
                        .ASCII    "Ext"
                        .BYTE     000h

                        .SYM      DDS.PwrStr
DDS.PwrStr:
                        .BYTE     4
                        .ASCII    "Pwr"
                        .BYTE     000h

                        .SYM      DDS.NrmStr
DDS.NrmStr:
                        .BYTE     4
                        .ASCII    "Nrm"
                        .BYTE     000h

                        .SYM      DDS.FrequStr
DDS.FrequStr:
                        .BYTE     16
                        .ASCII    "Frequency Hz    "

                        .SYM      DDS.OptStr
DDS.OptStr:
                        .BYTE     16
                        .ASCII    "Out dB Brst Wav "

$St_String22:
                        .BYTE     1
                        .ASCII    "."


                        ; ============ array-constant tables ============
                        .SYM      DDS.fhz
DDS.fhz:
                        .WORD     09000h
                        .WORD     003D0h
                        .WORD     0A800h
                        .WORD     00061h
                        .WORD     0C400h
                        .WORD     00009h
                        .WORD     0FA00h
                        .WORD     00000h
                        .WORD     01900h
                        .WORD     00000h
                        .WORD     00280h
                        .WORD     00000h
                        .WORD     00040h
                        .WORD     00000h
                        .WORD     00006h
                        .WORD     00000h

                        .SYM      DDS.fdhz
DDS.fdhz:
                        .WORD     00000h
                        .WORD     00000h
                        .WORD     00006h
                        .WORD     00000h
                        .WORD     0000Dh
                        .WORD     00000h
                        .WORD     00013h
                        .WORD     00000h
                        .WORD     0001Ah
                        .WORD     00000h
                        .WORD     00020h
                        .WORD     00000h
                        .WORD     00026h
                        .WORD     00000h
                        .WORD     0002Dh
                        .WORD     00000h
                        .WORD     00033h
                        .WORD     00000h
                        .WORD     0003Ah
                        .WORD     00000h
                        .WORD     00000h
                        .WORD     00000h
                        .WORD     00006h
                        .WORD     00000h
                        .WORD     0000Dh
                        .WORD     00000h
                        .WORD     00013h
                        .WORD     00000h
                        .WORD     0001Ah
                        .WORD     00000h
                        .WORD     00020h
                        .WORD     00000h

                        .SYM      DDS.dBfac
DDS.dBfac:
                        .WORD     01E46h
                        .WORD     021F7h
                        .WORD     0261Ch
                        .WORD     02AC2h
                        .WORD     02FFAh
                        .WORD     035D5h
                        .WORD     03C67h
                        .WORD     043C5h
                        .WORD     04C0Bh
                        .WORD     05552h
                        .WORD     00993h
                        .WORD     00ABDh
                        .WORD     00C0Dh
                        .WORD     00D85h
                        .WORD     00F2Ch
                        .WORD     01105h
                        .WORD     0131Ah
                        .WORD     0156Eh
                        .WORD     0180Bh
                        .WORD     01AFBh
                        .WORD     01E46h
                        .WORD     00000h
                        .WORD     00000h
                        .WORD     00000h
                        .WORD     00000h
                        .WORD     00000h
                        .WORD     00000h
                        .WORD     00000h
                        .WORD     00000h
                        .WORD     00000h
                        .WORD     00000h
                        .WORD     00000h

                        .SYM      DDS.dBadj
DDS.dBadj:
                        .BYTE     040h
                        .BYTE     040h
                        .BYTE     03Fh
                        .BYTE     03Fh
                        .BYTE     03Eh
                        .BYTE     03Eh
                        .BYTE     03Dh
                        .BYTE     03Dh
                        .BYTE     03Ch
                        .BYTE     03Ch
                        .BYTE     03Ch
                        .BYTE     03Bh
                        .BYTE     03Bh
                        .BYTE     03Bh
                        .BYTE     03Bh
                        .BYTE     03Ah
                        .BYTE     039h
                        .BYTE     039h
                        .BYTE     039h
                        .BYTE     039h
                        .BYTE     039h
                        .BYTE     039h
                        .BYTE     038h
                        .BYTE     038h
                        .BYTE     037h
                        .BYTE     036h
                        .BYTE     036h
                        .BYTE     036h
                        .BYTE     034h
                        .BYTE     034h
                        .BYTE     034h
                        .BYTE     034h
                        .BYTE     034h
                        .BYTE     034h
                        .BYTE     034h
                        .BYTE     032h
                        .BYTE     032h
                        .BYTE     032h
                        .BYTE     032h
                        .BYTE     032h
                        .BYTE     031h
                        .BYTE     031h
                        .BYTE     031h
                        .BYTE     031h
                        .BYTE     031h
                        .BYTE     031h
                        .BYTE     031h
                        .BYTE     030h
                        .BYTE     02Fh
                        .BYTE     030h
                        .BYTE     02Fh
                        .BYTE     02Fh
                        .BYTE     02Fh
                        .BYTE     02Fh
                        .BYTE     02Fh
                        .BYTE     02Eh
                        .BYTE     02Eh
                        .BYTE     02Eh
                        .BYTE     02Dh
                        .BYTE     02Dh
                        .BYTE     02Dh
                        .BYTE     02Dh
                        .BYTE     02Dh
                        .BYTE     02Dh

                        .SYM      DDS.TerzArray
DDS.TerzArray:
                        .WORD     003E8h
                        .WORD     00014h
                        .WORD     00019h
                        .WORD     0001Fh
                        .WORD     00028h
                        .WORD     00032h
                        .WORD     0003Fh
                        .WORD     00050h
                        .WORD     00064h
                        .WORD     0007Dh
                        .WORD     000A0h
                        .WORD     000C8h
                        .WORD     000FAh
                        .WORD     0013Bh
                        .WORD     00190h
                        .WORD     001F4h
                        .WORD     00276h
                        .WORD     00320h
                        .WORD     003E8h
                        .WORD     004E2h
                        .WORD     00640h
                        .WORD     007D0h
                        .WORD     009C4h
                        .WORD     00C4Eh
                        .WORD     00FA0h
                        .WORD     01388h
                        .WORD     0189Ch
                        .WORD     01F40h
                        .WORD     02710h
                        .WORD     030D4h
                        .WORD     03E80h
                        .WORD     04E20h


                        ; ============ Fixed addr String-constant tables ============

                        ; ============ fixed addr array-constant tables ============

                        ; ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
                        ; Reset and Interrupt vectors
                        ; ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++


                        .ENDCODE
                        .ORG       0, VECTTAB
                        .VECTTAB
SYSTEM.VectTab:
                        RJMP      SYSTEM.RESET
                        RJMP      SYSTEM.DefIntErr
                        RJMP      SYSTEM.DefIntErr
                        RJMP      SYSTEM.DefIntErr
                        RJMP      SYSTEM.DefIntErr
                        RJMP      SYSTEM.DefIntErr
                        RJMP      SYSTEM.DefIntErr
                        RJMP      SYSTEM.DefIntErr
                        RJMP      SYSTEM.DefIntErr
                        RJMP      SYSTEM.$INTERRUPT_TIMER0
                        RJMP      SYSTEM.DefIntErr
                        RJMP      SYSTEM.DefIntErr
                        RJMP      SYSTEM.DefIntErr
                        RJMP      SYSTEM.DefIntErr
                        RJMP      SYSTEM.DefIntErr
                        RJMP      SYSTEM.DefIntErr
                        RJMP      SYSTEM.DefIntErr
                        RJMP      SYSTEM.DefIntErr
                        RJMP      SYSTEM.DefIntErr

                        .VECTTABE
SYSTEM.ENDPROG:

                        .END

                        ; ============ End of Program ============


                        ; System uses registers
                        ; from bottom     = 00000h
                        ; upto            = 00006h
                        ; and
                        ; from            = 00010h
                        ; upto            = 0001Fh
                        ;
                        ; Stackframe at   = ...0011Fh


                        ; ===== Current top of User Vars in Data is 0000Bh =====

                        ; ===== Current top of User Vars in IData is 0017Fh =====

                        ; ===== Current top of User Vars in EEprom is 00013h =====


                        ; ===== Imported Library Routines =====

                        ; Shift  left  byte SHL8
                        ; Multiply     byte MUL8
                        ; Divide       byte DIV8
                        ; Divide       word DIV16
                        ; Shift  left  word SHL16
                        ; LongWord and LongInt types
                        ; Multiply     long MUL32
                        ; Shift  left  long SHL32
                        ; TestBit8
                        ; TestBit16
                        ; Convert int to string
                        ; EEprom read
                        ; EEprom write

                        ; Pascal Statements : 445
                        ; Assembler Lines   : 12840
                        ; Optimizer removed : 311 lines = 622Bytes

                        ; >> real SysTick (exact): 1.000 msec <<

;  Linker removed the following functions and procedures
;
;  Module/Unit             Function/Procedure
;  ------------------------------------------
;
