
                        .FILE     H:\PROJAVR\DDS-KOMPAKT\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    : 16. November 2005  20:27:45
                        ; ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++

                        .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    009h            ; const 
COMPILERBUILD_D         .EQU    012h            ; const 
COMPILEYEAR             .EQU    005h            ; const 
COMPILEMONTH            .EQU    00Bh            ; const 
COMPILEDAY              .EQU    010h            ; const 
COMPILEHOUR             .EQU    014h            ; const 
COMPILEMINUTE           .EQU    01Bh            ; const 
PROJECTBUILD            .EQU    02Fh            ; 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    00Ah            ; 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
_INCRSTATE4             .EQU    062h            ; var iData  byte
_INCRCOUNT4_0           .EQU    063h            ; var iData  integer
_INCRCOUNT4_D0          .EQU    065h            ; var iData  integer
_TWI_TO                 .EQU    067h            ; var iData  byte
TWI_DevLock             .EQU    068h            ; var iData  DeviceLock
EEPROM                  .EQU    000h            ; var EEprom array



                        .RESET     000000h
                        .ORG       0, CODE_START
                        .STARTCODE 000026h


                        .XDATASTART -1


                        ; ============ user definitions module: SoftDDS ============

SoftDDS.c_sinw          .EQU    000h            ; const byte     0
SoftDDS.c_triw          .EQU    001h            ; const byte     1
SoftDDS.c_squw          .EQU    002h            ; const byte     2
SoftDDS.c_audio         .EQU    003h            ; const byte     3
SoftDDS.c_nrmo          .EQU    000h            ; const byte     0
SoftDDS.c_symo          .EQU    001h            ; const byte     1
SoftDDS.c_pwro          .EQU    002h            ; const byte     2
SoftDDS.m_lastmenu      .EQU    00Dh            ; const enum     13
SoftDDS.DDRBinit        .EQU    03Fh            ; const byte     63
SoftDDS.PortBinit       .EQU    0EFh            ; const byte     239
SoftDDS.DDRCinit        .EQU    00Ch            ; const byte     12
SoftDDS.PortCinit       .EQU    0FFh            ; const byte     255
SoftDDS.DDRDinit        .EQU    004h            ; const byte     4
SoftDDS.PortDinit       .EQU    0FCh            ; const byte     252
SoftDDS.BtnInPortReg    .EQU    030h            ; const byte     48
SoftDDS.LEDOutPort      .EQU    032h            ; const byte     50
SoftDDS.DDSOutPort      .EQU    038h            ; const byte     56
SoftDDS.b_SCLK          .EQU    000h            ; const byte     0
SoftDDS.b_SDATA         .EQU    001h            ; const byte     1
SoftDDS.b_FSYNC         .EQU    002h            ; const byte     2
SoftDDS.b_LOADPOT       .EQU    003h            ; const byte     3
SoftDDS.b_STROBE        .EQU    004h            ; const byte     4
SoftDDS.c_ddsresetcmd   .EQU    02100h          ; const integer  8448
SoftDDS.c_ddssinecmd    .EQU    02000h          ; const integer  8192
SoftDDS.c_ddstrianglecmd      .EQU              02002h      ; const integer  8194
SoftDDS.c_ddssquarecmd  .EQU    02028h          ; const integer  8232
;fhz                     .EQU    '$006'; const String
;fdhz                    .EQU    '$020'; const String

                        .FILE     dBadj.txt

                        .FILE     H:\PROJAVR\DDS-KOMPAKT\DDS.pas
;dBadj                   .EQU    '$031'; const String
SoftDDS.offsetAdj       .EQU    01Eh            ; const byte     30
SoftDDS.symAdj          .EQU    000h            ; const byte     0

                        .FILE     dB775mV.txt

                        .FILE     H:\PROJAVR\DDS-KOMPAKT\DDS.pas
;dBfac                   .EQU    '$000'; const String
;posx                    .EQU    '$004'; const String
;cursx                   .EQU    '$000'; const String
;posy                    .EQU    '$001'; const String
;Vers1Str                .EQU    'DDS9833 V#1.12'; const String
;Vers2Str                .EQU    'C. Meyer 11/05'; 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
;NrmStr                  .EQU    'Nrm'; const String
;SymStr                  .EQU    'Sym'; const String
;MemStr                  .EQU    'Memory '; const String
;PresetStr               .EQU    'Preset '; const String
;TerzStr                 .EQU    'TerzFr '; const String
;FrequStr                .EQU    'Frequency Hz    '; const String
;OptStr                  .EQU    'Wav Adj Out Brst'; const String
SoftDDS.high            .EQU    0FFh            ; const boolean  true
SoftDDS.low             .EQU    000h            ; const boolean  false
;TerzArray               .EQU    '$04E20'; const String

                        .FILE     mem-70dB.txt
SoftDDS.EEPatchArray    .EQU    00000h          ; var EEprom array
                        .SYM      EEPatchArray, 00000h, 0403Dh, 3

                        .FILE     H:\PROJAVR\DDS-KOMPAKT\DDS.pas
                        .SYM      i, 00007h, 0000Dh, 3
SoftDDS.i               .EQU    007h            ; var Data   byte
                        .SYM      k, 00008h, 0000Dh, 3
SoftDDS.k               .EQU    008h            ; var Data   byte
                        .SYM      dss_cmd, 00069h, 0000Eh, 3
SoftDDS.dss_cmd         .EQU    069h            ; var iData  word
                        .SYM      wave_cmd, 0006Bh, 0000Eh, 3
SoftDDS.wave_cmd        .EQU    06Bh            ; var iData  word
                        .SYM      MP3switchTemp, 0006Dh, 0000Dh, 3
SoftDDS.MP3switchTemp   .EQU    06Dh            ; var iData  byte
                        .SYM      MP3State, 0006Eh, 0000Dh, 3
SoftDDS.MP3State        .EQU    06Eh            ; var iData  byte
                        .SYM      SwitchState, 0006Fh, 0000Dh, 3
SoftDDS.SwitchState     .EQU    06Fh            ; var iData  byte
                        .SYM      BtnInState, 00070h, 0000Dh, 3
SoftDDS.BtnInState      .EQU    070h            ; var iData  byte
                        .SYM      IncrValue, 00071h, 00004h, 3
SoftDDS.IncrValue       .EQU    071h            ; var iData  integer
                        .SYM      IncrVerdreht, 00073h, 00003h, 3
SoftDDS.IncrVerdreht    .EQU    073h            ; var iData  boolean
                        .SYM      EditWhich, 00074h, 0000Ah, 3
SoftDDS.EditWhich       .EQU    074h            ; var iData  enum
                        .SYM      DispWhich, 00075h, 0000Ah, 3
SoftDDS.DispWhich       .EQU    075h            ; var iData  enum
                        .SYM      LastMenu, 00076h, 0000Ah, 3
SoftDDS.LastMenu        .EQU    076h            ; var iData  enum
                        .SYM      CurItemNumber, 00077h, 0000Dh, 3
SoftDDS.CurItemNumber   .EQU    077h            ; var iData  byte
                        .SYM      DisplayValue, 00078h, 0000Dh, 3
SoftDDS.DisplayValue    .EQU    078h            ; var iData  byte
                        .SYM      EditValue, 00079h, 0000Dh, 3
SoftDDS.EditValue       .EQU    079h            ; var iData  byte
                        .SYM      ItemUpperLimit, 0007Ah, 0000Dh, 3
SoftDDS.ItemUpperLimit  .EQU    07Ah            ; var iData  byte
                        .SYM      ItemLowerLimit, 0007Bh, 0000Dh, 3
SoftDDS.ItemLowerLimit  .EQU    07Bh            ; var iData  byte
                        .SYM      x, 0007Ch, 0000Dh, 3
SoftDDS.x               .EQU    07Ch            ; var iData  byte
                        .SYM      y, 0007Dh, 0000Dh, 3
SoftDDS.y               .EQU    07Dh            ; var iData  byte
                        .SYM      GainOffset, 0007Eh, 0000Dh, 3
SoftDDS.GainOffset      .EQU    07Eh            ; var iData  byte
                        .SYM      digits, 0007Fh, 0000Dh, 3
SoftDDS.digits          .EQU    07Fh            ; var iData  byte
                        .SYM      BtnTime, 00080h, 0000Dh, 3
SoftDDS.BtnTime         .EQU    080h            ; var iData  byte
                        .SYM      BtnTime2, 00081h, 0000Dh, 3
SoftDDS.BtnTime2        .EQU    081h            ; var iData  byte
                        .SYM      BurstCount, 00082h, 0000Dh, 3
SoftDDS.BurstCount      .EQU    082h            ; var iData  byte
                        .SYM      prime, 00083h, 00003h, 3
SoftDDS.prime           .EQU    083h            ; var iData  boolean
                        .SYM      BurstPrime, 00084h, 00003h, 3
SoftDDS.BurstPrime      .EQU    084h            ; var iData  boolean
                        .SYM      Modified, 00085h, 00003h, 3
SoftDDS.Modified        .EQU    085h            ; var iData  boolean
                        .SYM      aBool, 00086h, 00003h, 3
SoftDDS.aBool           .EQU    086h            ; var iData  boolean
                        .SYM      PresetOn, 00087h, 00003h, 3
SoftDDS.PresetOn        .EQU    087h            ; var iData  boolean
                        .SYM      PresetNum, 00088h, 0000Dh, 3
SoftDDS.PresetNum       .EQU    088h            ; var iData  byte
                        .SYM      PatchNum, 00089h, 0000Dh, 3
SoftDDS.PatchNum        .EQU    089h            ; var iData  byte
                        .SYM      EditArray, 0008Ah, 0003Dh, 3
SoftDDS.EditArray       .EQU    08Ah            ; var iData  array
                        .SYM      Edit1, 0008Ah, 0000Dh, 3
SoftDDS.Edit1           .EQU    08Ah            ; var iData  byte
                        .SYM      Frequ1, 0008Ah, 0000Dh, 3
SoftDDS.Frequ1          .EQU    08Ah            ; var iData  byte
                        .SYM      Frequ2, 0008Bh, 0000Dh, 3
SoftDDS.Frequ2          .EQU    08Bh            ; var iData  byte
                        .SYM      Frequ3, 0008Ch, 0000Dh, 3
SoftDDS.Frequ3          .EQU    08Ch            ; var iData  byte
                        .SYM      Frequ4, 0008Dh, 0000Dh, 3
SoftDDS.Frequ4          .EQU    08Dh            ; var iData  byte
                        .SYM      Frequ5, 0008Eh, 0000Dh, 3
SoftDDS.Frequ5          .EQU    08Eh            ; var iData  byte
                        .SYM      Frequ6, 0008Fh, 0000Dh, 3
SoftDDS.Frequ6          .EQU    08Fh            ; var iData  byte
                        .SYM      Frequ7, 00090h, 0000Dh, 3
SoftDDS.Frequ7          .EQU    090h            ; var iData  byte
                        .SYM      FrequDez, 00091h, 0000Dh, 3
SoftDDS.FrequDez        .EQU    091h            ; var iData  byte
                        .SYM      Wave, 00092h, 0000Dh, 3
SoftDDS.Wave            .EQU    092h            ; var iData  byte
                        .SYM      Adj, 00093h, 0000Dh, 3
SoftDDS.Adj             .EQU    093h            ; var iData  byte
                        .SYM      OutputMode, 00094h, 0000Dh, 3
SoftDDS.OutputMode      .EQU    094h            ; var iData  byte
                        .SYM      BurstMode, 00095h, 0000Dh, 3
SoftDDS.BurstMode       .EQU    095h            ; var iData  byte
                        .SYM      LeveldB, 00096h, 0000Dh, 3
SoftDDS.LeveldB         .EQU    096h            ; var iData  byte
                        .SYM      PwrGain, 00099h, 0000Dh, 3
SoftDDS.PwrGain         .EQU    099h            ; var iData  byte
                        .SYM      SaveArray, 0009Ah, 0003Dh, 3
SoftDDS.SaveArray       .EQU    09Ah            ; var iData  array
                        .SYM      Save1, 0009Ah, 0000Dh, 3
SoftDDS.Save1           .EQU    09Ah            ; var iData  byte
SoftDDS.LevelStr        .EQU    0AAh            ; var iData  string
                        .SYM      LevelStr, 000AAh, 0303Ch, 3
SoftDDS.FreqStr         .EQU    0B2h            ; var iData  string
                        .SYM      FreqStr, 000B2h, 0303Ch, 3
SoftDDS.BurstTimer      .EQU    0BBh            ; var iData  byte
                        .SYM      BurstTimer, 000BBh, 0000Dh, 3
SoftDDS.EditArrayLen    .EQU    00Fh            ; const byte     15

                        .FILE     DDS-HW.pas
                        .FUNC     SendSR, 90, 00020h
SoftDDS.SendSR:
                        .BLOCK    92
                        .LINE     93
                        LDS       _ACCA, SoftDDS.Wave
                        CPI       _ACCA, 003h
                        LDI       _ACCA, 0h
                        BRNE      SoftDDS.L0000
                        SER       _ACCA
SoftDDS.L0000:
                        TST       _ACCA
                        .BRANCH   4,SoftDDS.L0003
                        BRNE      SoftDDS.L0003
                        .BRANCH   20,SoftDDS.L0001
                        RJMP      SoftDDS.L0001
SoftDDS.L0003:
                        .BLOCK    93
                        .LINE     94
                        LDS       _ACCA, 0006Fh
                        SBR       _ACCA, 008h
                        STS       0006Fh, _ACCA
                        .ENDBLOCK 95
                        .BRANCH   20,SoftDDS.L0002
                        RJMP      SoftDDS.L0002
SoftDDS.L0001:
                        .BLOCK    95
                        .LINE     96
                        LDS       _ACCA, 0006Fh
                        CBR       _ACCA, 008h
                        STS       0006Fh, _ACCA
                        .ENDBLOCK 97
SoftDDS.L0002:
                        .LINE     98
                        LDS       _ACCA, SoftDDS.MP3State
                        PUSH      _ACCA
                        LDS       _ACCA, SoftDDS.SwitchState
                        POP       _ACCB
                        OR        _ACCA, _ACCB
                        STS       SOFTDDS.MP3SWITCHTEMP, _ACCA
                        .ASM
                        .LINE     100
                        LDS _ACCA, SoftDDS.MP3switchTemp;
                        .LINE     101
                        sbi  SoftDDS.DDSOutPort, SoftDDS.b_STROBE
                        .LINE     102
                        cbi  SoftDDS.DDSOutPort, SoftDDS.b_SCLK
                        .LINE     103
                        ldi  _ACCB, 8
                        SoftDDS.srloop:
                        .LINE     106
                        LSL  _ACCA
                        .LINE     107
                        brcs SoftDDS.datahigh1
                        .LINE     108
                        cbi  SoftDDS.DDSOutPort, SoftDDS.b_SDATA
                        .LINE     109
                        rjmp SoftDDS.dataset1
                        SoftDDS.datahigh1:
                        .LINE     111
                        sbi  SoftDDS.DDSOutPort, SoftDDS.b_SDATA
                        SoftDDS.dataset1:
                        .LINE     113
                        nop
                        .LINE     114
                        sbi  SoftDDS.DDSOutPort, SoftDDS.b_SCLK
                        .LINE     115
                        nop
                        .LINE     116
                        cbi  SoftDDS.DDSOutPort, SoftDDS.b_SCLK
                        .LINE     117
                        dec _ACCB
                        .LINE     118
                        BRNE  SoftDDS.srloop
                        .LINE     120
                        cbi  SoftDDS.DDSOutPort, SoftDDS.b_STROBE
                        .LINE     121
                        sbi  SoftDDS.DDSOutPort, SoftDDS.b_SCLK
                        .endasm
                        .ENDBLOCK 123
SoftDDS.SendSR_X:
                        .LINE     123
                        .BRANCH   19
                        RET
                        .ENDFUNC  123

                        .FUNC     SendDDS, 127, 00020h
SoftDDS.SendDDS:
                        .BLOCK    129
                        .ASM
                        .LINE     131
                        lds  _ACCDLO, SoftDDS.dss_cmd
                        .LINE     132
                        lds  _ACCDHI, SoftDDS.dss_cmd+1
                        .LINE     133
                        cbi  SoftDDS.DDSOutPort, SoftDDS.b_FSYNC
                        .LINE     135
                        ldi  _ACCB, 8
                        SoftDDS.ddsloop1:    ; höherwertiges Byte rausschieben
                        .LINE     138
                        lsl  _ACCDHI
                        .LINE     139
                        brcs SoftDDS.ddsdatahigh
                        .LINE     140
                        cbi  SoftDDS.DDSOutPort, SoftDDS.b_SDATA
                        .LINE     141
                        rjmp SoftDDS.ddsdataset
                        SoftDDS.ddsdatahigh:
                        .LINE     143
                        sbi  SoftDDS.DDSOutPort, SoftDDS.b_SDATA
                        SoftDDS.ddsdataset:
                        .LINE     145
                        cbi  SoftDDS.DDSOutPort, SoftDDS.b_SCLK
                        .LINE     146
                        nop
                        .LINE     147
                        sbi  SoftDDS.DDSOutPort, SoftDDS.b_SCLK
                        .LINE     148
                        dec _ACCB
                        .LINE     149
                        brne  SoftDDS.ddsloop1
                        .LINE     151
                        ldi  _ACCB, 8
                        SoftDDS.dssloop2:    ; niederwertiges Byte rausschieben
                        .LINE     154
                        lsl  _ACCDLO
                        .LINE     155
                        brcs SoftDDS.ddsdatahigh2
                        .LINE     156
                        cbi  SoftDDS.DDSOutPort, SoftDDS.b_SDATA
                        .LINE     157
                        rjmp SoftDDS.ddsdataset2
                        SoftDDS.ddsdatahigh2:
                        .LINE     159
                        sbi  SoftDDS.DDSOutPort, SoftDDS.b_SDATA
                        SoftDDS.ddsdataset2:
                        .LINE     161
                        cbi  SoftDDS.DDSOutPort, SoftDDS.b_SCLK
                        .LINE     162
                        nop
                        .LINE     163
                        sbi  SoftDDS.DDSOutPort, SoftDDS.b_SCLK
                        .LINE     164
                        dec _ACCB
                        .LINE     165
                        brne  SoftDDS.dssloop2
                        .LINE     167
                        sbi  SoftDDS.DDSOutPort, SoftDDS.b_FSYNC
                        .endasm
                        .ENDBLOCK 169
SoftDDS.SendDDS_X:
                        .LINE     169
                        .BRANCH   19
                        RET
                        .ENDFUNC  169

                        .FUNC     SendLevel, 173, 00020h
SoftDDS.SendLevel:
                        .BLOCK    174
                        .LINE     177
                        LDD       _ACCA, Y+000h
                        MOV       _ACCDLO, _ACCA
                        .LINE     178
                        LDD       _ACCA, Y+001h
                        MOV       _ACCDHI, _ACCA
                        .ASM
                        .LINE     180
                        sbi SoftDDS.DDSOutPort, SoftDDS.b_FSYNC;
                        .LINE     181
                        cbi SoftDDS.DDSOutPort, SoftDDS.b_SDATA;
                        .LINE     182
                        cbi SoftDDS.DDSOutPort, SoftDDS.b_SCLK;
                        .LINE     183
                        cbi SoftDDS.DDSOutPort, SoftDDS.b_LOADPOT;
                        .LINE     184
                        ldi  _ACCB, 7
                        SoftDDS.levelloop1:    ; 6 Nullen rausschieben
                        .LINE     186
                        sbi SoftDDS.DDSOutPort, SoftDDS.b_SCLK;
                        .LINE     187
                        nop
                        .LINE     188
                        cbi SoftDDS.DDSOutPort, SoftDDS.b_SCLK
                        .LINE     189
                        dec _ACCB
                        .LINE     190
                        brne  SoftDDS.levelloop1
                        .LINE     191
                        dec _ACCDLO
                        .LINE     192
                        brne  SoftDDS.channelset; wenn 0 gewesen, überspringen
                        .LINE     193
                        sbi SoftDDS.DDSOutPort, SoftDDS.b_SDATA;  1 rausschieben
                        .LINE     194
                        nop
                        SoftDDS.channelset:
                        .LINE     196
                        sbi SoftDDS.DDSOutPort, SoftDDS.b_SCLK;
                        .LINE     197
                        nop
                        .LINE     198
                        cbi SoftDDS.DDSOutPort, SoftDDS.b_SCLK;
                        .LINE     200
                        ldi  _ACCB, 8
                        SoftDDS.levelloop2:    ; Byte Step rausschieben
                        .LINE     202
                        lsl  _ACCDHI; step shiften
                        .LINE     203
                        brcs SoftDDS.leveldatahigh2
                        .LINE     204
                        cbi  SoftDDS.DDSOutPort, SoftDDS.b_SDATA
                        .LINE     205
                        rjmp SoftDDS.leveldataset2
                        SoftDDS.leveldatahigh2:
                        .LINE     207
                        sbi  SoftDDS.DDSOutPort, SoftDDS.b_SDATA
                        SoftDDS.leveldataset2:
                        .LINE     209
                        nop;
                        .LINE     210
                        sbi SoftDDS.DDSOutPort, SoftDDS.b_SCLK;
                        .LINE     211
                        nop;
                        .LINE     212
                        nop;
                        .LINE     213
                        cbi SoftDDS.DDSOutPort, SoftDDS.b_SCLK;
                        .LINE     214
                        dec _ACCB
                        .LINE     215
                        brne  SoftDDS.levelloop2
                        .LINE     216
                        sbi SoftDDS.DDSOutPort, SoftDDS.b_LOADPOT;
                        .LINE     217
                        sbi SoftDDS.DDSOutPort, SoftDDS.b_SDATA;
                        .LINE     218
                        sbi SoftDDS.DDSOutPort, SoftDDS.b_SCLK;
                        .endasm
                        .ENDBLOCK 221
SoftDDS.SendLevel_X:
                        .LINE     221
                        .BRANCH   19
                        RET
                        .ENDFUNC  221

                        .FUNC     SetLevelDDS, 223, 00020h
SoftDDS.SetLevelDDS:
                        SBIW      _FRAMEPTR, 18
                        .BLOCK    228
                        .LINE     238
                        LDI       _ACCA, 000h
                        STS       SOFTDDS.SWITCHSTATE, _ACCA
                        .LINE     239
                        LDI       _ACCA, 000h
                        STS       SOFTDDS.GAINOFFSET, _ACCA
                        .LINE     240
                        LDS       _ACCA, SoftDDS.Wave
                        .LINE     241
                        CPI       _ACCA, 0
                        .BRANCH   3,SoftDDS.L0007
                        BREQ      SoftDDS.L0007
                        .BRANCH   20,SoftDDS.L0006
                        RJMP      SoftDDS.L0006
SoftDDS.L0007:
SoftDDS.L0005:
                        .BLOCK    242
                        .LINE     242
                        LDI       _ACCA, 02000h SHRB 8
                        LDI       _ACCB, 02000h AND 0FFh
                        STS       SOFTDDS.WAVE_CMD, _ACCB
                        STS       SOFTDDS.WAVE_CMD+1, _ACCA
                        .ENDBLOCK 243
                        .BRANCH   20,SoftDDS.L0004
                        RJMP      SoftDDS.L0004
SoftDDS.L0006:
                        .LINE     244
                        CPI       _ACCA, 1
                        .BRANCH   3,SoftDDS.L0010
                        BREQ      SoftDDS.L0010
                        .BRANCH   20,SoftDDS.L0009
                        RJMP      SoftDDS.L0009
SoftDDS.L0010:
SoftDDS.L0008:
                        .BLOCK    245
                        .LINE     245
                        LDI       _ACCA, 02002h SHRB 8
                        LDI       _ACCB, 02002h AND 0FFh
                        STS       SOFTDDS.WAVE_CMD, _ACCB
                        STS       SOFTDDS.WAVE_CMD+1, _ACCA
                        .ENDBLOCK 246
                        .BRANCH   20,SoftDDS.L0004
                        RJMP      SoftDDS.L0004
SoftDDS.L0009:
                        .LINE     247
                        CPI       _ACCA, 2
                        .BRANCH   3,SoftDDS.L0013
                        BREQ      SoftDDS.L0013
                        .BRANCH   20,SoftDDS.L0012
                        RJMP      SoftDDS.L0012
SoftDDS.L0013:
SoftDDS.L0011:
                        .BLOCK    248
                        .LINE     248
                        LDI       _ACCA, 02028h SHRB 8
                        LDI       _ACCB, 02028h AND 0FFh
                        STS       SOFTDDS.WAVE_CMD, _ACCB
                        STS       SOFTDDS.WAVE_CMD+1, _ACCA
                        .LINE     249
                        LDS       _ACCA, 0006Fh
                        SBR       _ACCA, 001h
                        STS       0006Fh, _ACCA
                        .ENDBLOCK 250
                        .BRANCH   20,SoftDDS.L0004
                        RJMP      SoftDDS.L0004
SoftDDS.L0012:
                        .LINE     251
                        CPI       _ACCA, 3
                        .BRANCH   3,SoftDDS.L0016
                        BREQ      SoftDDS.L0016
                        .BRANCH   20,SoftDDS.L0015
                        RJMP      SoftDDS.L0015
SoftDDS.L0016:
SoftDDS.L0014:
                        .BLOCK    252
                        .LINE     252
                        LDI       _ACCA, 02100h SHRB 8
                        LDI       _ACCB, 02100h AND 0FFh
                        STS       SOFTDDS.WAVE_CMD, _ACCB
                        STS       SOFTDDS.WAVE_CMD+1, _ACCA
                        .ENDBLOCK 253
                        .BRANCH   20,SoftDDS.L0004
                        RJMP      SoftDDS.L0004
SoftDDS.L0015:
SoftDDS.L0004:
                        .LINE     265
                        LDS       _ACCA, SoftDDS.LeveldB
                        NEG       _ACCA
                        SUBI      _ACCA, 0B0h AND 0FFh
                        MOV       SOFTDDS.K, _ACCA
                        .LINE     267
                        LDS       _ACCA, SoftDDS.OutputMode
                        CPI       _ACCA, 001h
                        LDI       _ACCA, 0h
                        BRNE      SoftDDS.L0017
                        SER       _ACCA
SoftDDS.L0017:
                        TST       _ACCA
                        .BRANCH   4,SoftDDS.L0020
                        BRNE      SoftDDS.L0020
                        .BRANCH   20,SoftDDS.L0018
                        RJMP      SoftDDS.L0018
SoftDDS.L0020:
                        .BLOCK    268
                        .LINE     268
                        MOV       _ACCA, SoftDDS.k
                        SUBI      _ACCA, -006h AND 0FFh
                        MOV       SOFTDDS.K, _ACCA
                        .ENDBLOCK 269
SoftDDS.L0018:
SoftDDS.L0019:
                        .LINE     271
                        MOV       _ACCA, SoftDDS.k
                        STD       Y+010h, _ACCA
                        .LINE     273
                        LDS       _ACCA, SoftDDS.LeveldB
                        CPI       _ACCA, 014h
                        LDI       _ACCA, 0FFh
                        BRLO      SoftDDS.L0021
                        CLR       _ACCA
SoftDDS.L0021:
                        TST       _ACCA
                        .BRANCH   4,SoftDDS.L0024
                        BRNE      SoftDDS.L0024
                        .BRANCH   20,SoftDDS.L0022
                        RJMP      SoftDDS.L0022
SoftDDS.L0024:
                        .BLOCK    273
                        .LINE     275
                        LDS       _ACCA, 0006Fh
                        SBR       _ACCA, 002h
                        STS       0006Fh, _ACCA
                        .LINE     276
                        MOV       _ACCA, SoftDDS.k
                        SUBI      _ACCA, 014h AND 0FFh
                        MOV       SOFTDDS.K, _ACCA
                        .ENDBLOCK 277
SoftDDS.L0022:
SoftDDS.L0023:
                        .LINE     278
                        .BRANCH   17,SoftDDS.SENDSR
                        RCALL     SoftDDS.SENDSR
                        .LINE     281
                        MOV       _ACCA, SoftDDS.k
                        CPI       _ACCA, 030h
                        LDI       _ACCA, 0FFh
                        BRLO      SoftDDS.L0025
                        CLR       _ACCA
SoftDDS.L0025:
                        TST       _ACCA
                        .BRANCH   4,SoftDDS.L0028
                        BRNE      SoftDDS.L0028
                        .BRANCH   20,SoftDDS.L0026
                        RJMP      SoftDDS.L0026
SoftDDS.L0028:
                        .BLOCK    281
                        .LINE     282
                        MOV       _ACCA, SoftDDS.k
                        LSL       _ACCA
                        MOV       SOFTDDS.K, _ACCA
                        .ENDBLOCK 283
                        .BRANCH   20,SoftDDS.L0027
                        RJMP      SoftDDS.L0027
SoftDDS.L0026:
                        .BLOCK    283
                        .LINE     284
                        MOV       _ACCA, SoftDDS.k
                        SUBI      _ACCA, -030h AND 0FFh
                        MOV       SOFTDDS.K, _ACCA
                        .ENDBLOCK 285
SoftDDS.L0027:
                        .LINE     286
                        PUSH      _FRAMEPTR
                        PUSH      _FPTRHI
                        MOV       _ACCA, SoftDDS.k
                        ST        -Y, _ACCA
                        .FRAME  1
                        LDI       _ACCA, 000h
                        ST        -Y, _ACCA
                        .FRAME  2
                        .FRAME  0
                        .BRANCH   17,SoftDDS.SENDLEVEL
                        RCALL     SoftDDS.SENDLEVEL
                        POP       _FPTRHI
                        POP       _FRAMEPTR
                        .LINE     289
                        LDD       _ACCA, Y+010h
                        CPI       _ACCA, 03Fh
                        LDI       _ACCA, 0h
                        BREQ      SoftDDS.L0029
                        BRLO      SoftDDS.L0029
                        SER       _ACCA
SoftDDS.L0029:
                        TST       _ACCA
                        .BRANCH   4,SoftDDS.L0032
                        BRNE      SoftDDS.L0032
                        .BRANCH   20,SoftDDS.L0030
                        RJMP      SoftDDS.L0030
SoftDDS.L0032:
                        .BLOCK    290
                        .LINE     290
                        LDI       _ACCA, 03Fh
                        STD       Y+010h, _ACCA
                        .ENDBLOCK 291
SoftDDS.L0030:
SoftDDS.L0031:
                        .LINE     292
                        LDD       _ACCA, Y+010h
                        LDI       _ACCCLO, SoftDDS.dBadj AND 0FFh
                        LDI       _ACCCHI, SoftDDS.dBadj SHRB 8
                        ANDI      _ACCA, 63
                        CLR       _ACCB
                        ADD       _ACCCLO, _ACCA
                        ADC       _ACCCHI, _ACCB
                        LPM       _ACCA, Z
                        PUSH      _ACCA
                        LDS       _ACCA, SoftDDS.Adj
                        SUBI      _ACCA, 01Eh AND 0FFh
                        POP       _ACCB
                        ADD       _ACCA, _ACCB
                        MOV       SOFTDDS.K, _ACCA
                        .LINE     293
                        PUSH      _FRAMEPTR
                        PUSH      _FPTRHI
                        MOV       _ACCA, SoftDDS.k
                        ST        -Y, _ACCA
                        .FRAME  1
                        LDI       _ACCA, 001h
                        ST        -Y, _ACCA
                        .FRAME  2
                        .FRAME  0
                        .BRANCH   17,SoftDDS.SENDLEVEL
                        RCALL     SoftDDS.SENDLEVEL
                        POP       _FPTRHI
                        POP       _FRAMEPTR
                        .LINE     298
                        LDI       _ACCB, 000000000h AND 0FFh
                        LDI       _ACCA, 000000000h SHRB 8
                        LDI       _ACCALO, 000000000h SHRB 16
                        LDI       _ACCAHI, 000000000h SHRB 24
                        STD       Y+00Fh, _ACCAHI
                        STD       Y+00Eh, _ACCALO
                        STD       Y+00Dh, _ACCA
                        STD       Y+00Ch, _ACCB
                        .LINE     299
                        LDI       _ACCCLO, SoftDDS.i AND 0FFh
                        LDI       _ACCCHI, SoftDDS.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
SoftDDS.L0035:
                        LDD       _ACCB, Y+000h
                        CP        _ACCB, _ACCA
                        LDI       _ACCA, 0FFh
                        BRLO      SoftDDS.L0036
                        CLR       _ACCA
SoftDDS.L0036:
                        TST       _ACCA
                        .BRANCH   3,SoftDDS.L0037
                        BREQ      SoftDDS.L0037
                        .BRANCH   20,SoftDDS.L0034
                        RJMP      SoftDDS.L0034
SoftDDS.L0037:
                        .BLOCK    300
                        .LINE     300
                        MOV       _ACCA, SoftDDS.i
                        LDI       _ACCCLO, SoftDDS.EditArray AND 0FFh
                        LDI       _ACCCHI, SoftDDS.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+00Eh, _ACCAHI
                        STD       Y+00Dh, _ACCALO
                        STD       Y+00Ch, _ACCA
                        STD       Y+00Bh, _ACCB
                        .LINE     301
                        MOV       _ACCA, SoftDDS.i
                        LDI       _ACCCLO, SoftDDS.fhz AND 0FFh
                        LDI       _ACCCHI, SoftDDS.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+00Ah, _ACCAHI
                        STD       Y+009h, _ACCALO
                        STD       Y+008h, _ACCA
                        STD       Y+007h, _ACCB
                        .LINE     302
                        LDD       _ACCAHI, Y+012h
                        LDD       _ACCALO, Y+011h
                        LDD       _ACCA, Y+010h
                        LDD       _ACCB, Y+00Fh
                        PUSH      _ACCB
                        PUSH      _ACCA
                        PUSH      _ACCALO
                        PUSH      _ACCAHI
                        LDD       _ACCAHI, Y+00Ah
                        LDD       _ACCALO, Y+009h
                        LDD       _ACCA, Y+008h
                        LDD       _ACCB, Y+007h
                        PUSH      _ACCB
                        PUSH      _ACCA
                        PUSH      _ACCALO
                        PUSH      _ACCAHI
                        LDD       _ACCAHI, Y+00Eh
                        LDD       _ACCALO, Y+00Dh
                        LDD       _ACCA, Y+00Ch
                        LDD       _ACCB, Y+00Bh
                        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+012h, _ACCAHI
                        STD       Y+011h, _ACCALO
                        STD       Y+010h, _ACCA
                        STD       Y+00Fh, _ACCB
                        .ENDBLOCK 303
SoftDDS.L0033:
                        .LINE     303
                        LDD       _ACCCLO, Y+001h
                        LDD       _ACCCHI, Y+002h
                        LD        _ACCA, Z
                        INC       _ACCA
                        ST        Z, _ACCA
                        TST       _ACCA
                        .BRANCH   3,SoftDDS.L0034
                        BREQ      SoftDDS.L0034
                        .BRANCH   20,SoftDDS.L0035
                        RJMP      SoftDDS.L0035
SoftDDS.L0034:
                        ADIW      _FRAMEPTR, 3
                        .FRAME  0
                        .LINE     304
                        LDS       _ACCA, SoftDDS.FrequDez
                        LDI       _ACCCLO, SoftDDS.fdhz AND 0FFh
                        LDI       _ACCCHI, SoftDDS.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+007h, _ACCAHI
                        STD       Y+006h, _ACCALO
                        STD       Y+005h, _ACCA
                        STD       Y+004h, _ACCB
                        .LINE     305
                        LDD       _ACCAHI, Y+00Fh
                        LDD       _ACCALO, Y+00Eh
                        LDD       _ACCA, Y+00Dh
                        LDD       _ACCB, Y+00Ch
                        PUSH      _ACCB
                        PUSH      _ACCA
                        PUSH      _ACCALO
                        PUSH      _ACCAHI
                        LDD       _ACCAHI, Y+007h
                        LDD       _ACCALO, Y+006h
                        LDD       _ACCA, Y+005h
                        LDD       _ACCB, Y+004h
                        POP       _ACCCHI
                        POP       _ACCCLO
                        POP       _ACCBHI
                        POP       _ACCBLO
                        ADD       _ACCB, _ACCBLO
                        ADC       _ACCA, _ACCBHI
                        ADC       _ACCALO, _ACCCLO
                        ADC       _ACCAHI, _ACCCHI
                        STD       Y+00Fh, _ACCAHI
                        STD       Y+00Eh, _ACCALO
                        STD       Y+00Dh, _ACCA
                        STD       Y+00Ch, _ACCB
                        .LINE     313
                        LDD       _ACCAHI, Y+00Fh
                        LDD       _ACCALO, Y+00Eh
                        LDD       _ACCA, Y+00Dh
                        LDD       _ACCB, Y+00Ch
                        ANDI      _ACCB, 0FFh
                        ANDI      _ACCA, 03Fh
                        STS       SOFTDDS.DSS_CMD, _ACCB
                        STS       SOFTDDS.DSS_CMD+1, _ACCA
                        .LINE     314
                        LDS       _ACCB, SoftDDS.dss_cmd
                        LDS       _ACCA, SoftDDS.dss_cmd+1
                        ORI       _ACCB, 000h
                        ORI       _ACCA, 040h
                        STS       SOFTDDS.DSS_CMD, _ACCB
                        STS       SOFTDDS.DSS_CMD+1, _ACCA
                        .LINE     315
                        .BRANCH   17,SoftDDS.SENDDDS
                        RCALL     SoftDDS.SENDDDS
                        .LINE     316
                        LDD       _ACCAHI, Y+00Fh
                        LDD       _ACCALO, Y+00Eh
                        LDD       _ACCA, Y+00Dh
                        LDD       _ACCB, Y+00Ch
                        LDI       _ACCCLO, 002h
                        RCALL     SYSTEM.SHL32_R
                        STD       Y+00Fh, _ACCAHI
                        STD       Y+00Eh, _ACCALO
                        STD       Y+00Dh, _ACCA
                        STD       Y+00Ch, _ACCB
                        .LINE     317
                        LDD       _ACCAHI, Y+00Fh
                        LDD       _ACCALO, Y+00Eh
                        LDD       _ACCA, Y+00Dh
                        LDD       _ACCB, Y+00Ch
                        MOVW      _ACCB, _ACCALO
                        ANDI      _ACCB, 0FFh
                        ANDI      _ACCA, 03Fh
                        STS       SOFTDDS.DSS_CMD, _ACCB
                        STS       SOFTDDS.DSS_CMD+1, _ACCA
                        .LINE     318
                        LDS       _ACCB, SoftDDS.dss_cmd
                        LDS       _ACCA, SoftDDS.dss_cmd+1
                        ORI       _ACCB, 000h
                        ORI       _ACCA, 040h
                        STS       SOFTDDS.DSS_CMD, _ACCB
                        STS       SOFTDDS.DSS_CMD+1, _ACCA
                        .LINE     319
                        .BRANCH   17,SoftDDS.SENDDDS
                        RCALL     SoftDDS.SENDDDS
                        .LINE     320
                        LDS       _ACCB, SoftDDS.wave_cmd
                        LDS       _ACCA, SoftDDS.wave_cmd+1
                        STS       SOFTDDS.DSS_CMD, _ACCB
                        STS       SOFTDDS.DSS_CMD+1, _ACCA
                        .LINE     321
                        .BRANCH   17,SoftDDS.SENDDDS
                        RCALL     SoftDDS.SENDDDS
                        .ENDBLOCK 323
SoftDDS.SetLevelDDS_X:
                        .LINE     323
                        .BRANCH   19
                        RET
                        .ENDFUNC  323


                        .FILE     H:\PROJAVR\DDS-KOMPAKT\DDS.pas
                        .FUNC     PresetCopyFromROM, 279, 00020h
SoftDDS.PresetCopyFromROM:
                        .BLOCK    281
                        .LINE     283
                        LDI       _ACCCLO, SoftDDS.FreqStr AND 0FFh
                        LDI       _ACCCHI, SoftDDS.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, SoftDDS.PresetNum
                        LDI       _ACCCLO, SoftDDS.TerzArray AND 0FFh
                        LDI       _ACCCHI, SoftDDS.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     284
                        LDI       _ACCCLO, SoftDDS.FreqStr AND 0FFh
                        LDI       _ACCCHI, SoftDDS.FreqStr SHRB 8
                        ADIW      _ACCCLO, 00008h
                        LDI       _ACCA, 030h
                        ST        Z+, _ACCA
                        .LINE     285
                        LDI       _ACCCLO, SoftDDS.i AND 0FFh
                        LDI       _ACCCHI, SoftDDS.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
SoftDDS.L0040:
                        LDD       _ACCB, Y+000h
                        CP        _ACCB, _ACCA
                        LDI       _ACCA, 0FFh
                        BRLO      SoftDDS.L0041
                        CLR       _ACCA
SoftDDS.L0041:
                        TST       _ACCA
                        .BRANCH   3,SoftDDS.L0042
                        BREQ      SoftDDS.L0042
                        .BRANCH   20,SoftDDS.L0039
                        RJMP      SoftDDS.L0039
SoftDDS.L0042:
                        .BLOCK    286
                        .LINE     286
                        LDI       _ACCCLO, SoftDDS.FreqStr AND 0FFh
                        LDI       _ACCCHI, SoftDDS.FreqStr SHRB 8
                        PUSH      _ACCCLO
                        PUSH      _ACCCHI
                        MOV       _ACCA, SoftDDS.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       SOFTDDS.K, _ACCA
                        .LINE     287
                        MOV       _ACCA, SoftDDS.k
                        CPI       _ACCA, 020h
                        LDI       _ACCA, 0h
                        BRNE      SoftDDS.L0043
                        SER       _ACCA
SoftDDS.L0043:
                        TST       _ACCA
                        .BRANCH   4,SoftDDS.L0046
                        BRNE      SoftDDS.L0046
                        .BRANCH   20,SoftDDS.L0044
                        RJMP      SoftDDS.L0044
SoftDDS.L0046:
                        .BLOCK    288
                        .LINE     288
                        LDI       _ACCA, 030h
                        MOV       SOFTDDS.K, _ACCA
                        .ENDBLOCK 289
SoftDDS.L0044:
SoftDDS.L0045:
                        .LINE     290
                        MOV       _ACCA, SoftDDS.i
                        PUSH      _ACCA
                        MOV       _ACCA, SoftDDS.k
                        SUBI      _ACCA, 030h AND 0FFh
                        LDI       _ACCCLO, SoftDDS.EditArray AND 0FFh
                        LDI       _ACCCHI, SoftDDS.EditArray SHRB 8
                        POP       _ACCBLO
                        ANDI      _ACCBLO, 15
                        CLR       _ACCBHI
                        ADD       _ACCCLO, _ACCBLO
                        ADC       _ACCCHI, _ACCBHI
                        ST        Z, _ACCA
                        .ENDBLOCK 291
SoftDDS.L0038:
                        .LINE     291
                        LDD       _ACCCLO, Y+001h
                        LDD       _ACCCHI, Y+002h
                        LD        _ACCA, Z
                        INC       _ACCA
                        ST        Z, _ACCA
                        TST       _ACCA
                        .BRANCH   3,SoftDDS.L0039
                        BREQ      SoftDDS.L0039
                        .BRANCH   20,SoftDDS.L0040
                        RJMP      SoftDDS.L0040
SoftDDS.L0039:
                        ADIW      _FRAMEPTR, 3
                        .FRAME  0
                        .ENDBLOCK 292
SoftDDS.PresetCopyFromROM_X:
                        .LINE     292
                        .BRANCH   19
                        RET
                        .ENDFUNC  292

                        .FUNC     PresetSave, 294, 00020h
SoftDDS.PresetSave:
                        .BLOCK    296
                        .LINE     297
                        LDI       _ACCA, SoftDDS.Frequ1 SHRB 8
                        LDI       _ACCB, SoftDDS.Frequ1 AND 0FFh
                        PUSH      _ACCB
                        PUSH      _ACCA
                        LDI       _ACCA, SoftDDS.Save1 SHRB 8
                        LDI       _ACCB, SoftDDS.Save1 AND 0FFh
                        MOVW      _ACCCLO, _ACCB
                        MOVW      _ACCBLO, _ACCCLO
                        POP       _ACCCHI
                        POP       _ACCCLO
                        LDI       _ACCALO, 00010h AND 0FFh
                        LDI       _ACCAHI, 00010h SHRB 8
                        RCALL     SYSTEM.BlockCopyC
                        .ENDBLOCK 298
SoftDDS.PresetSave_X:
                        .LINE     298
                        .BRANCH   19
                        RET
                        .ENDFUNC  298

                        .FUNC     PresetRestore, 300, 00020h
SoftDDS.PresetRestore:
                        .BLOCK    302
                        .LINE     303
                        LDI       _ACCA, SoftDDS.Save1 SHRB 8
                        LDI       _ACCB, SoftDDS.Save1 AND 0FFh
                        PUSH      _ACCB
                        PUSH      _ACCA
                        LDI       _ACCA, SoftDDS.Frequ1 SHRB 8
                        LDI       _ACCB, SoftDDS.Frequ1 AND 0FFh
                        MOVW      _ACCCLO, _ACCB
                        MOVW      _ACCBLO, _ACCCLO
                        POP       _ACCCHI
                        POP       _ACCCLO
                        LDI       _ACCALO, 00010h AND 0FFh
                        LDI       _ACCAHI, 00010h SHRB 8
                        RCALL     SYSTEM.BlockCopyC
                        .ENDBLOCK 304
SoftDDS.PresetRestore_X:
                        .LINE     304
                        .BRANCH   19
                        RET
                        .ENDFUNC  304

                        .FUNC     PatchCopyFromEE, 306, 00020h
SoftDDS.PatchCopyFromEE:
                        SBIW      _FRAMEPTR, 2
                        .BLOCK    309
                        .LINE     310
                        LDI       _ACCCLO, SoftDDS.i AND 0FFh
                        LDI       _ACCCHI, SoftDDS.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
SoftDDS.L0049:
                        LDD       _ACCB, Y+000h
                        CP        _ACCB, _ACCA
                        LDI       _ACCA, 0FFh
                        BRLO      SoftDDS.L0050
                        CLR       _ACCA
SoftDDS.L0050:
                        TST       _ACCA
                        .BRANCH   3,SoftDDS.L0051
                        BREQ      SoftDDS.L0051
                        .BRANCH   20,SoftDDS.L0048
                        RJMP      SoftDDS.L0048
SoftDDS.L0051:
                        .BLOCK    311
                        .LINE     311
                        MOV       _ACCA, SoftDDS.i
                        MOV       _ACCB, _ACCA
                        CLR       _ACCA
                        PUSH      _ACCB
                        PUSH      _ACCA
                        LDS       _ACCA, SoftDDS.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     312
                        MOV       _ACCA, SoftDDS.i
                        PUSH      _ACCA
                        LDI       _ACCCLO, SoftDDS.EEPatchArray AND 0FFh
                        LDI       _ACCCHI, SoftDDS.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, SoftDDS.EditArray AND 0FFh
                        LDI       _ACCCHI, SoftDDS.EditArray SHRB 8
                        POP       _ACCBLO
                        ANDI      _ACCBLO, 15
                        CLR       _ACCBHI
                        ADD       _ACCCLO, _ACCBLO
                        ADC       _ACCCHI, _ACCBHI
                        ST        Z, _ACCA
                        .ENDBLOCK 313
SoftDDS.L0047:
                        .LINE     313
                        LDD       _ACCCLO, Y+001h
                        LDD       _ACCCHI, Y+002h
                        LD        _ACCA, Z
                        INC       _ACCA
                        ST        Z, _ACCA
                        TST       _ACCA
                        .BRANCH   3,SoftDDS.L0048
                        BREQ      SoftDDS.L0048
                        .BRANCH   20,SoftDDS.L0049
                        RJMP      SoftDDS.L0049
SoftDDS.L0048:
                        ADIW      _FRAMEPTR, 3
                        .FRAME  0
                        .ENDBLOCK 314
SoftDDS.PatchCopyFromEE_X:
                        .LINE     314
                        .BRANCH   19
                        RET
                        .ENDFUNC  314

                        .FUNC     PatchCopyToEE, 316, 00020h
SoftDDS.PatchCopyToEE:
                        SBIW      _FRAMEPTR, 2
                        .BLOCK    319
                        .LINE     320
                        LDI       _ACCCLO, SoftDDS.i AND 0FFh
                        LDI       _ACCCHI, SoftDDS.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
SoftDDS.L0054:
                        LDD       _ACCB, Y+000h
                        CP        _ACCB, _ACCA
                        LDI       _ACCA, 0FFh
                        BRLO      SoftDDS.L0055
                        CLR       _ACCA
SoftDDS.L0055:
                        TST       _ACCA
                        .BRANCH   3,SoftDDS.L0056
                        BREQ      SoftDDS.L0056
                        .BRANCH   20,SoftDDS.L0053
                        RJMP      SoftDDS.L0053
SoftDDS.L0056:
                        .BLOCK    321
                        .LINE     321
                        MOV       _ACCA, SoftDDS.i
                        MOV       _ACCB, _ACCA
                        CLR       _ACCA
                        PUSH      _ACCB
                        PUSH      _ACCA
                        LDS       _ACCA, SoftDDS.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     322
                        LDI       _ACCCLO, SoftDDS.EEPatchArray AND 0FFh
                        LDI       _ACCCHI, SoftDDS.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, SoftDDS.i
                        LDI       _ACCCLO, SoftDDS.EditArray AND 0FFh
                        LDI       _ACCCHI, SoftDDS.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 323
SoftDDS.L0052:
                        .LINE     323
                        LDD       _ACCCLO, Y+001h
                        LDD       _ACCCHI, Y+002h
                        LD        _ACCA, Z
                        INC       _ACCA
                        ST        Z, _ACCA
                        TST       _ACCA
                        .BRANCH   3,SoftDDS.L0053
                        BREQ      SoftDDS.L0053
                        .BRANCH   20,SoftDDS.L0054
                        RJMP      SoftDDS.L0054
SoftDDS.L0053:
                        ADIW      _FRAMEPTR, 3
                        .FRAME  0
                        .ENDBLOCK 324
SoftDDS.PatchCopyToEE_X:
                        .LINE     324
                        .BRANCH   19
                        RET
                        .ENDFUNC  324

                        .FUNC     LCD1xy, 329, 00020h
SoftDDS.LCD1xy:
                        .BLOCK    330
                        .LINE     331
                        PUSH      _FRAMEPTR
                        PUSH      _FPTRHI
                        LDI       _ACCA, 000h
                        ST        -Y, _ACCA
                        .FRAME  1
                        LDS       _ACCA, SoftDDS.x
                        ST        -Y, _ACCA
                        .FRAME  2
                        LDS       _ACCA, SoftDDS.y
                        ST        -Y, _ACCA
                        .FRAME  3
                        .FRAME  0
                        RCALL     SYSTEM.LCDXY_M
                        POP       _FPTRHI
                        POP       _FRAMEPTR
                        .ENDBLOCK 332
SoftDDS.LCD1xy_X:
                        .LINE     332
                        .BRANCH   19
                        RET
                        .ENDFUNC  332

                        .FUNC     SetPos, 334, 00020h
SoftDDS.SetPos:
                        .BLOCK    335
                        .LINE     336
                        LDS       _ACCA, SoftDDS.DispWhich
                        MOV       SOFTDDS.I, _ACCA
                        .LINE     337
                        MOV       _ACCA, SoftDDS.i
                        LDI       _ACCCLO, SoftDDS.posx AND 0FFh
                        LDI       _ACCCHI, SoftDDS.posx SHRB 8
                        ANDI      _ACCA, 15
                        CLR       _ACCB
                        ADD       _ACCCLO, _ACCA
                        ADC       _ACCCHI, _ACCB
                        LPM       _ACCA, Z
                        STS       SOFTDDS.X, _ACCA
                        .LINE     338
                        MOV       _ACCA, SoftDDS.i
                        LDI       _ACCCLO, SoftDDS.posy AND 0FFh
                        LDI       _ACCCHI, SoftDDS.posy SHRB 8
                        ANDI      _ACCA, 15
                        CLR       _ACCB
                        ADD       _ACCCLO, _ACCA
                        ADC       _ACCCHI, _ACCB
                        LPM       _ACCA, Z
                        STS       SOFTDDS.Y, _ACCA
                        .LINE     339
                        .BRANCH   17,SoftDDS.LCD1XY
                        RCALL     SoftDDS.LCD1XY
                        .ENDBLOCK 340
SoftDDS.SetPos_X:
                        .LINE     340
                        .BRANCH   19
                        RET
                        .ENDFUNC  340

                        .FUNC     SetCursor, 342, 00020h
SoftDDS.SetCursor:
                        .BLOCK    343
                        .LINE     344
                        LDS       _ACCA, SoftDDS.EditWhich
                        MOV       SOFTDDS.I, _ACCA
                        .LINE     345
                        MOV       _ACCA, SoftDDS.i
                        LDI       _ACCCLO, SoftDDS.cursx AND 0FFh
                        LDI       _ACCCHI, SoftDDS.cursx SHRB 8
                        ANDI      _ACCA, 15
                        CLR       _ACCB
                        ADD       _ACCCLO, _ACCA
                        ADC       _ACCCHI, _ACCB
                        LPM       _ACCA, Z
                        STS       SOFTDDS.X, _ACCA
                        .LINE     346
                        MOV       _ACCA, SoftDDS.i
                        LDI       _ACCCLO, SoftDDS.posy AND 0FFh
                        LDI       _ACCCHI, SoftDDS.posy SHRB 8
                        ANDI      _ACCA, 15
                        CLR       _ACCB
                        ADD       _ACCCLO, _ACCA
                        ADC       _ACCCHI, _ACCB
                        LPM       _ACCA, Z
                        STS       SOFTDDS.Y, _ACCA
                        .LINE     347
                        .BRANCH   17,SoftDDS.LCD1XY
                        RCALL     SoftDDS.LCD1XY
                        .LINE     349
                        LDI       _ACCA, 000h
                        .FRAME  0
                        RCALL     SYSTEM.LCDOUT_M
                        .ENDBLOCK 350
SoftDDS.SetCursor_X:
                        .LINE     350
                        .BRANCH   19
                        RET
                        .ENDFUNC  350

                        .FUNC     LCD1x0y0, 353, 00020h
SoftDDS.LCD1x0y0:
                        .BLOCK    354
                        .LINE     355
                        LDI       _ACCA, 000h
                        .FRAME  0
                        RCALL     SYSTEM.LCDHOME_M
                        .LINE     356
                        LDI       _ACCA, 00001h SHRB 8
                        LDI       _ACCB, 00001h AND 0FFh
                        .FRAME  0
                        RCALL     SYSTEM.MDELAY
                        .ENDBLOCK 357
SoftDDS.LCD1x0y0_X:
                        .LINE     357
                        .BRANCH   19
                        RET
                        .ENDFUNC  357

                        .FUNC     LCD1x0y1, 359, 00020h
SoftDDS.LCD1x0y1:
                        .BLOCK    360
                        .LINE     361
                        LDI       _ACCA, 000h
                        STS       SOFTDDS.X, _ACCA
                        .LINE     362
                        LDI       _ACCA, 001h
                        STS       SOFTDDS.Y, _ACCA
                        .LINE     363
                        .BRANCH   17,SoftDDS.LCD1XY
                        RCALL     SoftDDS.LCD1XY
                        .ENDBLOCK 364
SoftDDS.LCD1x0y1_X:
                        .LINE     364
                        .BRANCH   19
                        RET
                        .ENDFUNC  364


                        .FILE     buttons.pas
                        .FUNC     WriteLCD, 84, 00020h
SoftDDS.WriteLCD:
                        .BLOCK    87
                        .ASM
                        .LINE     90
                        LDD       _ACCCLO, Y+000h
                        .LINE     91
                        CLR       _ACCA
                        .LINE     92
                        LDD       _ACCCHI, Y+001h
                        .LINE     93
                        ADC       _ACCCHI, _ACCA
                        .LINE     95
                        PUSH      _FRAMEPTR
                        .LINE     96
                        PUSH      _FPTRHI
                        .LINE     97
                        LDI       _ACCA, 1 SHLB _DEVICE
                        .LINE     98
                        OR        Flags, _ACCA
                        .LINE     99
                        LDI       _ACCB, SYSTEM.LCDOut_M SHRB 1
                        .LINE     100
                        LDI       _ACCA, SYSTEM.LCDOut_M SHRB 9
                        .LINE     101
                        ST        -Y, _ACCA
                        .LINE     102
                        ST        -Y, _ACCB
                        .LINE     103
                        LPM       _ACCBHI, Z+      ; Pascal-Längenbyte
                        WriteLCDLoop:
                        .LINE     105
                        LPM       _ACCA, Z+
                        .LINE     106
                        CALL     SYSTEM.Char2Str
                        .LINE     107
                        DEC       _ACCBHI
                        .LINE     108
                        BRNE      WriteLCDLoop
                        .LINE     109
                        POP       _FPTRHI
                        .LINE     110
                        POP       _FRAMEPTR
                        .endasm
                        .ENDBLOCK 112
SoftDDS.WriteLCD_X:
                        .LINE     112
                        .BRANCH   19
                        RET
                        .ENDFUNC  112

                        .FUNC     FastRepeatRelease, 114, 00020h
SoftDDS.FastRepeatRelease:
                        .BLOCK    116
                        .LINE     125
                        CLR       _ACCA
                        LDS       _ACCB, SoftDDS.BtnTime2
                        LDI       _ACCEHI, 000h
                        CP        _ACCEHI, _ACCB
                        BRCC      SoftDDS.L0057
                        DEC       _ACCB
                        STS       SoftDDS.BtnTime2, _ACCB
                        SER       _ACCA
SoftDDS.L0057:
SoftDDS.L0058:
                        .BLOCK    126
                        .LINE     127
                        LDS       _ACCA, SoftDDS.BtnTime
                        DEC       _ACCA
                        STS       SoftDDS.BtnTime, _ACCA
                        .LINE     128
                        LDS       _ACCA, SoftDDS.BtnTime2
                        CPI       _ACCA, 000h
                        LDI       _ACCA, 0h
                        BRNE      SoftDDS.L0061
                        SER       _ACCA
SoftDDS.L0061:
                        TST       _ACCA
                        .BRANCH   4,SoftDDS.L0064
                        BRNE      SoftDDS.L0064
                        .BRANCH   20,SoftDDS.L0062
                        RJMP      SoftDDS.L0062
SoftDDS.L0064:
                        .BLOCK    128
                        .LINE     129
                        LDI       _ACCA, 00004h SHRB 8
                        LDI       _ACCB, 00004h AND 0FFh
                        .FRAME  0
                        RCALL     SYSTEM.MDELAY
                        .ENDBLOCK 130
                        .BRANCH   20,SoftDDS.L0063
                        RJMP      SoftDDS.L0063
SoftDDS.L0062:
                        .BLOCK    130
                        .LINE     131
                        LDI       _ACCA, 0000Fh SHRB 8
                        LDI       _ACCB, 0000Fh AND 0FFh
                        .FRAME  0
                        RCALL     SYSTEM.MDELAY
                        .ENDBLOCK 132
SoftDDS.L0063:
                        .LINE     133
                        IN        _ACCA, PinD
                        STS       SOFTDDS.BTNINSTATE, _ACCA
                        .LINE     134
                        LDS       _ACCA, SoftDDS.BtnInState
                        ORI       _ACCA, 007h
                        MOV       SOFTDDS.I, _ACCA
                        .ENDBLOCK 135
                        .LINE     135
SoftDDS.L0059:
                        MOV       _ACCA, SoftDDS.i
                        CPI       _ACCA, 0FFh
                        LDI       _ACCA, 0h
                        BRNE      SoftDDS.L0065
                        SER       _ACCA
SoftDDS.L0065:
                        PUSH      _ACCA
                        LDS       _ACCA, SoftDDS.BtnTime
                        CPI       _ACCA, 000h
                        LDI       _ACCA, 0h
                        BRNE      SoftDDS.L0066
                        SER       _ACCA
SoftDDS.L0066:
                        POP       _ACCB
                        OR        _ACCA, _ACCB
                        TST       _ACCA
                        .BRANCH   4,SoftDDS.L0067
                        BRNE      SoftDDS.L0067
                        .BRANCH   20,SoftDDS.L0058
                        RJMP      SoftDDS.L0058
SoftDDS.L0067:
SoftDDS.L0060:
                        .LINE     136
                        MOV       _ACCA, SoftDDS.i
                        CPI       _ACCA, 0FFh
                        LDI       _ACCA, 0h
                        BRNE      SoftDDS.L0068
                        SER       _ACCA
SoftDDS.L0068:
                        TST       _ACCA
                        .BRANCH   4,SoftDDS.L0071
                        BRNE      SoftDDS.L0071
                        .BRANCH   20,SoftDDS.L0069
                        RJMP      SoftDDS.L0069
SoftDDS.L0071:
                        .BLOCK    137
                        .LINE     137
                        LDI       _ACCA, 028h
                        STS       SOFTDDS.BTNTIME, _ACCA
                        .LINE     138
                        LDI       _ACCA, 005h
                        STS       SOFTDDS.BTNTIME2, _ACCA
                        .ENDBLOCK 139
                        .BRANCH   20,SoftDDS.L0070
                        RJMP      SoftDDS.L0070
SoftDDS.L0069:
                        .BLOCK    139
                        .LINE     140
                        LDI       _ACCA, 00Ah
                        STS       SOFTDDS.BTNTIME, _ACCA
                        .ENDBLOCK 141
SoftDDS.L0070:
                        .ENDBLOCK 143
SoftDDS.FastRepeatRelease_X:
                        .LINE     143
                        .BRANCH   19
                        RET
                        .ENDFUNC  143

                        .FUNC     SlowRepeatRelease, 145, 00020h
SoftDDS.SlowRepeatRelease:
                        .BLOCK    146
                        .LINE     147
                        LDI       _ACCA, 0FFh
                        STS       SOFTDDS.BTNTIME2, _ACCA
                        .LINE     148
                        .BRANCH   17,SoftDDS.FASTREPEATRELEASE
                        RCALL     SoftDDS.FASTREPEATRELEASE
                        .ENDBLOCK 149
SoftDDS.SlowRepeatRelease_X:
                        .LINE     149
                        .BRANCH   19
                        RET
                        .ENDFUNC  149

                        .FUNC     NaviButton, 151, 00020h
SoftDDS.NaviButton:
                        .BLOCK    153
                        .LINE     154
                        IN        _ACCA, PinD
                        STS       SOFTDDS.BTNINSTATE, _ACCA
                        .LINE     155
                        LDS       _ACCA, SoftDDS.BtnInState
                        ORI       _ACCA, 067h
                        CPI       _ACCA, 0FFh
                        LDI       _ACCA, 0h
                        BREQ      SoftDDS.L0072
                        SER       _ACCA
SoftDDS.L0072:
                        STS       SOFTDDS.ABOOL, _ACCA
                        .LINE     156
                        LDS       _ACCA, SoftDDS.aBool
                        .ENDBLOCK 157
SoftDDS.NaviButton_X:
                        .LINE     157
                        .BRANCH   19
                        RET
                        .ENDFUNC  157

                        .FUNC     UpDownButton, 159, 00020h
SoftDDS.UpDownButton:
                        .BLOCK    161
                        .LINE     162
                        IN        _ACCA, PinD
                        STS       SOFTDDS.BTNINSTATE, _ACCA
                        .LINE     163
                        LDS       _ACCA, SoftDDS.BtnInState
                        ORI       _ACCA, 09Fh
                        CPI       _ACCA, 0FFh
                        LDI       _ACCA, 0h
                        BREQ      SoftDDS.L0073
                        SER       _ACCA
SoftDDS.L0073:
                        STS       SOFTDDS.ABOOL, _ACCA
                        .LINE     164
                        LDS       _ACCA, SoftDDS.aBool
                        .ENDBLOCK 165
SoftDDS.UpDownButton_X:
                        .LINE     165
                        .BRANCH   19
                        RET
                        .ENDFUNC  165


                        .FILE     H:\PROJAVR\DDS-KOMPAKT\DDS.pas
                        .FUNC     SetIncrValToEditValue, 368, 00020h
SoftDDS.SetIncrValToEditValue:
                        .BLOCK    369
                        .LINE     371
                        PUSH      _FRAMEPTR
                        PUSH      _FPTRHI
                        LDI       _ACCA, 000h
                        ST        -Y, _ACCA
                        .FRAME  1
                        LDS       _ACCA, SoftDDS.EditValue
                        MOV       _ACCB, _ACCA
                        CLR       _ACCA
                        LDI       _ACCALO, 002h
                        RCALL     SYSTEM.SHL16_R
                        ST        -Y, _ACCA
                        ST        -Y, _ACCB
                        .FRAME  3
                        .FRAME  0
                        RCALL     SYSTEM.SETINCRVAL4
                        POP       _FPTRHI
                        POP       _FRAMEPTR
                        .ENDBLOCK 375
SoftDDS.SetIncrValToEditValue_X:
                        .LINE     375
                        .BRANCH   19
                        RET
                        .ENDFUNC  375

                        .FUNC     CheckItemLimits, 377, 00020h
SoftDDS.CheckItemLimits:
                        .BLOCK    379
                        .LINE     380
                        LDS       _ACCA, SoftDDS.EditValue
                        CPI       _ACCA, 0FFh
                        LDI       _ACCA, 0h
                        BRNE      SoftDDS.L0074
                        SER       _ACCA
SoftDDS.L0074:
                        TST       _ACCA
                        .BRANCH   4,SoftDDS.L0077
                        BRNE      SoftDDS.L0077
                        .BRANCH   20,SoftDDS.L0075
                        RJMP      SoftDDS.L0075
SoftDDS.L0077:
                        .BLOCK    380
                        .LINE     381
                        LDI       _ACCA, 000h
                        STS       SOFTDDS.EDITVALUE, _ACCA
                        .ENDBLOCK 382
SoftDDS.L0075:
SoftDDS.L0076:
                        .LINE     383
                        LDS       _ACCA, SoftDDS.EditValue
                        PUSH      _ACCA
                        LDS       _ACCA, SoftDDS.ItemUpperLimit
                        POP       _ACCB
                        CP        _ACCB, _ACCA
                        LDI       _ACCA, 0h
                        BREQ      SoftDDS.L0078
                        BRLO      SoftDDS.L0078
                        SER       _ACCA
SoftDDS.L0078:
                        TST       _ACCA
                        .BRANCH   4,SoftDDS.L0081
                        BRNE      SoftDDS.L0081
                        .BRANCH   20,SoftDDS.L0079
                        RJMP      SoftDDS.L0079
SoftDDS.L0081:
                        .BLOCK    383
                        .LINE     384
                        LDS       _ACCA, SoftDDS.ItemUpperLimit
                        STS       SOFTDDS.EDITVALUE, _ACCA
                        .LINE     385
                        .BRANCH   17,SoftDDS.SETINCRVALTOEDITVALUE
                        RCALL     SoftDDS.SETINCRVALTOEDITVALUE
                        .ENDBLOCK 386
SoftDDS.L0079:
SoftDDS.L0080:
                        .LINE     387
                        LDS       _ACCA, SoftDDS.EditValue
                        PUSH      _ACCA
                        LDS       _ACCA, SoftDDS.ItemlowerLimit
                        POP       _ACCB
                        CP        _ACCB, _ACCA
                        LDI       _ACCA, 0FFh
                        BRLO      SoftDDS.L0082
                        CLR       _ACCA
SoftDDS.L0082:
                        TST       _ACCA
                        .BRANCH   4,SoftDDS.L0085
                        BRNE      SoftDDS.L0085
                        .BRANCH   20,SoftDDS.L0083
                        RJMP      SoftDDS.L0083
SoftDDS.L0085:
                        .BLOCK    387
                        .LINE     388
                        LDS       _ACCA, SoftDDS.ItemlowerLimit
                        STS       SOFTDDS.EDITVALUE, _ACCA
                        .LINE     389
                        .BRANCH   17,SoftDDS.SETINCRVALTOEDITVALUE
                        RCALL     SoftDDS.SETINCRVALTOEDITVALUE
                        .ENDBLOCK 390
SoftDDS.L0083:
SoftDDS.L0084:
                        .ENDBLOCK 391
SoftDDS.CheckItemLimits_X:
                        .LINE     391
                        .BRANCH   19
                        RET
                        .ENDFUNC  391

                        .FUNC     WriteItem, 394, 00020h
SoftDDS.WriteItem:
                        .BLOCK    396
                        .LINE     399
                        LDS       _ACCA, SoftDDS.digits
                        CPI       _ACCA, 001h
                        LDI       _ACCA, 0h
                        BREQ      SoftDDS.L0086
                        BRLO      SoftDDS.L0086
                        SER       _ACCA
SoftDDS.L0086:
                        TST       _ACCA
                        .BRANCH   4,SoftDDS.L0089
                        BRNE      SoftDDS.L0089
                        .BRANCH   20,SoftDDS.L0087
                        RJMP      SoftDDS.L0087
SoftDDS.L0089:
                        .BLOCK    399
                        .LINE     400
                        LDS       _ACCA, SoftDDS.DisplayValue
                        LDI       _ACCB, 064h
                        RCALL     SYSTEM.DIV8_R
                        MOV       _ACCA, _ACCB
                        MOV       SOFTDDS.K, _ACCA
                        .LINE     401
                        MOV       _ACCA, SoftDDS.k
                        LDI       _ACCB, 00Ah
                        RCALL     SYSTEM.DIV8_R
                        MOV       SOFTDDS.K, _ACCA
                        .LINE     402
                        MOV       _ACCA, SoftDDS.k
                        SUBI      _ACCA, -030h AND 0FFh
                        .FRAME  0
                        RCALL     SYSTEM.LCDOUT_M
                        .ENDBLOCK 403
SoftDDS.L0087:
SoftDDS.L0088:
                        .LINE     404
                        LDS       _ACCA, SoftDDS.DisplayValue
                        LDI       _ACCB, 00Ah
                        RCALL     SYSTEM.DIV8_R
                        MOV       _ACCA, _ACCB
                        MOV       SOFTDDS.K, _ACCA
                        .LINE     405
                        MOV       _ACCA, SoftDDS.k
                        SUBI      _ACCA, -030h AND 0FFh
                        .FRAME  0
                        RCALL     SYSTEM.LCDOUT_M
                        .ENDBLOCK 406
SoftDDS.WriteItem_X:
                        .LINE     406
                        .BRANCH   19
                        RET
                        .ENDFUNC  406

                        .FUNC     WriteWave, 409, 00020h
SoftDDS.WriteWave:
                        .BLOCK    411
                        .LINE     412
                        LDI       _ACCA, 00Ah
                        STS       SOFTDDS.DISPWHICH, _ACCA
                        .LINE     413
                        .BRANCH   17,SoftDDS.SETPOS
                        RCALL     SoftDDS.SETPOS
                        .LINE     414
                        LDS       _ACCA, SoftDDS.wave
                        .LINE     415
                        CPI       _ACCA, 0
                        .BRANCH   3,SoftDDS.L0093
                        BREQ      SoftDDS.L0093
                        .BRANCH   20,SoftDDS.L0092
                        RJMP      SoftDDS.L0092
SoftDDS.L0093:
SoftDDS.L0091:
                        .BLOCK    416
                        .LINE     416
                        PUSH      _FRAMEPTR
                        PUSH      _FPTRHI
                        LDI       _ACCCLO, SoftDDS.SinStr AND 0FFh
                        LDI       _ACCCHI, SoftDDS.SinStr SHRB 8
                        MOVW      _ACCB, _ACCCLO
                        ST        -Y, _ACCA
                        ST        -Y, _ACCB
                        .FRAME  2
                        .FRAME  0
                        .BRANCH   17,SoftDDS.WRITELCD
                        RCALL     SoftDDS.WRITELCD
                        POP       _FPTRHI
                        POP       _FRAMEPTR
                        .ENDBLOCK 417
                        .BRANCH   20,SoftDDS.L0090
                        RJMP      SoftDDS.L0090
SoftDDS.L0092:
                        .LINE     418
                        CPI       _ACCA, 1
                        .BRANCH   3,SoftDDS.L0096
                        BREQ      SoftDDS.L0096
                        .BRANCH   20,SoftDDS.L0095
                        RJMP      SoftDDS.L0095
SoftDDS.L0096:
SoftDDS.L0094:
                        .BLOCK    419
                        .LINE     419
                        PUSH      _FRAMEPTR
                        PUSH      _FPTRHI
                        LDI       _ACCCLO, SoftDDS.TriStr AND 0FFh
                        LDI       _ACCCHI, SoftDDS.TriStr SHRB 8
                        MOVW      _ACCB, _ACCCLO
                        ST        -Y, _ACCA
                        ST        -Y, _ACCB
                        .FRAME  2
                        .FRAME  0
                        .BRANCH   17,SoftDDS.WRITELCD
                        RCALL     SoftDDS.WRITELCD
                        POP       _FPTRHI
                        POP       _FRAMEPTR
                        .ENDBLOCK 420
                        .BRANCH   20,SoftDDS.L0090
                        RJMP      SoftDDS.L0090
SoftDDS.L0095:
                        .LINE     421
                        CPI       _ACCA, 2
                        .BRANCH   3,SoftDDS.L0099
                        BREQ      SoftDDS.L0099
                        .BRANCH   20,SoftDDS.L0098
                        RJMP      SoftDDS.L0098
SoftDDS.L0099:
SoftDDS.L0097:
                        .BLOCK    422
                        .LINE     422
                        PUSH      _FRAMEPTR
                        PUSH      _FPTRHI
                        LDI       _ACCCLO, SoftDDS.SquStr AND 0FFh
                        LDI       _ACCCHI, SoftDDS.SquStr SHRB 8
                        MOVW      _ACCB, _ACCCLO
                        ST        -Y, _ACCA
                        ST        -Y, _ACCB
                        .FRAME  2
                        .FRAME  0
                        .BRANCH   17,SoftDDS.WRITELCD
                        RCALL     SoftDDS.WRITELCD
                        POP       _FPTRHI
                        POP       _FRAMEPTR
                        .ENDBLOCK 423
                        .BRANCH   20,SoftDDS.L0090
                        RJMP      SoftDDS.L0090
SoftDDS.L0098:
                        .LINE     424
                        CPI       _ACCA, 3
                        .BRANCH   3,SoftDDS.L0102
                        BREQ      SoftDDS.L0102
                        .BRANCH   20,SoftDDS.L0101
                        RJMP      SoftDDS.L0101
SoftDDS.L0102:
SoftDDS.L0100:
                        .BLOCK    425
                        .LINE     425
                        PUSH      _FRAMEPTR
                        PUSH      _FPTRHI
                        LDI       _ACCCLO, SoftDDS.ExtStr AND 0FFh
                        LDI       _ACCCHI, SoftDDS.ExtStr SHRB 8
                        MOVW      _ACCB, _ACCCLO
                        ST        -Y, _ACCA
                        ST        -Y, _ACCB
                        .FRAME  2
                        .FRAME  0
                        .BRANCH   17,SoftDDS.WRITELCD
                        RCALL     SoftDDS.WRITELCD
                        POP       _FPTRHI
                        POP       _FRAMEPTR
                        .ENDBLOCK 426
                        .BRANCH   20,SoftDDS.L0090
                        RJMP      SoftDDS.L0090
SoftDDS.L0101:
SoftDDS.L0090:
                        .ENDBLOCK 428
SoftDDS.WriteWave_X:
                        .LINE     428
                        .BRANCH   19
                        RET
                        .ENDFUNC  428

                        .FUNC     WriteOutputMode1, 430, 00020h
SoftDDS.WriteOutputMode1:
                        .BLOCK    432
                        .LINE     433
                        LDS       _ACCA, SoftDDS.OutputMode
                        .LINE     434
                        CPI       _ACCA, 0
                        .BRANCH   3,SoftDDS.L0106
                        BREQ      SoftDDS.L0106
                        .BRANCH   20,SoftDDS.L0105
                        RJMP      SoftDDS.L0105
SoftDDS.L0106:
SoftDDS.L0104:
                        .BLOCK    435
                        .LINE     435
                        PUSH      _FRAMEPTR
                        PUSH      _FPTRHI
                        LDI       _ACCCLO, SoftDDS.NrmStr AND 0FFh
                        LDI       _ACCCHI, SoftDDS.NrmStr SHRB 8
                        MOVW      _ACCB, _ACCCLO
                        ST        -Y, _ACCA
                        ST        -Y, _ACCB
                        .FRAME  2
                        .FRAME  0
                        .BRANCH   17,SoftDDS.WRITELCD
                        RCALL     SoftDDS.WRITELCD
                        POP       _FPTRHI
                        POP       _FRAMEPTR
                        .ENDBLOCK 436
                        .BRANCH   20,SoftDDS.L0103
                        RJMP      SoftDDS.L0103
SoftDDS.L0105:
                        .LINE     437
                        CPI       _ACCA, 1
                        .BRANCH   3,SoftDDS.L0109
                        BREQ      SoftDDS.L0109
                        .BRANCH   20,SoftDDS.L0108
                        RJMP      SoftDDS.L0108
SoftDDS.L0109:
SoftDDS.L0107:
                        .BLOCK    438
                        .LINE     438
                        PUSH      _FRAMEPTR
                        PUSH      _FPTRHI
                        LDI       _ACCCLO, SoftDDS.SymStr AND 0FFh
                        LDI       _ACCCHI, SoftDDS.SymStr SHRB 8
                        MOVW      _ACCB, _ACCCLO
                        ST        -Y, _ACCA
                        ST        -Y, _ACCB
                        .FRAME  2
                        .FRAME  0
                        .BRANCH   17,SoftDDS.WRITELCD
                        RCALL     SoftDDS.WRITELCD
                        POP       _FPTRHI
                        POP       _FRAMEPTR
                        .ENDBLOCK 439
                        .BRANCH   20,SoftDDS.L0103
                        RJMP      SoftDDS.L0103
SoftDDS.L0108:
SoftDDS.L0103:
                        .ENDBLOCK 441
SoftDDS.WriteOutputMode1_X:
                        .LINE     441
                        .BRANCH   19
                        RET
                        .ENDFUNC  441

                        .FUNC     WriteOutputMode, 443, 00020h
SoftDDS.WriteOutputMode:
                        .BLOCK    445
                        .LINE     446
                        LDI       _ACCA, 00Ch
                        STS       SOFTDDS.DISPWHICH, _ACCA
                        .LINE     447
                        .BRANCH   17,SoftDDS.SETPOS
                        RCALL     SoftDDS.SETPOS
                        .LINE     448
                        .BRANCH   17,SoftDDS.WRITEOUTPUTMODE1
                        RCALL     SoftDDS.WRITEOUTPUTMODE1
                        .ENDBLOCK 449
SoftDDS.WriteOutputMode_X:
                        .LINE     449
                        .BRANCH   19
                        RET
                        .ENDFUNC  449

                        .FUNC     ShowFrequSpaced, 451, 00020h
SoftDDS.ShowFrequSpaced:
                        .BLOCK    454
                        .LINE     455
                        .BRANCH   17,SoftDDS.LCD1X0Y0
                        RCALL     SoftDDS.LCD1X0Y0
                        .LINE     456
                        PUSH      _FRAMEPTR
                        PUSH      _FPTRHI
                        LDI       _ACCCLO, SoftDDS.FrequStr AND 0FFh
                        LDI       _ACCCHI, SoftDDS.FrequStr SHRB 8
                        MOVW      _ACCB, _ACCCLO
                        ST        -Y, _ACCA
                        ST        -Y, _ACCB
                        .FRAME  2
                        .FRAME  0
                        .BRANCH   17,SoftDDS.WRITELCD
                        RCALL     SoftDDS.WRITELCD
                        POP       _FPTRHI
                        POP       _FRAMEPTR
                        .LINE     457
                        .BRANCH   17,SoftDDS.LCD1X0Y1
                        RCALL     SoftDDS.LCD1X0Y1
                        .LINE     458
                        LDI       _ACCCLO, SoftDDS.i AND 0FFh
                        LDI       _ACCCHI, SoftDDS.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
SoftDDS.L0112:
                        LDD       _ACCB, Y+000h
                        CP        _ACCB, _ACCA
                        LDI       _ACCA, 0FFh
                        BRLO      SoftDDS.L0113
                        CLR       _ACCA
SoftDDS.L0113:
                        TST       _ACCA
                        .BRANCH   3,SoftDDS.L0114
                        BREQ      SoftDDS.L0114
                        .BRANCH   20,SoftDDS.L0111
                        RJMP      SoftDDS.L0111
SoftDDS.L0114:
                        .BLOCK    459
                        .LINE     459
                        MOV       _ACCA, SoftDDS.i
                        LDI       _ACCCLO, SoftDDS.EditArray AND 0FFh
                        LDI       _ACCCHI, SoftDDS.EditArray SHRB 8
                        ANDI      _ACCA, 15
                        CLR       _ACCB
                        ADD       _ACCCLO, _ACCA
                        ADC       _ACCCHI, _ACCB
                        LD        _ACCA, Z
                        MOV       SOFTDDS.K, _ACCA
                        .LINE     460
                        MOV       _ACCA, SoftDDS.k
                        SUBI      _ACCA, -030h AND 0FFh
                        .FRAME  3
                        RCALL     SYSTEM.LCDOUT_M
                        .LINE     461
                        MOV       _ACCA, SoftDDS.i
                        CPI       _ACCA, 006h
                        LDI       _ACCA, 0h
                        BRNE      SoftDDS.L0115
                        SER       _ACCA
SoftDDS.L0115:
                        TST       _ACCA
                        .BRANCH   4,SoftDDS.L0118
                        BRNE      SoftDDS.L0118
                        .BRANCH   20,SoftDDS.L0116
                        RJMP      SoftDDS.L0116
SoftDDS.L0118:
                        .BLOCK    461
                        .LINE     462
                        LDI       _ACCA, 02Eh
                        .FRAME  3
                        RCALL     SYSTEM.LCDOUT_M
                        .ENDBLOCK 463
                        .BRANCH   20,SoftDDS.L0117
                        RJMP      SoftDDS.L0117
SoftDDS.L0116:
                        .BLOCK    463
                        .LINE     464
                        LDI       _ACCA, 020h
                        .FRAME  3
                        RCALL     SYSTEM.LCDOUT_M
                        .ENDBLOCK 465
SoftDDS.L0117:
                        .ENDBLOCK 466
SoftDDS.L0110:
                        .LINE     466
                        LDD       _ACCCLO, Y+001h
                        LDD       _ACCCHI, Y+002h
                        LD        _ACCA, Z
                        INC       _ACCA
                        ST        Z, _ACCA
                        TST       _ACCA
                        .BRANCH   3,SoftDDS.L0111
                        BREQ      SoftDDS.L0111
                        .BRANCH   20,SoftDDS.L0112
                        RJMP      SoftDDS.L0112
SoftDDS.L0111:
                        ADIW      _FRAMEPTR, 3
                        .FRAME  0
                        .ENDBLOCK 467
SoftDDS.ShowFrequSpaced_X:
                        .LINE     467
                        .BRANCH   19
                        RET
                        .ENDFUNC  467

                        .FUNC     WriteFrequency, 470, 00020h
SoftDDS.WriteFrequency:
                        SBIW      _FRAMEPTR, 1
                        .BLOCK    473
                        .LINE     474
                        LDI       _ACCA, 00Eh
                        STS       SOFTDDS.DISPWHICH, _ACCA
                        .LINE     475
                        .BRANCH   17,SoftDDS.SETPOS
                        RCALL     SoftDDS.SETPOS
                        .LINE     476
                        LDI       _ACCA, 0FFh
                        STD       Y+000h, _ACCA
                        .LINE     477
                        LDI       _ACCCLO, SoftDDS.i AND 0FFh
                        LDI       _ACCCHI, SoftDDS.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
SoftDDS.L0121:
                        LDD       _ACCB, Y+000h
                        CP        _ACCB, _ACCA
                        LDI       _ACCA, 0FFh
                        BRLO      SoftDDS.L0122
                        CLR       _ACCA
SoftDDS.L0122:
                        TST       _ACCA
                        .BRANCH   3,SoftDDS.L0123
                        BREQ      SoftDDS.L0123
                        .BRANCH   20,SoftDDS.L0120
                        RJMP      SoftDDS.L0120
SoftDDS.L0123:
                        .BLOCK    478
                        .LINE     478
                        MOV       _ACCA, SoftDDS.i
                        LDI       _ACCCLO, SoftDDS.EditArray AND 0FFh
                        LDI       _ACCCHI, SoftDDS.EditArray SHRB 8
                        ANDI      _ACCA, 15
                        CLR       _ACCB
                        ADD       _ACCCLO, _ACCA
                        ADC       _ACCCHI, _ACCB
                        LD        _ACCA, Z
                        STS       SOFTDDS.DISPLAYVALUE, _ACCA
                        .LINE     479
                        LDS       _ACCA, SoftDDS.DisplayValue
                        CPI       _ACCA, 000h
                        LDI       _ACCA, 0h
                        BREQ      SoftDDS.L0124
                        SER       _ACCA
SoftDDS.L0124:
                        TST       _ACCA
                        .BRANCH   4,SoftDDS.L0127
                        BRNE      SoftDDS.L0127
                        .BRANCH   20,SoftDDS.L0125
                        RJMP      SoftDDS.L0125
SoftDDS.L0127:
                        .BLOCK    479
                        .LINE     480
                        LDI       _ACCA, 000h
                        STD       Y+003h, _ACCA
                        .ENDBLOCK 481
SoftDDS.L0125:
SoftDDS.L0126:
                        .LINE     482
                        LDS       _ACCA, SoftDDS.DisplayValue
                        CPI       _ACCA, 000h
                        LDI       _ACCA, 0h
                        BRNE      SoftDDS.L0128
                        SER       _ACCA
SoftDDS.L0128:
                        PUSH      _ACCA
                        LDD       _ACCA, Y+003h
                        POP       _ACCB
                        AND       _ACCA, _ACCB
                        TST       _ACCA
                        .BRANCH   4,SoftDDS.L0131
                        BRNE      SoftDDS.L0131
                        .BRANCH   20,SoftDDS.L0129
                        RJMP      SoftDDS.L0129
SoftDDS.L0131:
                        .BLOCK    482
                        .LINE     483
                        LDI       _ACCA, 020h
                        .FRAME  3
                        RCALL     SYSTEM.LCDOUT_M
                        .ENDBLOCK 484
                        .BRANCH   20,SoftDDS.L0130
                        RJMP      SoftDDS.L0130
SoftDDS.L0129:
                        .BLOCK    484
                        .LINE     485
                        LDS       _ACCA, SoftDDS.DisplayValue
                        SUBI      _ACCA, -030h AND 0FFh
                        .FRAME  3
                        RCALL     SYSTEM.LCDOUT_M
                        .ENDBLOCK 486
SoftDDS.L0130:
                        .ENDBLOCK 487
SoftDDS.L0119:
                        .LINE     487
                        LDD       _ACCCLO, Y+001h
                        LDD       _ACCCHI, Y+002h
                        LD        _ACCA, Z
                        INC       _ACCA
                        ST        Z, _ACCA
                        TST       _ACCA
                        .BRANCH   3,SoftDDS.L0120
                        BREQ      SoftDDS.L0120
                        .BRANCH   20,SoftDDS.L0121
                        RJMP      SoftDDS.L0121
SoftDDS.L0120:
                        ADIW      _FRAMEPTR, 3
                        .FRAME  0
                        .LINE     488
                        LDI       _ACCA, 02Eh
                        .FRAME  0
                        RCALL     SYSTEM.LCDOUT_M
                        .LINE     489
                        LDS       _ACCA, SoftDDS.FrequDez
                        STS       SOFTDDS.DISPLAYVALUE, _ACCA
                        .LINE     490
                        LDS       _ACCA, SoftDDS.DisplayValue
                        SUBI      _ACCA, -030h AND 0FFh
                        .FRAME  0
                        RCALL     SYSTEM.LCDOUT_M
                        .LINE     491
                        PUSH      _FRAMEPTR
                        PUSH      _FPTRHI
                        LDI       _ACCCLO, SoftDDS.HzStr AND 0FFh
                        LDI       _ACCCHI, SoftDDS.HzStr SHRB 8
                        MOVW      _ACCB, _ACCCLO
                        ST        -Y, _ACCA
                        ST        -Y, _ACCB
                        .FRAME  2
                        .FRAME  0
                        .BRANCH   17,SoftDDS.WRITELCD
                        RCALL     SoftDDS.WRITELCD
                        POP       _FPTRHI
                        POP       _FRAMEPTR
                        .ENDBLOCK 492
SoftDDS.WriteFrequency_X:
                        .LINE     492
                        .BRANCH   19
                        RET
                        .ENDFUNC  492

                        .FUNC     WriteLevelmV, 494, 00020h
SoftDDS.WriteLevelmV:
                        SBIW      _FRAMEPTR, 3
                        .BLOCK    500
                        .LINE     501
                        LDI       _ACCA, 00Fh
                        STS       SOFTDDS.DISPWHICH, _ACCA
                        .LINE     502
                        .BRANCH   17,SoftDDS.SETPOS
                        RCALL     SoftDDS.SETPOS
                        .LINE     504
                        LDS       _ACCA, SoftDDS.LeveldB
                        PUSH      _ACCA
                        LDS       _ACCA, SoftDDS.GainOffset
                        POP       _ACCB
                        ADD       _ACCA, _ACCB
                        SUBI      _ACCA, -00Ah AND 0FFh
                        STD       Y+001h, _ACCA
                        .LINE     506
                        LDD       _ACCA, Y+001h
                        LDI       _ACCB, 014h
                        RCALL     SYSTEM.DIV8_R
                        MOV       _ACCA, _ACCB
                        MOV       SOFTDDS.I, _ACCA
                        .LINE     507
                        LDD       _ACCA, Y+001h
                        SUBI      _ACCA, -00Ah AND 0FFh
                        LDI       _ACCB, 014h
                        RCALL     SYSTEM.DIV8_R
                        SUBI      _ACCA, -002h AND 0FFh
                        MOV       SOFTDDS.K, _ACCA
                        .LINE     508
                        LDI       _ACCA, 06Dh
                        STD       Y+000h, _ACCA
                        .LINE     509
                        LDI       _ACCCLO, SoftDDS.LevelStr AND 0FFh
                        LDI       _ACCCHI, SoftDDS.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, SoftDDS.i
                        LDI       _ACCCLO, SoftDDS.dBfac AND 0FFh
                        LDI       _ACCCHI, SoftDDS.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     513
                        LDD       _ACCA, Y+001h
                        .LINE     514
                        CPI       _ACCA, 10
                        .BRANCH   2,SoftDDS.L0135
                        BRCC      SoftDDS.L0135
                        .BRANCH   20,SoftDDS.L0134
                        RJMP      SoftDDS.L0134
SoftDDS.L0135:
                        CPI       _ACCA, 29
                        .BRANCH   3,SoftDDS.L0136
                        BREQ      SoftDDS.L0136
                        .BRANCH   1,SoftDDS.L0134
                        BRCS      SoftDDS.L0136
                        .BRANCH   20,SoftDDS.L0134
                        RJMP      SoftDDS.L0134
SoftDDS.L0136:
SoftDDS.L0133:
                        .BLOCK    515
                        .LINE     515
                        MOV       _ACCA, SoftDDS.k
                        SUBI      _ACCA, -003h AND 0FFh
                        MOV       SOFTDDS.K, _ACCA
                        .LINE     516
                        LDI       _ACCCLO, $St_String23 AND 0FFh
                        LDI       _ACCCHI, $St_String23 SHRB 8
                        PUSH      _ACCCLO
                        PUSH      _ACCCHI
                        LDI       _ACCCLO, SoftDDS.LevelStr AND 0FFh
                        LDI       _ACCCHI, SoftDDS.LevelStr SHRB 8
                        PUSH      _ACCCLO
                        PUSH      _ACCCHI
                        LDI       _ACCA, 007h
                        PUSH      _ACCA
                        MOV       _ACCA, SoftDDS.k
                        LDI       _ACCFHI, 002h
                        RCALL     SYSTEM.StringInsert
                        .LINE     517
                        LDI       _ACCA, 0E4h
                        STD       Y+000h, _ACCA
                        .ENDBLOCK 518
                        .BRANCH   20,SoftDDS.L0132
                        RJMP      SoftDDS.L0132
SoftDDS.L0134:
                        .LINE     519
                        CPI       _ACCA, 30
                        .BRANCH   2,SoftDDS.L0139
                        BRCC      SoftDDS.L0139
                        .BRANCH   20,SoftDDS.L0138
                        RJMP      SoftDDS.L0138
SoftDDS.L0139:
                        CPI       _ACCA, 89
                        .BRANCH   3,SoftDDS.L0140
                        BREQ      SoftDDS.L0140
                        .BRANCH   1,SoftDDS.L0138
                        BRCS      SoftDDS.L0140
                        .BRANCH   20,SoftDDS.L0138
                        RJMP      SoftDDS.L0138
SoftDDS.L0140:
SoftDDS.L0137:
                        .BLOCK    520
                        .LINE     520
                        LDI       _ACCCLO, $St_String23 AND 0FFh
                        LDI       _ACCCHI, $St_String23 SHRB 8
                        PUSH      _ACCCLO
                        PUSH      _ACCCHI
                        LDI       _ACCCLO, SoftDDS.LevelStr AND 0FFh
                        LDI       _ACCCHI, SoftDDS.LevelStr SHRB 8
                        PUSH      _ACCCLO
                        PUSH      _ACCCHI
                        LDI       _ACCA, 007h
                        PUSH      _ACCA
                        MOV       _ACCA, SoftDDS.k
                        LDI       _ACCFHI, 002h
                        RCALL     SYSTEM.StringInsert
                        .ENDBLOCK 521
                        .BRANCH   20,SoftDDS.L0132
                        RJMP      SoftDDS.L0132
SoftDDS.L0138:
                        .LINE     522
                        CPI       _ACCA, 90
                        .BRANCH   2,SoftDDS.L0143
                        BRCC      SoftDDS.L0143
                        .BRANCH   20,SoftDDS.L0142
                        RJMP      SoftDDS.L0142
SoftDDS.L0143:
                        CPI       _ACCA, 109
                        .BRANCH   3,SoftDDS.L0144
                        BREQ      SoftDDS.L0144
                        .BRANCH   1,SoftDDS.L0142
                        BRCS      SoftDDS.L0144
                        .BRANCH   20,SoftDDS.L0142
                        RJMP      SoftDDS.L0142
SoftDDS.L0144:
SoftDDS.L0141:
                        .BLOCK    523
                        .LINE     523
                        LDI       _ACCCLO, $St_String23 AND 0FFh
                        LDI       _ACCCHI, $St_String23 SHRB 8
                        PUSH      _ACCCLO
                        PUSH      _ACCCHI
                        LDI       _ACCCLO, SoftDDS.LevelStr AND 0FFh
                        LDI       _ACCCHI, SoftDDS.LevelStr SHRB 8
                        PUSH      _ACCCLO
                        PUSH      _ACCCHI
                        LDI       _ACCA, 007h
                        PUSH      _ACCA
                        LDI       _ACCA, 004h
                        LDI       _ACCFHI, 002h
                        RCALL     SYSTEM.StringInsert
                        .LINE     524
                        LDI       _ACCA, 020h
                        STD       Y+000h, _ACCA
                        .ENDBLOCK 525
                        .BRANCH   20,SoftDDS.L0132
                        RJMP      SoftDDS.L0132
SoftDDS.L0142:
                        .LINE     526
                        CPI       _ACCA, 110
                        .BRANCH   3,SoftDDS.L0147
                        BREQ      SoftDDS.L0147
                        .BRANCH   20,SoftDDS.L0146
                        RJMP      SoftDDS.L0146
SoftDDS.L0147:
SoftDDS.L0145:
                        .BLOCK    527
                        .LINE     527
                        LDI       _ACCCLO, $St_String23 AND 0FFh
                        LDI       _ACCCHI, $St_String23 SHRB 8
                        PUSH      _ACCCLO
                        PUSH      _ACCCHI
                        LDI       _ACCCLO, SoftDDS.LevelStr AND 0FFh
                        LDI       _ACCCHI, SoftDDS.LevelStr SHRB 8
                        PUSH      _ACCCLO
                        PUSH      _ACCCHI
                        LDI       _ACCA, 007h
                        PUSH      _ACCA
                        LDI       _ACCA, 005h
                        LDI       _ACCFHI, 002h
                        RCALL     SYSTEM.StringInsert
                        .LINE     528
                        LDI       _ACCA, 020h
                        STD       Y+000h, _ACCA
                        .ENDBLOCK 529
                        .BRANCH   20,SoftDDS.L0132
                        RJMP      SoftDDS.L0132
SoftDDS.L0146:
SoftDDS.L0132:
                        .LINE     531
                        LDI       _ACCA, 020h
                        .FRAME  0
                        RCALL     SYSTEM.LCDOUT_M
                        .LINE     532
                        LDI       _ACCA, 020h
                        .FRAME  0
                        RCALL     SYSTEM.LCDOUT_M
                        .LINE     533
                        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, SoftDDS.LevelStr AND 0FFh
                        LDI       _ACCCHI, SoftDDS.LevelStr SHRB 8
                        RCALL     SYSTEM.StrVar2Str
                        POP       _FPTRHI
                        POP       _FRAMEPTR
                        .FRAME  0
                        .LINE     534
                        LDI       _ACCA, 020h
                        .FRAME  0
                        RCALL     SYSTEM.LCDOUT_M
                        .LINE     535
                        LDD       _ACCA, Y+000h
                        .FRAME  0
                        RCALL     SYSTEM.LCDOUT_M
                        .LINE     536
                        LDI       _ACCA, 056h
                        .FRAME  0
                        RCALL     SYSTEM.LCDOUT_M
                        .ENDBLOCK 537
SoftDDS.WriteLevelmV_X:
                        .LINE     537
                        .BRANCH   19
                        RET
                        .ENDFUNC  537

                        .FUNC     WriteLeveldB, 539, 00020h
SoftDDS.WriteLeveldB:
                        SBIW      _FRAMEPTR, 2
                        .BLOCK    542
                        .LINE     543
                        LDI       _ACCA, 009h
                        STS       SOFTDDS.DISPWHICH, _ACCA
                        .LINE     544
                        .BRANCH   17,SoftDDS.SETPOS
                        RCALL     SoftDDS.SETPOS
                        .LINE     547
                        LDS       _ACCA, SoftDDS.LeveldB
                        MOV       _ACCB, _ACCA
                        CLR       _ACCA
                        SUBI      _ACCB, 00046h AND 0FFh
                        SBCI      _ACCA, 00046h SHRB 8
                        PUSH      _ACCB
                        PUSH      _ACCA
                        LDS       _ACCA, SoftDDS.GainOffset
                        MOV       _ACCB, _ACCA
                        CLR       _ACCA
                        POP       _ACCAHI
                        POP       _ACCALO
                        ADD       _ACCB, _ACCALO
                        ADC       _ACCA, _ACCAHI
                        STD       Y+001h, _ACCA
                        STD       Y+000h, _ACCB
                        .LINE     548
                        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     549
                        PUSH      _FRAMEPTR
                        PUSH      _FPTRHI
                        LDI       _ACCCLO, SoftDDS.dBStr AND 0FFh
                        LDI       _ACCCHI, SoftDDS.dBStr SHRB 8
                        MOVW      _ACCB, _ACCCLO
                        ST        -Y, _ACCA
                        ST        -Y, _ACCB
                        .FRAME  2
                        .FRAME  0
                        .BRANCH   17,SoftDDS.WRITELCD
                        RCALL     SoftDDS.WRITELCD
                        POP       _FPTRHI
                        POP       _FRAMEPTR
                        .ENDBLOCK 550
SoftDDS.WriteLeveldB_X:
                        .LINE     550
                        .BRANCH   19
                        RET
                        .ENDFUNC  550

                        .FUNC     ShowOptionsLower, 554, 00020h
SoftDDS.ShowOptionsLower:
                        .BLOCK    556
                        .LINE     557
                        .BRANCH   17,SoftDDS.WRITEWAVE
                        RCALL     SoftDDS.WRITEWAVE
                        .LINE     558
                        LDI       _ACCA, 020h
                        .FRAME  0
                        RCALL     SYSTEM.LCDOUT_M
                        .LINE     559
                        LDI       _ACCA, 00Bh
                        STS       SOFTDDS.DISPWHICH, _ACCA
                        .LINE     560
                        .BRANCH   17,SoftDDS.SETPOS
                        RCALL     SoftDDS.SETPOS
                        .LINE     561
                        LDS       _ACCA, SoftDDS.Adj
                        STS       SOFTDDS.DISPLAYVALUE, _ACCA
                        .LINE     562
                        .BRANCH   17,SoftDDS.WRITEITEM
                        RCALL     SoftDDS.WRITEITEM
                        .LINE     563
                        LDI       _ACCA, 020h
                        .FRAME  0
                        RCALL     SYSTEM.LCDOUT_M
                        .LINE     564
                        .BRANCH   17,SoftDDS.WRITEOUTPUTMODE
                        RCALL     SoftDDS.WRITEOUTPUTMODE
                        .LINE     565
                        LDI       _ACCA, 020h
                        .FRAME  0
                        RCALL     SYSTEM.LCDOUT_M
                        .LINE     566
                        LDI       _ACCA, 020h
                        .FRAME  0
                        RCALL     SYSTEM.LCDOUT_M
                        .LINE     567
                        LDI       _ACCA, 00Dh
                        STS       SOFTDDS.DISPWHICH, _ACCA
                        .LINE     568
                        .BRANCH   17,SoftDDS.SETPOS
                        RCALL     SoftDDS.SETPOS
                        .LINE     569
                        LDS       _ACCA, SoftDDS.BurstMode
                        STS       SOFTDDS.DISPLAYVALUE, _ACCA
                        .LINE     570
                        LDI       _ACCA, 001h
                        STS       SOFTDDS.DIGITS, _ACCA
                        .LINE     571
                        .BRANCH   17,SoftDDS.WRITEITEM
                        RCALL     SoftDDS.WRITEITEM
                        .LINE     572
                        LDI       _ACCA, 030h
                        .FRAME  0
                        RCALL     SYSTEM.LCDOUT_M
                        .LINE     573
                        LDI       _ACCA, 020h
                        .FRAME  0
                        RCALL     SYSTEM.LCDOUT_M
                        .LINE     574
                        LDI       _ACCA, 002h
                        STS       SOFTDDS.DIGITS, _ACCA
                        .ENDBLOCK 575
SoftDDS.ShowOptionsLower_X:
                        .LINE     575
                        .BRANCH   19
                        RET
                        .ENDFUNC  575

                        .FUNC     ShowOptions, 577, 00020h
SoftDDS.ShowOptions:
                        .BLOCK    579
                        .LINE     580
                        .BRANCH   17,SoftDDS.LCD1X0Y0
                        RCALL     SoftDDS.LCD1X0Y0
                        .LINE     581
                        PUSH      _FRAMEPTR
                        PUSH      _FPTRHI
                        LDI       _ACCCLO, SoftDDS.OptStr AND 0FFh
                        LDI       _ACCCHI, SoftDDS.OptStr SHRB 8
                        MOVW      _ACCB, _ACCCLO
                        ST        -Y, _ACCA
                        ST        -Y, _ACCB
                        .FRAME  2
                        .FRAME  0
                        .BRANCH   17,SoftDDS.WRITELCD
                        RCALL     SoftDDS.WRITELCD
                        POP       _FPTRHI
                        POP       _FRAMEPTR
                        .LINE     582
                        .BRANCH   17,SoftDDS.SHOWOPTIONSLOWER
                        RCALL     SoftDDS.SHOWOPTIONSLOWER
                        .ENDBLOCK 583
SoftDDS.ShowOptions_X:
                        .LINE     583
                        .BRANCH   19
                        RET
                        .ENDFUNC  583

                        .FUNC     ShowDefaultUpper, 585, 00020h
SoftDDS.ShowDefaultUpper:
                        .BLOCK    587
                        .LINE     588
                        LDI       _ACCA, 008h
                        STS       SOFTDDS.DISPWHICH, _ACCA
                        .LINE     589
                        LDI       _ACCA, 002h
                        STS       SOFTDDS.DIGITS, _ACCA
                        .LINE     590
                        LDS       _ACCA, SoftDDS.PresetOn
                        TST       _ACCA
                        .BRANCH   4,SoftDDS.L0150
                        BRNE      SoftDDS.L0150
                        .BRANCH   20,SoftDDS.L0148
                        RJMP      SoftDDS.L0148
SoftDDS.L0150:
                        .BLOCK    590
                        .LINE     591
                        LDS       _ACCA, SoftDDS.PresetNum
                        STS       SOFTDDS.DISPLAYVALUE, _ACCA
                        .LINE     592
                        .BRANCH   17,SoftDDS.LCD1X0Y0
                        RCALL     SoftDDS.LCD1X0Y0
                        .LINE     593
                        LDS       _ACCA, SoftDDS.PresetNum
                        CPI       _ACCA, 000h
                        LDI       _ACCA, 0h
                        BRNE      SoftDDS.L0151
                        SER       _ACCA
SoftDDS.L0151:
                        TST       _ACCA
                        .BRANCH   4,SoftDDS.L0154
                        BRNE      SoftDDS.L0154
                        .BRANCH   20,SoftDDS.L0152
                        RJMP      SoftDDS.L0152
SoftDDS.L0154:
                        .BLOCK    593
                        .LINE     594
                        PUSH      _FRAMEPTR
                        PUSH      _FPTRHI
                        LDI       _ACCCLO, SoftDDS.PresetStr AND 0FFh
                        LDI       _ACCCHI, SoftDDS.PresetStr SHRB 8
                        MOVW      _ACCB, _ACCCLO
                        ST        -Y, _ACCA
                        ST        -Y, _ACCB
                        .FRAME  2
                        .FRAME  0
                        .BRANCH   17,SoftDDS.WRITELCD
                        RCALL     SoftDDS.WRITELCD
                        POP       _FPTRHI
                        POP       _FRAMEPTR
                        .ENDBLOCK 595
                        .BRANCH   20,SoftDDS.L0153
                        RJMP      SoftDDS.L0153
SoftDDS.L0152:
                        .BLOCK    595
                        .LINE     596
                        PUSH      _FRAMEPTR
                        PUSH      _FPTRHI
                        LDI       _ACCCLO, SoftDDS.TerzStr AND 0FFh
                        LDI       _ACCCHI, SoftDDS.TerzStr SHRB 8
                        MOVW      _ACCB, _ACCCLO
                        ST        -Y, _ACCA
                        ST        -Y, _ACCB
                        .FRAME  2
                        .FRAME  0
                        .BRANCH   17,SoftDDS.WRITELCD
                        RCALL     SoftDDS.WRITELCD
                        POP       _FPTRHI
                        POP       _FRAMEPTR
                        .ENDBLOCK 597
SoftDDS.L0153:
                        .LINE     598
                        .BRANCH   17,SoftDDS.WRITEITEM
                        RCALL     SoftDDS.WRITEITEM
                        .ENDBLOCK 599
                        .BRANCH   20,SoftDDS.L0149
                        RJMP      SoftDDS.L0149
SoftDDS.L0148:
                        .BLOCK    599
                        .LINE     600
                        .BRANCH   17,SoftDDS.LCD1X0Y0
                        RCALL     SoftDDS.LCD1X0Y0
                        .LINE     601
                        PUSH      _FRAMEPTR
                        PUSH      _FPTRHI
                        LDI       _ACCCLO, SoftDDS.MemStr AND 0FFh
                        LDI       _ACCCHI, SoftDDS.MemStr SHRB 8
                        MOVW      _ACCB, _ACCCLO
                        ST        -Y, _ACCA
                        ST        -Y, _ACCB
                        .FRAME  2
                        .FRAME  0
                        .BRANCH   17,SoftDDS.WRITELCD
                        RCALL     SoftDDS.WRITELCD
                        POP       _FPTRHI
                        POP       _FRAMEPTR
                        .LINE     602
                        LDS       _ACCA, SoftDDS.PatchNum
                        STS       SOFTDDS.DISPLAYVALUE, _ACCA
                        .LINE     603
                        .BRANCH   17,SoftDDS.WRITEITEM
                        RCALL     SoftDDS.WRITEITEM
                        .ENDBLOCK 604
SoftDDS.L0149:
                        .LINE     605
                        LDI       _ACCA, 020h
                        .FRAME  0
                        RCALL     SYSTEM.LCDOUT_M
                        .LINE     606
                        PUSH      _FRAMEPTR
                        PUSH      _FPTRHI
                        .BRANCH   17,SoftDDS.WRITELEVELDB
                        RCALL     SoftDDS.WRITELEVELDB
                        POP       _FPTRHI
                        POP       _FRAMEPTR
                        .LINE     607
                        .BRANCH   17,SoftDDS.SETCURSOR
                        RCALL     SoftDDS.SETCURSOR
                        .ENDBLOCK 608
SoftDDS.ShowDefaultUpper_X:
                        .LINE     608
                        .BRANCH   19
                        RET
                        .ENDFUNC  608

                        .FUNC     ShowDefaultLower, 610, 00020h
SoftDDS.ShowDefaultLower:
                        .BLOCK    612
                        .LINE     613
                        .BRANCH   17,SoftDDS.LCD1X0Y1
                        RCALL     SoftDDS.LCD1X0Y1
                        .LINE     614
                        LDI       _ACCA, 000h
                        .FRAME  0
                        RCALL     SYSTEM.LCDCLREOL_M
                        .LINE     615
                        LDS       _ACCA, SoftDDS.EditWhich
                        CPI       _ACCA, 009h
                        LDI       _ACCA, 0h
                        BRNE      SoftDDS.L0155
                        SER       _ACCA
SoftDDS.L0155:
                        TST       _ACCA
                        .BRANCH   4,SoftDDS.L0158
                        BRNE      SoftDDS.L0158
                        .BRANCH   20,SoftDDS.L0156
                        RJMP      SoftDDS.L0156
SoftDDS.L0158:
                        .BLOCK    615
                        .LINE     616
                        .BRANCH   17,SoftDDS.WRITEOUTPUTMODE1
                        RCALL     SoftDDS.WRITEOUTPUTMODE1
                        .LINE     617
                        PUSH      _FRAMEPTR
                        PUSH      _FPTRHI
                        .BRANCH   17,SoftDDS.WRITELEVELMV
                        RCALL     SoftDDS.WRITELEVELMV
                        POP       _FPTRHI
                        POP       _FRAMEPTR
                        .ENDBLOCK 618
                        .BRANCH   20,SoftDDS.L0157
                        RJMP      SoftDDS.L0157
SoftDDS.L0156:
                        .BLOCK    618
                        .LINE     619
                        .BRANCH   17,SoftDDS.WRITEWAVE
                        RCALL     SoftDDS.WRITEWAVE
                        .LINE     620
                        PUSH      _FRAMEPTR
                        PUSH      _FPTRHI
                        .BRANCH   17,SoftDDS.WRITEFREQUENCY
                        RCALL     SoftDDS.WRITEFREQUENCY
                        POP       _FPTRHI
                        POP       _FRAMEPTR
                        .ENDBLOCK 621
SoftDDS.L0157:
                        .ENDBLOCK 622
SoftDDS.ShowDefaultLower_X:
                        .LINE     622
                        .BRANCH   19
                        RET
                        .ENDFUNC  622

                        .FUNC     ShowDefault, 624, 00020h
SoftDDS.ShowDefault:
                        .BLOCK    626
                        .LINE     627
                        .BRANCH   17,SoftDDS.SHOWDEFAULTUPPER
                        RCALL     SoftDDS.SHOWDEFAULTUPPER
                        .LINE     628
                        .BRANCH   17,SoftDDS.SHOWDEFAULTLOWER
                        RCALL     SoftDDS.SHOWDEFAULTLOWER
                        .ENDBLOCK 629
SoftDDS.ShowDefault_X:
                        .LINE     629
                        .BRANCH   19
                        RET
                        .ENDFUNC  629

                        .FUNC     BurstGen, 632, 00020h
SoftDDS.BurstGen:
                        .BLOCK    634
                        .LINE     635
                        LDS       _ACCA, SoftDDS.BurstMode
                        CPI       _ACCA, 000h
                        LDI       _ACCA, 0h
                        BREQ      SoftDDS.L0159
                        SER       _ACCA
SoftDDS.L0159:
                        TST       _ACCA
                        .BRANCH   4,SoftDDS.L0162
                        BRNE      SoftDDS.L0162
                        .BRANCH   20,SoftDDS.L0160
                        RJMP      SoftDDS.L0160
SoftDDS.L0162:
                        .BLOCK    635
                        .LINE     636
                        SER       _ACCA
                        LDS       _ACCB, SoftDDS.BurstTimer
                        TST       _ACCB
                        BREQ      SoftDDS.L0163
                        COM       _ACCA
SoftDDS.L0163:
                        TST       _ACCA
                        .BRANCH   4,SoftDDS.L0166
                        BRNE      SoftDDS.L0166
                        .BRANCH   20,SoftDDS.L0164
                        RJMP      SoftDDS.L0164
SoftDDS.L0166:
                        .BLOCK    636
                        .LINE     637
                        LDI       _ACCA, 001h
                        STS       SoftDDS.BurstTimer, _ACCA
                        .LINE     638
                        LDS       _ACCA, SoftDDS.BurstCount
                        DEC       _ACCA
                        STS       SoftDDS.BurstCount, _ACCA
                        .LINE     639
                        LDS       _ACCA, SoftDDS.BurstCount
                        CPI       _ACCA, 000h
                        LDI       _ACCA, 0h
                        BRNE      SoftDDS.L0167
                        SER       _ACCA
SoftDDS.L0167:
                        TST       _ACCA
                        .BRANCH   4,SoftDDS.L0170
                        BRNE      SoftDDS.L0170
                        .BRANCH   20,SoftDDS.L0168
                        RJMP      SoftDDS.L0168
SoftDDS.L0170:
                        .BLOCK    639
                        .LINE     640
                        LDI       _ACCA, 02100h SHRB 8
                        LDI       _ACCB, 02100h AND 0FFh
                        STS       SOFTDDS.DSS_CMD, _ACCB
                        STS       SOFTDDS.DSS_CMD+1, _ACCA
                        .LINE     641
                        .BRANCH   17,SoftDDS.SENDDDS
                        RCALL     SoftDDS.SENDDDS
                        .LINE     642
                        LDS       _ACCA, SoftDDS.BurstMode
                        SUBI      _ACCA, -001h AND 0FFh
                        STS       SOFTDDS.BURSTCOUNT, _ACCA
                        .LINE     643
                        LDI       _ACCA, 0FFh
                        STS       SOFTDDS.BURSTPRIME, _ACCA
                        .ENDBLOCK 644
SoftDDS.L0168:
SoftDDS.L0169:
                        .ENDBLOCK 645
SoftDDS.L0164:
SoftDDS.L0165:
                        .LINE     646
                        LDS       _ACCA, SoftDDS.BurstCount
                        CPI       _ACCA, 001h
                        LDI       _ACCA, 0h
                        BRNE      SoftDDS.L0171
                        SER       _ACCA
SoftDDS.L0171:
                        TST       _ACCA
                        .BRANCH   4,SoftDDS.L0174
                        BRNE      SoftDDS.L0174
                        .BRANCH   20,SoftDDS.L0172
                        RJMP      SoftDDS.L0172
SoftDDS.L0174:
                        .BLOCK    646
                        .LINE     647
                        LDS       _ACCA, SoftDDS.BurstPrime
                        TST       _ACCA
                        .BRANCH   4,SoftDDS.L0177
                        BRNE      SoftDDS.L0177
                        .BRANCH   20,SoftDDS.L0175
                        RJMP      SoftDDS.L0175
SoftDDS.L0177:
                        .BLOCK    647
                        .LINE     648
                        LDS       _ACCB, SoftDDS.wave_cmd
                        LDS       _ACCA, SoftDDS.wave_cmd+1
                        STS       SOFTDDS.DSS_CMD, _ACCB
                        STS       SOFTDDS.DSS_CMD+1, _ACCA
                        .LINE     649
                        .BRANCH   17,SoftDDS.SENDDDS
                        RCALL     SoftDDS.SENDDDS
                        .LINE     650
                        LDI       _ACCA, 000h
                        STS       SOFTDDS.BURSTPRIME, _ACCA
                        .ENDBLOCK 651
SoftDDS.L0175:
SoftDDS.L0176:
                        .ENDBLOCK 652
SoftDDS.L0172:
SoftDDS.L0173:
                        .ENDBLOCK 653
SoftDDS.L0160:
SoftDDS.L0161:
                        .ENDBLOCK 654
SoftDDS.BurstGen_X:
                        .LINE     654
                        .BRANCH   19
                        RET
                        .ENDFUNC  654

                        .FUNC     initall, 659, 00020h
SoftDDS.initall:
                        .BLOCK    661
                        .LINE     662
                        LDI       _ACCA, 03Fh
                        OUT       DDRB, _ACCA
                        .LINE     663
                        LDI       _ACCA, 0EFh
                        OUT       PORTB, _ACCA
                        .LINE     664
                        LDI       _ACCA, 00Ch
                        OUT       DDRC, _ACCA
                        .LINE     665
                        LDI       _ACCA, 0FFh
                        OUT       PORTC, _ACCA
                        .LINE     666
                        LDI       _ACCA, 004h
                        OUT       DDRD, _ACCA
                        .LINE     667
                        LDI       _ACCA, 0FCh
                        OUT       PORTD, _ACCA
                        .LINE     669
                        LDI       _ACCA, 000h
                        .FRAME  0
                        RCALL      SYSTEM.LCDSETUP_M
                        TST       _ACCA
                        .BRANCH   4,SoftDDS.L0180
                        BRNE      SoftDDS.L0180
                        .BRANCH   20,SoftDDS.L0178
                        RJMP      SoftDDS.L0178
SoftDDS.L0180:
                        .BLOCK    669
                        .LINE     670
                        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     671
                        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
                        .ENDBLOCK 672
SoftDDS.L0178:
SoftDDS.L0179:
                        .LINE     673
                        LDI       _ACCA, 000h
                        .FRAME  0
                        RCALL     SYSTEM.LCDCLR_M
                        .LINE     675
                        PUSH      _FRAMEPTR
                        PUSH      _FPTRHI
                        LDI       _ACCCLO, SoftDDS.Vers1Str AND 0FFh
                        LDI       _ACCCHI, SoftDDS.Vers1Str SHRB 8
                        MOVW      _ACCB, _ACCCLO
                        ST        -Y, _ACCA
                        ST        -Y, _ACCB
                        .FRAME  2
                        .FRAME  0
                        .BRANCH   17,SoftDDS.WRITELCD
                        RCALL     SoftDDS.WRITELCD
                        POP       _FPTRHI
                        POP       _FRAMEPTR
                        .LINE     676
                        .BRANCH   17,SoftDDS.LCD1X0Y1
                        RCALL     SoftDDS.LCD1X0Y1
                        .LINE     677
                        PUSH      _FRAMEPTR
                        PUSH      _FPTRHI
                        LDI       _ACCCLO, SoftDDS.Vers2Str AND 0FFh
                        LDI       _ACCCHI, SoftDDS.Vers2Str SHRB 8
                        MOVW      _ACCB, _ACCCLO
                        ST        -Y, _ACCA
                        ST        -Y, _ACCB
                        .FRAME  2
                        .FRAME  0
                        .BRANCH   17,SoftDDS.WRITELCD
                        RCALL     SoftDDS.WRITELCD
                        POP       _FPTRHI
                        POP       _FRAMEPTR
                        .LINE     678
                        LDI       _ACCA, 003E8h SHRB 8
                        LDI       _ACCB, 003E8h AND 0FFh
                        .FRAME  0
                        RCALL     SYSTEM.MDELAY
                        .LINE     680
                        LDI       _ACCA, 000h
                        STS       SOFTDDS.PATCHNUM, _ACCA
                        .LINE     681
                        PUSH      _FRAMEPTR
                        PUSH      _FPTRHI
                        .BRANCH   17,SoftDDS.PATCHCOPYFROMEE
                        RCALL     SoftDDS.PATCHCOPYFROMEE
                        POP       _FPTRHI
                        POP       _FRAMEPTR
                        .LINE     682
                        LDI       _ACCA, 000h
                        STS       SOFTDDS.PRESETNUM, _ACCA
                        .LINE     684
                        LDI       _ACCA, 028h
                        STS       SOFTDDS.BTNTIME, _ACCA
                        .LINE     685
                        LDI       _ACCA, 00Ah
                        STS       SOFTDDS.BTNTIME2, _ACCA
                        .LINE     687
                        LDI       _ACCA, 000h
                        STS       SOFTDDS.GAINOFFSET, _ACCA
                        .LINE     688
                        LDI       _ACCA, 0FFh
                        STS       SOFTDDS.PRESETON, _ACCA
                        .LINE     689
                        LDI       _ACCA, 000h
                        .FRAME  0
                        RCALL     SYSTEM.LCDCLR_M
                        .LINE     690
                        LDI       _ACCA, 000h
                        STS       SOFTDDS.MODIFIED, _ACCA
                        .LINE     691
                        LDI       _ACCA, 1 SHLB IntFlag
                        OR        Flags, _ACCA
                        SEI
                        .LINE     692
                        LDI       _ACCA, 000h
                        STS       SOFTDDS.PRIME, _ACCA
                        .LINE     693
                        LDI       _ACCA, 001h
                        STS       SOFTDDS.BURSTCOUNT, _ACCA
                        .LINE     694
                        LDI       _ACCA, 001h
                        STS       SoftDDS.BurstTimer, _ACCA
                        .LINE     695
                        PUSH      _FRAMEPTR
                        PUSH      _FPTRHI
                        .BRANCH   17,SoftDDS.SETLEVELDDS
                        RCALL     SoftDDS.SETLEVELDDS
                        POP       _FPTRHI
                        POP       _FRAMEPTR
                        .LINE     696
                        RCALL     SYSTEM.INCRCOUNT4START
                        .LINE     697
                        RCALL     SYSTEM.CLEARINCRALL4
                        .ENDBLOCK 698
SoftDDS.initall_X:
                        .LINE     698
                        .BRANCH   19
                        RET
                        .ENDFUNC  698



                        ; ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
                        ; Program body
                        ; ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++

                        .FUNC     $_Main, 702, 00020h
                        .ENTRYMAIN $
SoftDDS.$_Main:

                        .BLOCK    702
                        .LINE     703
                        .BRANCH   17,SoftDDS.INITALL
                        RCALL     SoftDDS.INITALL
                        .LINE     704
                        LDI       _ACCA, 008h
                        STS       SOFTDDS.EDITWHICH, _ACCA
                        .LINE     706
                        .BRANCH   17,SoftDDS.SHOWDEFAULTUPPER
                        RCALL     SoftDDS.SHOWDEFAULTUPPER
                        .LINE     708
                        .BRANCH   17,SoftDDS.SHOWDEFAULTLOWER
                        RCALL     SoftDDS.SHOWDEFAULTLOWER
SoftDDS.L0181:
                        .BLOCK    711
                        .LINE     712
                        PUSH      _FRAMEPTR
                        PUSH      _FPTRHI
                        .BRANCH   17,SoftDDS.SETLEVELDDS
                        RCALL     SoftDDS.SETLEVELDDS
                        POP       _FPTRHI
                        POP       _FRAMEPTR
                        .LINE     713
                        LDS       _ACCA, SoftDDS.EditWhich
                        STS       SOFTDDS.CURITEMNUMBER, _ACCA
                        .LINE     714
                        LDS       _ACCA, SoftDDS.EditWhich
                        CPI       _ACCA, 008h
                        LDI       _ACCA, 0h
                        BREQ      SoftDDS.L0183
                        BRLO      SoftDDS.L0183
                        SER       _ACCA
SoftDDS.L0183:
                        TST       _ACCA
                        .BRANCH   4,SoftDDS.L0186
                        BRNE      SoftDDS.L0186
                        .BRANCH   20,SoftDDS.L0184
                        RJMP      SoftDDS.L0184
SoftDDS.L0186:
                        .BLOCK    715
                        .LINE     715
                        LDS       _ACCA, SoftDDS.CurItemNumber
                        SUBI      _ACCA, 002h AND 0FFh
                        STS       SOFTDDS.CURITEMNUMBER, _ACCA
                        .ENDBLOCK 716
SoftDDS.L0184:
SoftDDS.L0185:
                        .LINE     717
                        LDS       _ACCA, SoftDDS.CurItemNumber
                        LDI       _ACCCLO, SoftDDS.EditArray AND 0FFh
                        LDI       _ACCCHI, SoftDDS.EditArray SHRB 8
                        ANDI      _ACCA, 15
                        CLR       _ACCB
                        ADD       _ACCCLO, _ACCA
                        ADC       _ACCCHI, _ACCB
                        LD        _ACCA, Z
                        STS       SOFTDDS.EDITVALUE, _ACCA
                        .LINE     718
                        LDI       _ACCA, 000h
                        STS       SOFTDDS.ITEMLOWERLIMIT, _ACCA
                        .LINE     719
                        LDI       _ACCA, 009h
                        STS       SOFTDDS.ITEMUPPERLIMIT, _ACCA
                        .LINE     720
                        LDI       _ACCA, 002h
                        STS       SOFTDDS.DIGITS, _ACCA
                        .LINE     721
                        LDS       _ACCA, SoftDDS.EditWhich
                        .LINE     722
                        CPI       _ACCA, 8
                        .BRANCH   3,SoftDDS.L0190
                        BREQ      SoftDDS.L0190
                        .BRANCH   20,SoftDDS.L0189
                        RJMP      SoftDDS.L0189
SoftDDS.L0190:
SoftDDS.L0188:
                        .BLOCK    723
                        .LINE     723
                        LDI       _ACCA, 01Fh
                        STS       SOFTDDS.ITEMUPPERLIMIT, _ACCA
                        .LINE     724
                        LDI       _ACCA, 028h
                        STS       SOFTDDS.BTNTIME, _ACCA
                        .LINE     725
                        LDS       _ACCA, SoftDDS.PresetOn
                        TST       _ACCA
                        .BRANCH   4,SoftDDS.L0193
                        BRNE      SoftDDS.L0193
                        .BRANCH   20,SoftDDS.L0191
                        RJMP      SoftDDS.L0191
SoftDDS.L0193:
                        .BLOCK    725
                        .LINE     726
                        LDS       _ACCA, SoftDDS.PresetNum
                        STS       SOFTDDS.EDITVALUE, _ACCA
                        .ENDBLOCK 727
                        .BRANCH   20,SoftDDS.L0192
                        RJMP      SoftDDS.L0192
SoftDDS.L0191:
                        .BLOCK    727
                        .LINE     728
                        LDS       _ACCA, SoftDDS.PatchNum
                        STS       SOFTDDS.EDITVALUE, _ACCA
                        .ENDBLOCK 729
SoftDDS.L0192:
                        .LINE     730
                        .BRANCH   17,SoftDDS.SHOWDEFAULT
                        RCALL     SoftDDS.SHOWDEFAULT
                        .ENDBLOCK 731
                        .BRANCH   20,SoftDDS.L0187
                        RJMP      SoftDDS.L0187
SoftDDS.L0189:
                        .LINE     732
                        CPI       _ACCA, 9
                        .BRANCH   3,SoftDDS.L0196
                        BREQ      SoftDDS.L0196
                        .BRANCH   20,SoftDDS.L0195
                        RJMP      SoftDDS.L0195
SoftDDS.L0196:
SoftDDS.L0194:
                        .BLOCK    733
                        .LINE     733
                        LDI       _ACCA, 050h
                        STS       SOFTDDS.ITEMUPPERLIMIT, _ACCA
                        .LINE     734
                        LDS       _ACCA, SoftDDS.LeveldB
                        STS       SOFTDDS.EDITVALUE, _ACCA
                        .LINE     735
                        .BRANCH   17,SoftDDS.SHOWDEFAULT
                        RCALL     SoftDDS.SHOWDEFAULT
                        .ENDBLOCK 736
                        .BRANCH   20,SoftDDS.L0187
                        RJMP      SoftDDS.L0187
SoftDDS.L0195:
                        .LINE     737
                        CPI       _ACCA, 0
                        .BRANCH   2,SoftDDS.L0199
                        BRCC      SoftDDS.L0199
                        .BRANCH   20,SoftDDS.L0198
                        RJMP      SoftDDS.L0198
SoftDDS.L0199:
                        CPI       _ACCA, 7
                        .BRANCH   3,SoftDDS.L0200
                        BREQ      SoftDDS.L0200
                        .BRANCH   1,SoftDDS.L0198
                        BRCS      SoftDDS.L0200
                        .BRANCH   20,SoftDDS.L0198
                        RJMP      SoftDDS.L0198
SoftDDS.L0200:
SoftDDS.L0197:
                        .BLOCK    738
                        .LINE     738
                        LDI       _ACCA, 001h
                        STS       SOFTDDS.DIGITS, _ACCA
                        .LINE     739
                        .BRANCH   17,SoftDDS.SHOWFREQUSPACED
                        RCALL     SoftDDS.SHOWFREQUSPACED
                        .ENDBLOCK 740
                        .BRANCH   20,SoftDDS.L0187
                        RJMP      SoftDDS.L0187
SoftDDS.L0198:
                        .LINE     741
                        CPI       _ACCA, 10
                        .BRANCH   3,SoftDDS.L0203
                        BREQ      SoftDDS.L0203
                        .BRANCH   20,SoftDDS.L0202
                        RJMP      SoftDDS.L0202
SoftDDS.L0203:
SoftDDS.L0201:
                        .BLOCK    742
                        .LINE     742
                        LDI       _ACCA, 003h
                        STS       SOFTDDS.ITEMUPPERLIMIT, _ACCA
                        .LINE     743
                        .BRANCH   17,SoftDDS.SHOWOPTIONS
                        RCALL     SoftDDS.SHOWOPTIONS
                        .ENDBLOCK 744
                        .BRANCH   20,SoftDDS.L0187
                        RJMP      SoftDDS.L0187
SoftDDS.L0202:
                        .LINE     746
                        CPI       _ACCA, 11
                        .BRANCH   3,SoftDDS.L0206
                        BREQ      SoftDDS.L0206
                        .BRANCH   20,SoftDDS.L0205
                        RJMP      SoftDDS.L0205
SoftDDS.L0206:
SoftDDS.L0204:
                        .BLOCK    747
                        .LINE     747
                        LDI       _ACCA, 000h
                        STS       SOFTDDS.ITEMLOWERLIMIT, _ACCA
                        .LINE     748
                        LDI       _ACCA, 063h
                        STS       SOFTDDS.ITEMUPPERLIMIT, _ACCA
                        .LINE     749
                        .BRANCH   17,SoftDDS.SHOWOPTIONS
                        RCALL     SoftDDS.SHOWOPTIONS
                        .ENDBLOCK 750
                        .BRANCH   20,SoftDDS.L0187
                        RJMP      SoftDDS.L0187
SoftDDS.L0205:
                        .LINE     751
                        CPI       _ACCA, 12
                        .BRANCH   3,SoftDDS.L0209
                        BREQ      SoftDDS.L0209
                        .BRANCH   20,SoftDDS.L0208
                        RJMP      SoftDDS.L0208
SoftDDS.L0209:
SoftDDS.L0207:
                        .BLOCK    752
                        .LINE     752
                        LDI       _ACCA, 001h
                        STS       SOFTDDS.ITEMUPPERLIMIT, _ACCA
                        .LINE     753
                        .BRANCH   17,SoftDDS.SHOWOPTIONS
                        RCALL     SoftDDS.SHOWOPTIONS
                        .ENDBLOCK 754
                        .BRANCH   20,SoftDDS.L0187
                        RJMP      SoftDDS.L0187
SoftDDS.L0208:
                        .LINE     755
                        CPI       _ACCA, 13
                        .BRANCH   3,SoftDDS.L0212
                        BREQ      SoftDDS.L0212
                        .BRANCH   20,SoftDDS.L0211
                        RJMP      SoftDDS.L0211
SoftDDS.L0212:
SoftDDS.L0210:
                        .BLOCK    756
                        .LINE     756
                        .BRANCH   17,SoftDDS.LCD1X0Y0
                        RCALL     SoftDDS.LCD1X0Y0
                        .LINE     757
                        .BRANCH   17,SoftDDS.SHOWOPTIONS
                        RCALL     SoftDDS.SHOWOPTIONS
                        .ENDBLOCK 758
                        .BRANCH   20,SoftDDS.L0187
                        RJMP      SoftDDS.L0187
SoftDDS.L0211:
SoftDDS.L0187:
                        .LINE     760
                        .BRANCH   17,SoftDDS.SETCURSOR
                        RCALL     SoftDDS.SETCURSOR
                        .LINE     761
                        .BRANCH   17,SoftDDS.SETINCRVALTOEDITVALUE
                        RCALL     SoftDDS.SETINCRVALTOEDITVALUE
                        .LINE     762
                        LDI       _ACCA, 00Dh
                        STS       SOFTDDS.LASTMENU, _ACCA
                        .LINE     763
                        .BRANCH   17,SoftDDS.SLOWREPEATRELEASE
                        RCALL     SoftDDS.SLOWREPEATRELEASE
                        .LINE     764
                        LDI       _ACCA, 000h
                        STS       SOFTDDS.MODIFIED, _ACCA
SoftDDS.L0213:
                        .BLOCK    766
                        .LINE     768
                        LDI       _ACCA, 000h
                        .FRAME  0
                        RCALL      SYSTEM.GETINCRVAL4
                        MOVW      _ACCBLO, _ACCB
                        LDI       _ACCALO, 00004h AND 0FFh
                        LDI       _ACCAHI, 00004h SHRB 8
                        SET
                        BLD       Flags, _SIGN
                        RCALL     SYSTEM.DIV16_R
                        STS       SOFTDDS.INCRVALUE, _ACCB
                        STS       SOFTDDS.INCRVALUE+1, _ACCA
                        .LINE     772
                        LDS       _ACCB, SoftDDS.IncrValue
                        LDS       _ACCA, SoftDDS.IncrValue+1
                        LDI       _ACCBLO, 080h
                        EOR       _ACCA, _ACCBLO
                        CPI       _ACCA, 080h
                        BRNE      SoftDDS.L0216
                        CPI       _ACCB, 000h
SoftDDS.L0216:
                        LDI       _ACCA, 0FFh
                        BRLO      SoftDDS.L0217
                        CLR       _ACCA
SoftDDS.L0217:
                        TST       _ACCA
                        .BRANCH   4,SoftDDS.L0220
                        BRNE      SoftDDS.L0220
                        .BRANCH   20,SoftDDS.L0218
                        RJMP      SoftDDS.L0218
SoftDDS.L0220:
                        .BLOCK    773
                        .LINE     773
                        LDI       _ACCA, 00000h SHRB 8
                        LDI       _ACCB, 00000h AND 0FFh
                        STS       SOFTDDS.INCRVALUE, _ACCB
                        STS       SOFTDDS.INCRVALUE+1, _ACCA
                        .LINE     774
                        PUSH      _FRAMEPTR
                        PUSH      _FPTRHI
                        LDI       _ACCA, 000h
                        ST        -Y, _ACCA
                        .FRAME  1
                        LDI       _ACCA, 00000h SHRB 8
                        LDI       _ACCB, 00000h AND 0FFh
                        ST        -Y, _ACCA
                        ST        -Y, _ACCB
                        .FRAME  3
                        .FRAME  0
                        RCALL     SYSTEM.SETINCRVAL4
                        POP       _FPTRHI
                        POP       _FRAMEPTR
                        .ENDBLOCK 775
SoftDDS.L0218:
SoftDDS.L0219:
                        .LINE     776
                        LDS       _ACCB, SoftDDS.IncrValue
                        LDS       _ACCA, SoftDDS.IncrValue+1
                        MOV       _ACCA, _ACCB
                        PUSH      _ACCA
                        LDS       _ACCA, SoftDDS.EditValue
                        POP       _ACCB
                        CP        _ACCB, _ACCA
                        LDI       _ACCA, 0h
                        BREQ      SoftDDS.L0221
                        SER       _ACCA
SoftDDS.L0221:
                        STS       SOFTDDS.INCRVERDREHT, _ACCA
                        .LINE     777
                        .BRANCH   17,SoftDDS.UPDOWNBUTTON
                        RCALL      SoftDDS.UPDOWNBUTTON
                        PUSH      _ACCA
                        LDS       _ACCA, SoftDDS.IncrVerdreht
                        POP       _ACCB
                        OR        _ACCA, _ACCB
                        TST       _ACCA
                        .BRANCH   4,SoftDDS.L0224
                        BRNE      SoftDDS.L0224
                        .BRANCH   20,SoftDDS.L0222
                        RJMP      SoftDDS.L0222
SoftDDS.L0224:
                        .BLOCK    777
                        .LINE     778
                        LDS       _ACCB, 00070h
                        CLR       _ACCA
                        SBRC      _ACCB, 005h
                        SER       _ACCA
                        COM       _ACCA
                        TST       _ACCA
                        .BRANCH   4,SoftDDS.L0227
                        BRNE      SoftDDS.L0227
                        .BRANCH   20,SoftDDS.L0225
                        RJMP      SoftDDS.L0225
SoftDDS.L0227:
                        .BLOCK    778
                        .LINE     779
                        LDS       _ACCA, SoftDDS.EditValue
                        INC       _ACCA
                        STS       SoftDDS.EditValue, _ACCA
                        .LINE     780
                        .BRANCH   17,SoftDDS.SETINCRVALTOEDITVALUE
                        RCALL     SoftDDS.SETINCRVALTOEDITVALUE
                        .ENDBLOCK 781
SoftDDS.L0225:
SoftDDS.L0226:
                        .LINE     782
                        LDS       _ACCB, 00070h
                        CLR       _ACCA
                        SBRC      _ACCB, 006h
                        SER       _ACCA
                        COM       _ACCA
                        TST       _ACCA
                        .BRANCH   4,SoftDDS.L0230
                        BRNE      SoftDDS.L0230
                        .BRANCH   20,SoftDDS.L0228
                        RJMP      SoftDDS.L0228
SoftDDS.L0230:
                        .BLOCK    782
                        .LINE     783
                        CLR       _ACCA
                        LDS       _ACCB, SoftDDS.EditValue
                        LDI       _ACCEHI, 000h
                        CP        _ACCEHI, _ACCB
                        BRCC      SoftDDS.L0231
                        DEC       _ACCB
                        STS       SoftDDS.EditValue, _ACCB
                        SER       _ACCA
SoftDDS.L0231:
                        .LINE     784
                        .BRANCH   17,SoftDDS.SETINCRVALTOEDITVALUE
                        RCALL     SoftDDS.SETINCRVALTOEDITVALUE
                        .ENDBLOCK 785
SoftDDS.L0228:
SoftDDS.L0229:
                        .LINE     786
                        LDS       _ACCA, SoftDDS.IncrVerdreht
                        TST       _ACCA
                        .BRANCH   4,SoftDDS.L0234
                        BRNE      SoftDDS.L0234
                        .BRANCH   20,SoftDDS.L0232
                        RJMP      SoftDDS.L0232
SoftDDS.L0234:
                        .BLOCK    786
                        .LINE     787
                        LDS       _ACCB, SoftDDS.IncrValue
                        LDS       _ACCA, SoftDDS.IncrValue+1
                        MOV       _ACCA, _ACCB
                        STS       SOFTDDS.EDITVALUE, _ACCA
                        .ENDBLOCK 788
SoftDDS.L0232:
SoftDDS.L0233:
                        .LINE     789
                        LDI       _ACCA, 0FFh
                        STS       SOFTDDS.MODIFIED, _ACCA
                        .LINE     790
                        .BRANCH   17,SoftDDS.CHECKITEMLIMITS
                        RCALL     SoftDDS.CHECKITEMLIMITS
                        .LINE     791
                        LDS       _ACCA, SoftDDS.EditWhich
                        STS       SOFTDDS.DISPWHICH, _ACCA
                        .LINE     792
                        .BRANCH   17,SoftDDS.SETPOS
                        RCALL     SoftDDS.SETPOS
                        .LINE     793
                        LDS       _ACCA, SoftDDS.EditWhich
                        .LINE     794
                        CPI       _ACCA, 8
                        .BRANCH   3,SoftDDS.L0238
                        BREQ      SoftDDS.L0238
                        .BRANCH   20,SoftDDS.L0237
                        RJMP      SoftDDS.L0237
SoftDDS.L0238:
SoftDDS.L0236:
                        .BLOCK    795
                        .LINE     795
                        LDS       _ACCA, SoftDDS.PresetOn
                        TST       _ACCA
                        .BRANCH   4,SoftDDS.L0241
                        BRNE      SoftDDS.L0241
                        .BRANCH   20,SoftDDS.L0239
                        RJMP      SoftDDS.L0239
SoftDDS.L0241:
                        .BLOCK    795
                        .LINE     796
                        LDS       _ACCA, SoftDDS.EditValue
                        STS       SOFTDDS.PRESETNUM, _ACCA
                        .LINE     797
                        .BRANCH   17,SoftDDS.PRESETCOPYFROMROM
                        RCALL     SoftDDS.PRESETCOPYFROMROM
                        .ENDBLOCK 798
                        .BRANCH   20,SoftDDS.L0240
                        RJMP      SoftDDS.L0240
SoftDDS.L0239:
                        .BLOCK    798
                        .LINE     799
                        LDS       _ACCA, SoftDDS.EditValue
                        STS       SOFTDDS.PATCHNUM, _ACCA
                        .LINE     800
                        PUSH      _FRAMEPTR
                        PUSH      _FPTRHI
                        .BRANCH   17,SoftDDS.PATCHCOPYFROMEE
                        RCALL     SoftDDS.PATCHCOPYFROMEE
                        POP       _FPTRHI
                        POP       _FRAMEPTR
                        .ENDBLOCK 801
SoftDDS.L0240:
                        .LINE     802
                        .BRANCH   17,SoftDDS.SHOWDEFAULT
                        RCALL     SoftDDS.SHOWDEFAULT
                        .LINE     804
                        LDI       _ACCA, 000h
                        STS       SOFTDDS.MODIFIED, _ACCA
                        .ENDBLOCK 805
                        .BRANCH   20,SoftDDS.L0235
                        RJMP      SoftDDS.L0235
SoftDDS.L0237:
                        .LINE     806
                        CPI       _ACCA, 9
                        .BRANCH   3,SoftDDS.L0244
                        BREQ      SoftDDS.L0244
                        .BRANCH   20,SoftDDS.L0243
                        RJMP      SoftDDS.L0243
SoftDDS.L0244:
SoftDDS.L0242:
                        .BLOCK    807
                        .LINE     807
                        LDS       _ACCA, SoftDDS.EditValue
                        STS       SOFTDDS.LEVELDB, _ACCA
                        .LINE     808
                        .BRANCH   17,SoftDDS.SHOWDEFAULT
                        RCALL     SoftDDS.SHOWDEFAULT
                        .ENDBLOCK 809
                        .BRANCH   20,SoftDDS.L0235
                        RJMP      SoftDDS.L0235
SoftDDS.L0243:
                        .LINE     810
                        CPI       _ACCA, 0
                        .BRANCH   2,SoftDDS.L0247
                        BRCC      SoftDDS.L0247
                        .BRANCH   20,SoftDDS.L0246
                        RJMP      SoftDDS.L0246
SoftDDS.L0247:
                        CPI       _ACCA, 7
                        .BRANCH   3,SoftDDS.L0248
                        BREQ      SoftDDS.L0248
                        .BRANCH   1,SoftDDS.L0246
                        BRCS      SoftDDS.L0248
                        .BRANCH   20,SoftDDS.L0246
                        RJMP      SoftDDS.L0246
SoftDDS.L0248:
SoftDDS.L0245:
                        .BLOCK    812
                        .LINE     812
                        LDS       _ACCA, SoftDDS.EditWhich
                        PUSH      _ACCA
                        LDS       _ACCA, SoftDDS.EditValue
                        LDI       _ACCCLO, SoftDDS.EditArray AND 0FFh
                        LDI       _ACCCHI, SoftDDS.EditArray SHRB 8
                        POP       _ACCBLO
                        ANDI      _ACCBLO, 15
                        CLR       _ACCBHI
                        ADD       _ACCCLO, _ACCBLO
                        ADC       _ACCCHI, _ACCBHI
                        ST        Z, _ACCA
                        .LINE     813
                        LDS       _ACCA, SoftDDS.EditValue
                        STS       SOFTDDS.DISPLAYVALUE, _ACCA
                        .LINE     814
                        .BRANCH   17,SoftDDS.WRITEITEM
                        RCALL     SoftDDS.WRITEITEM
                        .ENDBLOCK 815
                        .BRANCH   20,SoftDDS.L0235
                        RJMP      SoftDDS.L0235
SoftDDS.L0246:
                        .LINE     816
                        CPI       _ACCA, 10
                        .BRANCH   3,SoftDDS.L0251
                        BREQ      SoftDDS.L0251
                        .BRANCH   20,SoftDDS.L0250
                        RJMP      SoftDDS.L0250
SoftDDS.L0251:
SoftDDS.L0249:
                        .BLOCK    817
                        .LINE     817
                        LDS       _ACCA, SoftDDS.EditValue
                        STS       SOFTDDS.WAVE, _ACCA
                        .LINE     818
                        .BRANCH   17,SoftDDS.WRITEWAVE
                        RCALL     SoftDDS.WRITEWAVE
                        .ENDBLOCK 820
                        .BRANCH   20,SoftDDS.L0235
                        RJMP      SoftDDS.L0235
SoftDDS.L0250:
                        .LINE     821
                        CPI       _ACCA, 11
                        .BRANCH   3,SoftDDS.L0254
                        BREQ      SoftDDS.L0254
                        .BRANCH   20,SoftDDS.L0253
                        RJMP      SoftDDS.L0253
SoftDDS.L0254:
SoftDDS.L0252:
                        .BLOCK    822
                        .LINE     822
                        LDS       _ACCA, SoftDDS.EditValue
                        STS       SOFTDDS.ADJ, _ACCA
                        .LINE     823
                        LDS       _ACCA, SoftDDS.EditValue
                        STS       SOFTDDS.DISPLAYVALUE, _ACCA
                        .LINE     824
                        .BRANCH   17,SoftDDS.WRITEITEM
                        RCALL     SoftDDS.WRITEITEM
                        .ENDBLOCK 825
                        .BRANCH   20,SoftDDS.L0235
                        RJMP      SoftDDS.L0235
SoftDDS.L0253:
                        .LINE     826
                        CPI       _ACCA, 12
                        .BRANCH   3,SoftDDS.L0257
                        BREQ      SoftDDS.L0257
                        .BRANCH   20,SoftDDS.L0256
                        RJMP      SoftDDS.L0256
SoftDDS.L0257:
SoftDDS.L0255:
                        .BLOCK    827
                        .LINE     827
                        LDS       _ACCA, SoftDDS.EditValue
                        STS       SOFTDDS.OUTPUTMODE, _ACCA
                        .LINE     828
                        .BRANCH   17,SoftDDS.WRITEOUTPUTMODE
                        RCALL     SoftDDS.WRITEOUTPUTMODE
                        .ENDBLOCK 829
                        .BRANCH   20,SoftDDS.L0235
                        RJMP      SoftDDS.L0235
SoftDDS.L0256:
                        .LINE     830
                        CPI       _ACCA, 13
                        .BRANCH   3,SoftDDS.L0260
                        BREQ      SoftDDS.L0260
                        .BRANCH   20,SoftDDS.L0259
                        RJMP      SoftDDS.L0259
SoftDDS.L0260:
SoftDDS.L0258:
                        .BLOCK    831
                        .LINE     831
                        LDS       _ACCA, SoftDDS.EditValue
                        STS       SOFTDDS.BURSTMODE, _ACCA
                        .LINE     832
                        LDS       _ACCA, SoftDDS.EditValue
                        STS       SOFTDDS.DISPLAYVALUE, _ACCA
                        .LINE     833
                        LDI       _ACCA, 001h
                        STS       SOFTDDS.DIGITS, _ACCA
                        .LINE     834
                        .BRANCH   17,SoftDDS.WRITEITEM
                        RCALL     SoftDDS.WRITEITEM
                        .ENDBLOCK 835
                        .BRANCH   20,SoftDDS.L0235
                        RJMP      SoftDDS.L0235
SoftDDS.L0259:
SoftDDS.L0235:
                        .LINE     837
                        PUSH      _FRAMEPTR
                        PUSH      _FPTRHI
                        .BRANCH   17,SoftDDS.SETLEVELDDS
                        RCALL     SoftDDS.SETLEVELDDS
                        POP       _FPTRHI
                        POP       _FRAMEPTR
                        .LINE     838
                        .BRANCH   17,SoftDDS.FASTREPEATRELEASE
                        RCALL     SoftDDS.FASTREPEATRELEASE
                        .ENDBLOCK 839
SoftDDS.L0222:
SoftDDS.L0223:
                        .LINE     841
                        .BRANCH   17,SoftDDS.BURSTGEN
                        RCALL     SoftDDS.BURSTGEN
                        .LINE     842
                        LDS       _ACCA, SoftDDS.Modified
                        TST       _ACCA
                        .BRANCH   4,SoftDDS.L0263
                        BRNE      SoftDDS.L0263
                        .BRANCH   20,SoftDDS.L0261
                        RJMP      SoftDDS.L0261
SoftDDS.L0263:
                        .BLOCK    842
                        .LINE     844
                        LDS       _ACCA, SoftDDS.PresetOn
                        COM       _ACCA
                        TST       _ACCA
                        .BRANCH   4,SoftDDS.L0266
                        BRNE      SoftDDS.L0266
                        .BRANCH   20,SoftDDS.L0264
                        RJMP      SoftDDS.L0264
SoftDDS.L0266:
                        .BLOCK    844
                        .LINE     845
                        PUSH      _FRAMEPTR
                        PUSH      _FPTRHI
                        .BRANCH   17,SoftDDS.PATCHCOPYTOEE
                        RCALL     SoftDDS.PATCHCOPYTOEE
                        POP       _FPTRHI
                        POP       _FRAMEPTR
                        .ENDBLOCK 846
SoftDDS.L0264:
SoftDDS.L0265:
                        .LINE     847
                        .BRANCH   17,SoftDDS.UPDOWNBUTTON
                        RCALL      SoftDDS.UPDOWNBUTTON
                        COM       _ACCA
                        TST       _ACCA
                        .BRANCH   4,SoftDDS.L0269
                        BRNE      SoftDDS.L0269
                        .BRANCH   20,SoftDDS.L0267
                        RJMP      SoftDDS.L0267
SoftDDS.L0269:
                        .BLOCK    847
                        .ENDBLOCK 849
SoftDDS.L0267:
SoftDDS.L0268:
                        .ENDBLOCK 850
SoftDDS.L0261:
SoftDDS.L0262:
                        .ENDBLOCK 851
                        .LINE     851
SoftDDS.L0214:
                        .BRANCH   17,SoftDDS.NAVIBUTTON
                        RCALL      SoftDDS.NAVIBUTTON
                        TST       _ACCA
                        .BRANCH   4,SoftDDS.L0270
                        BRNE      SoftDDS.L0270
                        .BRANCH   20,SoftDDS.L0213
                        RJMP      SoftDDS.L0213
SoftDDS.L0270:
SoftDDS.L0215:
                        .LINE     853
                        LDS       _ACCB, 00070h
                        CLR       _ACCA
                        SBRC      _ACCB, 003h
                        SER       _ACCA
                        COM       _ACCA
                        TST       _ACCA
                        .BRANCH   4,SoftDDS.L0273
                        BRNE      SoftDDS.L0273
                        .BRANCH   20,SoftDDS.L0271
                        RJMP      SoftDDS.L0271
SoftDDS.L0273:
                        .BLOCK    853
                        .LINE     854
                        LDS       _ACCA, SoftDDS.EditWhich
                        CPI       _ACCA, 008h
                        LDI       _ACCA, 0h
                        BRNE      SoftDDS.L0274
                        SER       _ACCA
SoftDDS.L0274:
                        TST       _ACCA
                        .BRANCH   4,SoftDDS.L0277
                        BRNE      SoftDDS.L0277
                        .BRANCH   20,SoftDDS.L0275
                        RJMP      SoftDDS.L0275
SoftDDS.L0277:
                        .BLOCK    854
                        .LINE     855
                        LDI       _ACCA, 007h
                        STS       SOFTDDS.EDITWHICH, _ACCA
                        .ENDBLOCK 856
                        .BRANCH   20,SoftDDS.L0276
                        RJMP      SoftDDS.L0276
SoftDDS.L0275:
                        .BLOCK    856
                        .LINE     857
                        LDS       _ACCA, SoftDDS.EditWhich
                        CPI       _ACCA, 0
                        BREQ      SoftDDS.L0278
                        DEC       _ACCA
SoftDDS.L0278:
                        STS       SOFTDDS.EDITWHICH, _ACCA
                        .ENDBLOCK 858
SoftDDS.L0276:
                        .ENDBLOCK 859
SoftDDS.L0271:
SoftDDS.L0272:
                        .LINE     860
                        LDS       _ACCB, 00070h
                        CLR       _ACCA
                        SBRC      _ACCB, 004h
                        SER       _ACCA
                        COM       _ACCA
                        TST       _ACCA
                        .BRANCH   4,SoftDDS.L0281
                        BRNE      SoftDDS.L0281
                        .BRANCH   20,SoftDDS.L0279
                        RJMP      SoftDDS.L0279
SoftDDS.L0281:
                        .BLOCK    860
                        .LINE     861
                        LDS       _ACCA, SoftDDS.EditWhich
                        INC       _ACCA
                        CPI       _ACCA, 16
                        BRCS      SoftDDS.L0282
                        CLR       _ACCA
SoftDDS.L0282:
                        STS       SoftDDS.EditWhich, _ACCA
                        .LINE     865
                        LDS       _ACCA, SoftDDS.EditWhich
                        PUSH      _ACCA
                        LDS       _ACCA, SoftDDS.LastMenu
                        POP       _ACCB
                        CP        _ACCB, _ACCA
                        LDI       _ACCA, 0h
                        BREQ      SoftDDS.L0283
                        BRLO      SoftDDS.L0283
                        SER       _ACCA
SoftDDS.L0283:
                        TST       _ACCA
                        .BRANCH   4,SoftDDS.L0286
                        BRNE      SoftDDS.L0286
                        .BRANCH   20,SoftDDS.L0284
                        RJMP      SoftDDS.L0284
SoftDDS.L0286:
                        .BLOCK    865
                        .LINE     866
                        LDS       _ACCA, SoftDDS.LastMenu
                        STS       SOFTDDS.EDITWHICH, _ACCA
                        .ENDBLOCK 867
SoftDDS.L0284:
SoftDDS.L0285:
                        .ENDBLOCK 868
SoftDDS.L0279:
SoftDDS.L0280:
                        .LINE     869
                        LDS       _ACCB, 00070h
                        CLR       _ACCA
                        SBRC      _ACCB, 007h
                        SER       _ACCA
                        COM       _ACCA
                        TST       _ACCA
                        .BRANCH   4,SoftDDS.L0289
                        BRNE      SoftDDS.L0289
                        .BRANCH   20,SoftDDS.L0287
                        RJMP      SoftDDS.L0287
SoftDDS.L0289:
                        .BLOCK    869
                        .LINE     870
                        LDS       _ACCA, SoftDDS.PresetOn
                        TST       _ACCA
                        .BRANCH   4,SoftDDS.L0292
                        BRNE      SoftDDS.L0292
                        .BRANCH   20,SoftDDS.L0290
                        RJMP      SoftDDS.L0290
SoftDDS.L0292:
                        .BLOCK    870
                        .LINE     871
                        LDI       _ACCA, 000h
                        STS       SOFTDDS.PRESETON, _ACCA
                        .LINE     872
                        CBI       00032h, 002h
                        .LINE     873
                        .BRANCH   17,SoftDDS.PRESETSAVE
                        RCALL     SoftDDS.PRESETSAVE
                        .LINE     874
                        PUSH      _FRAMEPTR
                        PUSH      _FPTRHI
                        .BRANCH   17,SoftDDS.PATCHCOPYFROMEE
                        RCALL     SoftDDS.PATCHCOPYFROMEE
                        POP       _FPTRHI
                        POP       _FRAMEPTR
                        .ENDBLOCK 875
                        .BRANCH   20,SoftDDS.L0291
                        RJMP      SoftDDS.L0291
SoftDDS.L0290:
                        .BLOCK    875
                        .LINE     876
                        LDI       _ACCA, 0FFh
                        STS       SOFTDDS.PRESETON, _ACCA
                        .LINE     877
                        SBI       00032h, 002h
                        .LINE     878
                        .BRANCH   17,SoftDDS.PRESETRESTORE
                        RCALL     SoftDDS.PRESETRESTORE
                        .ENDBLOCK 879
SoftDDS.L0291:
                        .ENDBLOCK 880
SoftDDS.L0287:
SoftDDS.L0288:
                        .ENDBLOCK 881
                        .LINE     881
                        .BRANCH   20,SoftDDS.L0181
                        RJMP      SoftDDS.L0181
SoftDDS.L0182:
                        .ENDBLOCK 882

SoftDDS.$_MAINEX:
                        .LINE     882
                        .BRANCH   20,SoftDDS.$_MAINEX
                        RJMP      SoftDDS.$_MAINEX


                        .ENDFUNC  882

SYSTEM.$Main_stk        .EQU    000BCh          ; var iData  Process stack area
SYSTEM.$Main_stk_e      .EQU    0013Bh          ; var iData  Process stack area
SYSTEM.$Main_Frame      .EQU    0013Ch          ; var iData  Process stack area
SYSTEM.$Main_Frame_e    .EQU    0019Bh          ; var iData  Process stack area

                        ; ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
                        ; Initialisation and Library Routines
                        ; ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++

                        .ENTRY
SYSTEM.RESET:
                        CLI
                        ; >> Stack Init [main process only] <<
                        LDI       _ACCA, 001h
                        LDI       _ACCB, 03Bh
                        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.L0293:
                        SBIW      _ACCCLO, 001h
                        BREQ      SYSTEM.L0295
SYSTEM.L0294:
                        ST        X+, _ACCA
                        RJMP      SYSTEM.L0293
SYSTEM.L0295:
                        LDI       _ACCBLO, 00060h AND 0FFh
                        LDI       _ACCBHI, 00060h SHRB 8
                        LDI       _ACCCLO, 00400h AND 0FFh
                        LDI       _ACCCHI, 00400h SHRB 8
                        ADIW      _ACCCLO, 1
SYSTEM.L0296:
                        SBIW      _ACCCLO, 001h
                        BREQ      SYSTEM.L0298
SYSTEM.L0297:
                        ST        X+, _ACCA
                        RJMP      SYSTEM.L0296
SYSTEM.L0298:
                        LDI       _FRAMEPTR, 0019Bh AND 0FFh
                        LDI       _FPTRHI, 0019Bh SHRB 8

                        CLI
                        LDI       _ACCA, 0FEH ROLB IntFlag
                        AND       Flags, _ACCA

                        ; ============ init structured constants ============
                        ; >> Hardware Init <<

                        ; >> SysTick init: 10msec <<
                        ; >> real SysTick (exact): 9.984 msec <<
                        LDI       _ACCA, 064h
                        STS       SysTickTime, _ACCA
                        OUT       tcnt0, _ACCA
                        LDI       _ACCA, 5
                        OUT       tccr0, _ACCA
                        LDI       _ACCA, 001h
                        OUT       timsk, _ACCA

                        ; >> IncrPort4 Init <<
                        LDI       _ACCA, 0
                        STS       TCCR1A, _ACCA
                        LDI       _ACCA, 009h
                        STS       TCCR1B, _ACCA
                        LDI       _ACCA, 00FA0h SHRB 8
                        LDI       _ACCB, 00FA0h AND 0FFh
                        STS       OCR1AH, _ACCA
                        STS       OCR1AL, _ACCB

                        ; >> 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      SoftDDS.$_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.L0299
                        DEC       _ACCB
                        STS       _TWI_TO, _ACCB
SYSTEM.L0299:
                        LDS       _ACCA, SoftDDS.BurstTimer
                        TST       _ACCA
                        BREQ      SYSTEM.L0300
                        SUBI      _ACCA, 1
                        STS       SoftDDS.BurstTimer, _ACCA
SYSTEM.L0300:
                        LDI       _ACCA, 1 SHLB IntFlag
                        OR        Flags, _ACCA
                        POP       _ACCA
                        OUT       SREG, _ACCA
                        POP       _ACCA
                        POP       _ACCB
                        POP       _ACCCHI
                        POP       _ACCCLO
                        .DEB      SYSTICKEXIT
                        RETI

SYSTEM.$INTERRUPT_TIMER1COMPA:
                        PUSH      _ACCCLO
                        PUSH      _ACCCHI
                        PUSH      _ACCB
                        PUSH      _ACCA
                        IN        _ACCA, SREG
                        PUSH      _ACCA
                        RJMP      SYSTEM.L0305

SYSTEM.L0301:
                        MOV       _ACCB, _ACCA
                        LSR       _ACCA
                        LSR       _ACCA
                        ANDI      _ACCB, 3
                        BRNE      SYSTEM.L0302
                        ADIW      _ACCCLO, 2
                        RET
SYSTEM.L0302:
                        CPI       _ACCB, 1
                        BREQ      SYSTEM.L0303
                        LDD       _ACCALO, Z+0
                        LDD       _ACCAHI, Z+1
                        SUBI      _ACCALO, 0FFh
                        SBCI      _ACCAHI, 0FFh
                        RJMP      SYSTEM.L0304
SYSTEM.L0303:
                        LDD       _ACCALO, Z+0
                        LDD       _ACCAHI, Z+1
                        SUBI      _ACCALO, 1
                        SBCI      _ACCAHI, 0
SYSTEM.L0304:
                        ST        Z+, _ACCALO
                        ST        Z+, _ACCAHI
                        RET

SYSTEM.L0305:
                        PUSH      _ACCALO
                        PUSH      _ACCAHI
                        PUSH      _ACCDLO
                        PUSH      _ACCDHI
                        IN        _ACCA, PINC
                        .DEB      Incr4Int
                        ANDI      _ACCA, 03h;
                        LDI       _ACCCLO, _INCRSTATE4 AND 0FFh
                        LDI       _ACCCHI, _INCRSTATE4 SHRB 8
                        LDD       _ACCB, Z+0
                        STD       Z+0, _ACCA
                        MOV       _ACCALO, _ACCB;
                        EOR       _ACCALO, _ACCA;
                        BREQ      SYSTEM.L0306
                        MOV       _ACCAHI, _ACCALO;
                        ANDI      _ACCALO, 055h;
                        ANDI      _ACCAHI, 0AAh;
                        MOV       _ACCDLO, _ACCALO;
                        EOR       _ACCDLO, _ACCAHI;
                        AND       _ACCALO, _ACCDLO
                        AND       _ACCAHI, _ACCDLO
                        MOV       _ACCCLO, _ACCB;
                        ANDI      _ACCCLO, 055h;
                        MOV       _ACCDLO, _ACCB;
                        ANDI      _ACCDLO, 0AAh;
                        LSR       _ACCDLO;
                        EOR       _ACCCLO, _ACCDLO;
                        COM       _ACCCLO;
                        MOV       _ACCCHI, _ACCA;
                        ANDI      _ACCCHI, 055h;
                        MOV       _ACCDLO, _ACCA;
                        ANDI      _ACCDLO, 0AAh;
                        LSR       _ACCDLO;
                        EOR       _ACCCHI, _ACCDLO;
                        COM       _ACCCHI;
                        MOV       _ACCA, _ACCALO;
                        AND       _ACCA, _ACCCLO;
                        MOV       _ACCB, _ACCCHI;
                        LSL       _ACCB;
                        AND       _ACCB, _ACCAHI;
                        LSR       _ACCB;
                        OR        _ACCA, _ACCB;
                        AND       _ACCALO, _ACCCHI;
                        LSL       _ACCALO;
                        LSL       _ACCCLO;
                        AND       _ACCAHI, _ACCCLO;
                        OR        _ACCALO, _ACCAHI;
                        OR        _ACCA, _ACCALO;
                        LDI       _ACCCLO, _INCRCOUNT4_0 AND 0FFh
                        LDI       _ACCCHI, _INCRCOUNT4_0 SHRB 8
                        RCALL     SYSTEM.L0301
SYSTEM.L0306:
                        POP       _ACCDHI
                        POP       _ACCDLO
                        POP       _ACCAHI
                        POP       _ACCALO
                        POP       _ACCA
                        OUT       SREG, _ACCA
                        POP       _ACCA
                        POP       _ACCB
                        POP       _ACCCHI
                        POP       _ACCCLO
                        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.L0307
                        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.L0308
SYSTEM.L0307:
                        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.L0308:
                        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.L0309
                        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.L0309:
                        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.L0310:
                        RCALL     SYSTEM._LCDM_Busy_Rd
                        TST       _ACCA
                        BRPL       SYSTEM.L0311
                        SBIW      _ACCCLO, 1
                        BRNE      SYSTEM.L0310
                        CLR       _ACCB
                        CLR       _ACCA
                        RET
SYSTEM.L0311:
                        MOV       _ACCB, _ACCA
                        SER       _ACCA
                        RET

SYSTEM._LCDM_Ctrl_Wr:
                        PUSH      _ACCA
                        RCALL     SYSTEM._LCDWAIT_M
                        TST       _ACCA
                        BRNE      SYSTEM.L0312
                        POP       _ACCB
                        RET
SYSTEM.L0312:
                        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.L0313
                        RET
SYSTEM.L0313:
                        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.L0314
SYSTEM.LCDCURSOR_M:
                        LDD       _ACCA, Y+002h
                        STS       _LCDM_PORT, _ACCA
                        LDD       _ACCA, Y+000h
                        LDD       _ACCB, Y+001h
SYSTEM.L0314:
                        TST       _ACCA
                        BRNE       SYSTEM.L0315
                        LDI       _ACCA, 0Ch
                        RJMP      SYSTEM.L0316

SYSTEM.L0315:
                        LDI       _ACCA, 0Dh
SYSTEM.L0316:
                        TST       _ACCB
                        BREQ       SYSTEM.L0317
                        ORI       _ACCA, 2
SYSTEM.L0317:
                        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.L0318
                        LDI       _ACCA, 080h
                        RJMP      SYSTEM.L0322

SYSTEM.L0318:
                        CPI       _ACCA, 1
                        BRNE       SYSTEM.L0319
                        LDI       _ACCA, 0C0h
                        RJMP      SYSTEM.L0322

SYSTEM.L0319:
                        CPI       _ACCA, 2
                        BRNE       SYSTEM.L0320
                        LDI       _ACCA, 090h
                        RJMP      SYSTEM.L0322

SYSTEM.L0320:
                        CPI       _ACCA, 3
                        BRNE       SYSTEM.L0321
                        LDI       _ACCA, 0D0h
                        RJMP      SYSTEM.L0322

SYSTEM.L0321:
                        LDI       _ACCA, 080h
SYSTEM.L0322:
                        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.L0323:
                        PUSH      _ACCB
                        LDI       _ACCA, 20h
                        RCALL     SYSTEM._LCDM_Data_Wr
                        POP       _ACCB
                        DEC       _ACCB
                        BRNE       SYSTEM.L0323
                        POP       _ACCA
                        RJMP      SYSTEM._LCDM_Ctrl_Wr

SYSTEM.LCDHOME_M:
                        STS       _LCDM_PORT, _ACCA
                        LDI       _ACCA, 02h
                        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.L0335
                        LDI       _ACCA, 090h
                        OUT       TWCR, _ACCA
SYSTEM.L0335:
                        LDI       _ACCA, 0A4h
                        OUT       TWCR, _ACCA
                        LDI       _ACCA, 10
                        STS       _TWI_TO, _ACCA
SYSTEM.L0333:
                        IN        _ACCA, TWCR
                        ANDI      _ACCA, 080h
                        BRNE      SYSTEM.L0336
                        LDS       _ACCA, _TWI_TO
                        TST       _ACCA
                        BRNE      SYSTEM.L0333
                        OUT       TWCR, _ACCA
                        RJMP      SYSTEM.TWI_ERROR
SYSTEM.L0336:
                        IN        _ACCA, TWSR
                        ANDI      _ACCA, 0FCh
                        CPI       _ACCA, 008h
                        BRNE      SYSTEM.L0340
                        RJMP      SYSTEM.TWI_ERROR
SYSTEM.L0340:
                        RJMP      SYSTEM.TWI_OK

SYSTEM.TWISTOPB:
SYSTEM.L0341:
                        IN        _ACCA, TWSR
                        ANDI      _ACCA, 0FCh
                        CPI       _ACCA, 0F8h
                        BREQ      SYSTEM.L0341
                        CPI       _ACCA, 000h
                        BRNE      SYSTEM.L0342
                        LDI       _ACCA, 090h
                        OUT       TWCR, _ACCA
                        NOP
SYSTEM.L0342:
                        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, 10
                        STS       _TWI_TO, _ACCA
SYSTEM.L0344:
                        IN        _ACCA, TWCR
                        ANDI      _ACCA, 080h
                        BRNE      SYSTEM.L0345
                        LDS       _ACCA, _TWI_TO
                        TST       _ACCA
                        BRNE      SYSTEM.L0344
                        RJMP      SYSTEM.TWI_ERROR
SYSTEM.L0345:
                        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.L0346
                        LDI       _ACCA, 084h
SYSTEM.L0346:
                        OUT       TWCR, _ACCA
SYSTEM.L0347:
                        IN        _ACCA, TWCR
                        SBRS      _ACCA, 7
                        RJMP      SYSTEM.L0347
                        IN        _ACCA, TWSR
                        ANDI      _ACCA, 0FCh
                        CPI       _ACCA, 058h
                        BREQ      SYSTEM.L0349
                        CPI       _ACCA, 050h
                        BRNE      SYSTEM.TWI_ERROR
SYSTEM.L0349:
                        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.L0348
                        LDI       _ACCA, 090h
                        OUT       TWCR, _ACCA
SYSTEM.L0348:
                        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.L0351
                        RCALL     SYSTEM.TWIRECVBYTE
                        TST       _ACCA
                        BREQ      SYSTEM.L0351
                        RJMP      SYSTEM.TWI_OK
SYSTEM.L0351:
                        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.L0357
SYSTEM.L0352:
                        MOV       _ACCDLO, _ACCAHI
                        RCALL     SYSTEM.TWISENDBYTE
                        TST       _ACCA
                        BREQ      SYSTEM.L0357
                        BST       Flags, _I2C2BYTE
                        BRTC      SYSTEM.L0356
                        MOV       _ACCDLO, _ACCALO
SYSTEM.L0354:
                        RCALL     SYSTEM.TWISENDBYTE
                        TST       _ACCA
                        BREQ      SYSTEM.L0357
SYSTEM.L0356:
                        TST       _ACCBLO
                        BRNE       SYSTEM.L0361
                        TST       _ACCBHI
                        BREQ       SYSTEM.L0355
SYSTEM.L0361:
                        TST       _ACCDHI
                        BRNE      SYSTEM.L0358
                        LD        _ACCDLO, Z+
                        RJMP      SYSTEM.L0360
SYSTEM.L0358:
                        CPI       _ACCDHI, 1
                        BRNE      SYSTEM.L0359
                        LPM       _ACCDLO, Z+
                        RJMP      SYSTEM.L0360
SYSTEM.L0359:
                        RCALL     SYSTEM.ReadEEp8D
                        ADIW      _ACCCLO, 01h
SYSTEM.L0360:
                        SBIW      _ACCBLO, 1
                        RJMP      SYSTEM.L0354
SYSTEM.L0355:
                        RCALL     SYSTEM.TWISTOPB
                        RJMP      SYSTEM.TWI_OK
SYSTEM.L0357:
                        RCALL     SYSTEM.TWI_ERROR
                        SER       _ACCB
                        STS       TWI_DevLock, _ACCB
                        CLR       _ACCA
                        RET

SYSTEM.IncrCount4start:
                        CLI
                        IN        _ACCA, TIMSK
                        ORI       _ACCA, 010h
                        OUT       TIMSK, _ACCA
                        SBRC      Flags, IntFlag
                        SEI
                        RET

SYSTEM.GetIncrVal4:
                        LDI       _ACCCLO, _INCRCOUNT4_0 AND 0FFh
                        LDI       _ACCCHI, _INCRCOUNT4_0 SHRB 8
                        CPI       _ACCA, 1
                        BRCS      SYSTEM.L0362
                        LDI       _ACCB, 0
                        LDI       _ACCA, 0
                        RET
SYSTEM.L0362:
                        CLR       _ACCB
                        LSL       _ACCA
                        ADD       _ACCCLO, _ACCA
                        ADC       _ACCCHI, _ACCB
                        CLI
                        LD        _ACCB, Z+
                        LD        _ACCA, Z+
                        SBRC      Flags, IntFlag
                        SEI
                        RET

SYSTEM.SetIncrVal4:
                        LDD       _ACCA, Y+002h
                        CPI       _ACCA, 1
                        BRCS      SYSTEM.L0363
                        RET
SYSTEM.L0363:
                        LDI       _ACCCLO, _INCRCOUNT4_0 AND 0FFh
                        LDI       _ACCCHI, _INCRCOUNT4_0 SHRB 8
                        CLR       _ACCB
                        LSL       _ACCA
                        ADD       _ACCCLO, _ACCA
                        ADC       _ACCCHI, _ACCB
                        LDD       _ACCB, Y+000h
                        LDD       _ACCA, Y+001h
                        CLI
                        ST        Z+, _ACCB
                        ST        Z+, _ACCA
                        SBRC      Flags, IntFlag
                        SEI
                        RET

SYSTEM.ClearIncrAll4:
                        CLR       _ACCA
                        LDI       _ACCB, 5
                        LDI       _ACCCLO, _INCRSTATE4 AND 0FFh
                        LDI       _ACCCHI, _INCRSTATE4 SHRB 8
                        CLI
SYSTEM.L0364:
                        ST        Z+, _ACCA
                        DEC       _ACCB
                        BRNE      SYSTEM.L0364
                        SBRC      Flags, IntFlag
                        SEI
                        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.L0365:
                        SUBI      _ACCALO, 001h
                        SBCI      _ACCAHI, 000h
                        BRCS      SYSTEM.L0366
                        LD        _ACCA, Z+
                        ST        X+, _ACCA
                        RJMP      SYSTEM.L0365
SYSTEM.L0366:
                        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.L0367
                        OUT       eedr, _ACCA
                        SBI       eecr, 2
                        SBI       eecr, 1
SYSTEM.L0367:
                        POP       _ACCDLO
                        SBRC      Flags, IntFlag
                        SEI
                        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.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.L0368
                        LSR       _ACCFLO
                        BRNE      SYSTEM.L0370
                        PUSH      _ACCA
                        RCALL     SYSTEM.ReadEEp8
                        MOV       _ACCAHI, _ACCA
                        POP       _ACCA
                        ADIW      _ACCCLO, 01h
                        RJMP      SYSTEM.L0369
SYSTEM.L0370:
                        LPM       _ACCAHI, Z+
                        RJMP      SYSTEM.L0369
SYSTEM.L0368:
                        LD        _ACCAHI, Z+
SYSTEM.L0369:
                        TST       _ACCAHI
                        BREQ      SYSTEM.L0377
                        MOV       _ACCFLO, _ACCFHI
                        ANDI      _ACCFLO, 10h
                        BREQ      SYSTEM.L0372
SYSTEM.L0372:
                        LD        _ACCALO, X
SYSTEM.L0374:
                        CP        _ACCB, _ACCA
                        BRCC      SYSTEM.L0376
SYSTEM.L0377:
                        RET
SYSTEM.L0376:
                        MOV       _ACCDLO, _ACCB
                        SUB       _ACCDLO, _ACCA
                        MOV       _ACCDHI, _ACCDLO
                        SUB       _ACCDLO, _ACCAHI
                        BRCS      SYSTEM.L0382
                        CP        _ACCALO, _ACCA
                        BRCC      SYSTEM.L0379
                        MOV       _ACCELO, _ACCAHI
                        ADD       _ACCELO, _ACCALO
                        CP        _ACCB, _ACCELO
                        BRCS      SYSTEM.L0378
                        MOV       _ACCB, _ACCELO
SYSTEM.L0378:
                        RJMP      SYSTEM.L0382
SYSTEM.L0379:
                        PUSH      _ACCBLO
                        PUSH      _ACCBHI
                        PUSH      _ACCCLO
                        PUSH      _ACCCHI
                        MOV       _ACCDHI, _ACCALO
                        SUB       _ACCDHI, _ACCA
                        CP        _ACCDHI, _ACCDLO
                        BRCC      SYSTEM.L0380
                        MOV       _ACCDLO, _ACCDHI
SYSTEM.L0380:
                        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.L0381
SYSTEM.L0381:
                        LD        _ACCGLO, -X
                        ST        -Z, _ACCGLO
                        DEC       _ACCDHI
                        BRNE     SYSTEM.L0381
SYSTEM.L0375:
                        POP       _ACCCHI
                        POP       _ACCCLO
                        POP       _ACCBHI
                        POP       _ACCBLO
                        MOV       _ACCB, _ACCA
                        ADD       _ACCB, _ACCAHI
                        ADD       _ACCB, _ACCDLO
                        BRNE     SYSTEM.L0386
SYSTEM.L0382:
                        ADD       _ACCAHI, _ACCDLO
                        INC       _ACCAHI
SYSTEM.L0386:
                        MOV       _ACCFLO, _ACCFHI
                        ANDI      _ACCFLO, 10h
                        BREQ      SYSTEM.L0389
SYSTEM.L0389:
                        ST        X, _ACCB
SYSTEM.L0388:
                        CLR       _ACCALO
                        ADD       _ACCBLO, _ACCA
                        ADC       _ACCBHI, _ACCALO
SYSTEM.L0387:
                        MOV       _ACCFLO, _ACCFHI
                        ANDI      _ACCFLO, 3
                        TST       _ACCFLO
                        BREQ      SYSTEM.L0390
                        LSR       _ACCFLO
                        BRNE      SYSTEM.L0392
                        RCALL     SYSTEM.ReadEEp8
                        MOV       _ACCGLO, _ACCA
                        ADIW      _ACCCLO, 01h
                        RJMP      SYSTEM.L0391
SYSTEM.L0392:
                        LPM       _ACCGLO, Z+
                        RJMP      SYSTEM.L0391
SYSTEM.L0390:
                        LD        _ACCGLO, Z+
SYSTEM.L0391:
                        MOV       _ACCFLO, _ACCFHI
                        ANDI      _ACCFLO, 10h
                        BREQ      SYSTEM.L0393
SYSTEM.L0393:
                        ST        X+, _ACCGLO
SYSTEM.L0394:
                        DEC       _ACCAHI
                        BRNE     SYSTEM.L0387
SYSTEM.L0385:
                        RET


SYSTEM._ArrToStr:
                        MOV       _ACCBHI, _ACCA
SYSTEM.L0395:
                        LD        _ACCA, Z+
                        TST       _ACCA
                        BREQ      SYSTEM.L0396
                        RCALL     SYSTEM.Char2Str
                        DEC       _ACCBHI
                        BRNE      SYSTEM.L0395
SYSTEM.L0396:
                        RET


SYSTEM.StrConst2Str:
SYSTEM.L0397:
                        LPM      _ACCA, Z+
                        RCALL     SYSTEM.Char2Str
                        DEC       _ACCBHI
                        BRNE      SYSTEM.L0397
                        RET


SYSTEM.StrVar2Str:
                        LD        _ACCA, Z+
                        TST       _ACCA
                        BREQ      SYSTEM.L0399
                        MOV       _ACCBHI, _ACCA
SYSTEM.L0398:
                        LD        _ACCA, Z+
                        RCALL     SYSTEM.Char2Str
                        DEC       _ACCBHI
                        BRNE      SYSTEM.L0398
SYSTEM.L0399:
                        RET


SYSTEM.Byte2Str_X:
                        LD        _ACCB, X+
SYSTEM.L0400:
                        LD        _ACCA, X+
                        RCALL     SYSTEM.Char2Str
                        DEC       _ACCAHI
                        BRNE      SYSTEM.L0401
                        LDI       _ACCA, DECIMALSEP
                        RCALL     SYSTEM.Char2Str
SYSTEM.L0401:
                        DEC       _ACCB
                        BRNE      SYSTEM.L0400
                        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.L0402
                        TST       _ACCA
                        BREQ      SYSTEM.L0403
SYSTEM.L0402:
                        INC       _ACCCLO
                        STD       Y+0, _ACCCLO
                        CLR       _ACCCHI
                        ADD       _ACCCLO, _FRAMEPTR
                        ADC       _ACCCHI, _FPTRHI
                        ORI       _ACCA, 030h
                        STD       Z+0, _ACCA
SYSTEM.L0403:
                        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.L0404
                        SBRC      _ACCA, 7
                        BLD       Flags, _NEGATIVE
SYSTEM.L0404:
                        LDI       _ACCELO, 4
SYSTEM.L0405:
                        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.L0406
                        NEG       _ACCA
SYSTEM.L0406:
                        RCALL     SYSTEM.Byte2Str_P
                        POP       _ACCCHI
                        POP       _ACCCLO
                        DEC       _ACCELO
                        BRNE      SYSTEM.L0405
                        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.L0407
                        INC       _ACCB
                        STD       Y+0, _ACCB
                        LDI       _ACCA, 30h
                        STD       Y+1, _ACCA
SYSTEM.L0407:
                        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.L0409
                        MOV       _ACCAHI, _ACCDLO
                        SUB       _ACCAHI, _ACCALO
                        BST       Flags, _NEGATIVE
                        BRTC      SYSTEM.L0408
                        LDI       _ACCA, 2Dh
                        RCALL     SYSTEM.Char2Str
SYSTEM.L0408:
                        RJMP      SYSTEM.Byte2Str_X
SYSTEM.L0409:
                        MOV       _ACCB, _ACCDLO
                        CP        _ACCALO, _ACCDLO
                        BRLT      SYSTEM.L0410
                        MOV       _ACCB, _ACCALO
                        INC       _ACCB
SYSTEM.L0410:
                        BST       Flags, _NEGATIVE
                        BRTC      SYSTEM.L0416
                        DEC       _ACCAHI
SYSTEM.L0416:
                        MOV       _ACCA, _ACCDHI
                        SUB       _ACCB, _ACCAHI
                        NEG       _ACCB
                        BREQ      SYSTEM.L0412
                        BRMI      SYSTEM.L0412
SYSTEM.L0411:
                        RCALL     SYSTEM.Char2Str
                        DEC       _ACCAHI
                        DEC       _ACCB
                        BRNE      SYSTEM.L0411
SYSTEM.L0412:
                        BST       Flags, _NEGATIVE
                        BRTC      SYSTEM.L0415
                        LDI       _ACCA, 2Dh
                        RCALL     SYSTEM.Char2Str
SYSTEM.L0415:
                        SUB       _ACCAHI, _ACCALO
                        CP        _ACCALO, _ACCDLO
                        BRCS      SYSTEM.L0414
                        LDI       _ACCA, 30h
                        RCALL     SYSTEM.Char2Str
                        LDI       _ACCA, DECIMALSEP
                        RCALL     SYSTEM.Char2Str
                        CLR       _ACCAHI
                        SUB       _ACCALO, _ACCDLO
                        BREQ      SYSTEM.L0414
SYSTEM.L0413:
                        LDI       _ACCA, 30h
                        RCALL     SYSTEM.Char2Str
                        DEC       _ACCALO
                        BRNE      SYSTEM.L0413
SYSTEM.L0414:
                        RJMP      SYSTEM.Byte2Str_X
SYSTEM.Int2Str_A:
                        BST       Flags, _NEGATIVE
                        BRTC      SYSTEM.L0417
                        DEC       _ACCAHI
                        BRMI      SYSTEM.L0419
SYSTEM.L0417:
                        LD        _ACCB, X
                        SUB       _ACCAHI, _ACCB
                        BREQ      SYSTEM.L0419
                        BRCS      SYSTEM.L0419
                        MOV       _ACCA, _ACCDHI
SYSTEM.L0418:
                        RCALL     SYSTEM.Char2Str
                        DEC       _ACCAHI
                        BRNE      SYSTEM.L0418
SYSTEM.L0419:
                        BST       Flags, _NEGATIVE
                        BRTC      SYSTEM.L0420
                        LDI       _ACCA, 2Dh
                        RCALL     SYSTEM.Char2Str
SYSTEM.L0420:
                        RJMP      SYSTEM.Byte2Str_X

SYSTEM.Char2Str:
                        PUSH      _ACCCLO
                        PUSH      _ACCCHI
                        BST       Flags, _DEVICE
                        BRTS      SYSTEM.L0424
                        PUSH      _ACCA
                        LDD       _ACCCLO, Y+001h
                        LDD       _ACCCHI, Y+002h
                        LDD       _ACCA, Y+000h
                        TST       _ACCA
                        BRNE      SYSTEM.L0421
                        POP       _ACCA
                        SET
                        BLD       Flags, _ERRFLAG
                        POP       _ACCCHI
                        POP       _ACCCLO
                        RET
SYSTEM.L0421:
                        DEC       _ACCA
                        STD       Y+000h, _ACCA
                        POP       _ACCA
                        BST       Flags, _EEPROM
                        BRTS      SYSTEM.L0422
                        ST        Z+, _ACCA
                        RJMP      SYSTEM.L0423
SYSTEM.L0422:
                        RCALL     SYSTEM.WriteEEp8
                        ADIW      _ACCCLO, 01h
SYSTEM.L0423:
                        STD       Y+002h, _ACCCHI
                        STD       Y+001h, _ACCCLO
                        POP       _ACCCHI
                        POP       _ACCCLO
                        RET
SYSTEM.L0424:
                        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.DIV8:
                        POP       _ACCAHI
                        POP       _ACCALO
                        MOV       _ACCB, _ACCA
                        POP       _ACCA
                        PUSH      _ACCALO
                        PUSH      _ACCAHI
SYSTEM.DIV8_R:
                        CLR       _ACCAHI
                        LDI       _ACCALO, 9
SYSTEM.L0425:
                        ROL       _ACCA
                        DEC       _ACCALO
                        BRNE      SYSTEM.L0426
                        MOV       _ACCB, _ACCAHI
                        RET
SYSTEM.L0426:
                        ROL       _ACCAHI
                        SUB       _ACCAHI, _ACCB
                        BRCC      SYSTEM.L0427
                        ADD       _ACCAHI, _ACCB
                        CLC
                        RJMP      SYSTEM.L0425
SYSTEM.L0427:
                        SEC
                        RJMP      SYSTEM.L0425


SYSTEM.DIV16:
                        MOVW      _ACCALO, _ACCB
SYSTEM.DIV16_R:
                        CLR       _ACCDHI
                        BST       Flags, _SIGN
                        BRTC      SYSTEM.L0428
                        MOV       _ACCDHI, _ACCBHI
                        MOV       _ACCDLO, _ACCAHI
                        EOR       _ACCDLO, _ACCBHI
                        CLT
                        SBRS      _ACCDLO, 7
                        BLD       Flags, _SIGN
                        SBRS      _ACCAHI, 7
                        RJMP      SYSTEM.L0430
                        NEG       _ACCALO
                        BRNE      SYSTEM.L0431
                        DEC       _ACCAHI
SYSTEM.L0431:
                        COM       _ACCAHI
SYSTEM.L0430:
                        SBRS      _ACCBHI, 7
                        RJMP      SYSTEM.L0428
                        NEG       _ACCBLO
                        BRNE      SYSTEM.L0432
                        DEC       _ACCBHI
SYSTEM.L0432:
                        COM       _ACCBHI
SYSTEM.L0428:
                        CLR       _ACCCLO
                        SUB       _ACCCHI, _ACCCHI
                        LDI       _ACCA, 17
SYSTEM.L0433:
                        ROL       _ACCBLO
                        ROL       _ACCBHI
                        DEC       _ACCA
                        BRNE      SYSTEM.L0434
                        MOVW      _ACCB, _ACCBLO
                        BST       Flags, _SIGN
                        BRTC      SYSTEM.L0429
                        NEG       _ACCB
                        BRNE      SYSTEM.L0436
                        DEC       _ACCA
SYSTEM.L0436:
                        COM       _ACCA
SYSTEM.L0429:
                        RET
SYSTEM.L0434:
                        ROL       _ACCCLO
                        ROL       _ACCCHI
                        SUB       _ACCCLO, _ACCALO
                        SBC       _ACCCHI, _ACCAHI
                        BRCC      SYSTEM.L0435
                        ADD       _ACCCLO, _ACCALO
                        ADC       _ACCCHI, _ACCAHI
                        CLC
                        RJMP      SYSTEM.L0433
SYSTEM.L0435:
                        SEC
                        RJMP      SYSTEM.L0433


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.L0437
SYSTEM.MUL32_R:
                        MOVW      _ACCBLO, _ACCB
                        MOVW      _ACCCLO, _ACCALO
SYSTEM.L0437:
                        BST       Flags, _SIGN
                        BRTC      SYSTEM.L0438
                        MOV       _ACCFLO, _ACCCHI
                        EOR       _ACCFLO, _ACCEHI
                        CLT
                        SBRS      _ACCFLO, 7
                        BLD       Flags, _SIGN
                        SBRS      _ACCCHI, 7
                        RJMP      SYSTEM.L0440
                        COM       _ACCBLO
                        COM       _ACCBHI
                        COM       _ACCCLO
                        COM       _ACCCHI
                        SUBI      _ACCBLO, 0FFh
                        SBCI      _ACCBHI, 0FFh
                        SBCI      _ACCCLO, 0FFh
                        SBCI      _ACCCHI, 0FFh
SYSTEM.L0440:
                        SBRS      _ACCEHI, 7
                        RJMP      SYSTEM.L0438
                        COM       _ACCDLO
                        COM       _ACCDHI
                        COM       _ACCELO
                        COM       _ACCEHI
                        SUBI      _ACCDLO, 0FFh
                        SBCI      _ACCDHI, 0FFh
                        SBCI      _ACCELO, 0FFh
                        SBCI      _ACCEHI, 0FFh
SYSTEM.L0438:
                        CLR       _ACCFHI
                        CLR       _ACCFLO
                        CLR       _ACCGHI
                        CLR       _ACCGLO
                        LDI       _ACCA, 32
                        LSR       _ACCEHI
                        ROR       _ACCELO
                        ROR       _ACCDHI
                        ROR       _ACCDLO
SYSTEM.L0442:
                        BRCC      SYSTEM.L0441
                        ADD       _ACCFLO, _ACCBLO
                        ADC       _ACCFHI, _ACCBHI
                        ADC       _ACCGLO, _ACCCLO
                        ADC       _ACCGHI, _ACCCHI
SYSTEM.L0441:
                        ROR       _ACCGHI
                        ROR       _ACCGLO
                        ROR       _ACCFHI
                        ROR       _ACCFLO
                        ROR       _ACCEHI
                        ROR       _ACCELO
                        ROR       _ACCDHI
                        ROR       _ACCDLO
                        DEC       _ACCA
                        BRNE      SYSTEM.L0442
                        MOVW      _ACCB, _ACCDLO
                        MOVW      _ACCALO, _ACCELO
                        BST       Flags, _SIGN
                        BRTC      SYSTEM.L0439
                        SUBI      _ACCB, 01h
                        SBCI      _ACCA, 00h
                        SBCI      _ACCALO, 00h
                        SBCI      _ACCAHI, 00h
                        COM       _ACCALO
                        COM       _ACCAHI
                        COM       _ACCA
                        COM       _ACCB
SYSTEM.L0439:
                        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.L0444
                        CPI       _ACCALO, 10h
                        BRCS      SYSTEM.L0443
                        CLR       _ACCA
                        CLR       _ACCB
                        RET
SYSTEM.L0443:
                        LSL       _ACCB
                        ROL       _ACCA
                        DEC       _ACCALO
                        BRNE      SYSTEM.L0443
SYSTEM.L0444:
                        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.L0446
                        CPI       _ACCCLO, 20h
                        BRCS      SYSTEM.L0445
                        CLR       _ACCA
                        CLR       _ACCB
                        CLR       _ACCALO
                        CLR       _ACCAHI
                        RET
SYSTEM.L0445:
                        LSL       _ACCB
                        ROL       _ACCA
                        ROL       _ACCALO
                        ROL       _ACCAHI
                        DEC       _ACCCLO
                        BRNE      SYSTEM.L0445
SYSTEM.L0446:
                        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      SoftDDS.Vers1Str
SoftDDS.Vers1Str:
                        .BYTE     14
                        .ASCII    "DDS9833 V#1.12"

                        .SYM      SoftDDS.Vers2Str
SoftDDS.Vers2Str:
                        .BYTE     14
                        .ASCII    "C. Meyer 11/05"

                        .SYM      SoftDDS.HzStr
SoftDDS.HzStr:
                        .BYTE     3
                        .ASCII    " Hz"

                        .SYM      SoftDDS.dBStr
SoftDDS.dBStr:
                        .BYTE     3
                        .ASCII    " dB"

                        .SYM      SoftDDS.SinStr
SoftDDS.SinStr:
                        .BYTE     3
                        .ASCII    "Sin"

                        .SYM      SoftDDS.SquStr
SoftDDS.SquStr:
                        .BYTE     3
                        .ASCII    "Sqr"

                        .SYM      SoftDDS.TriStr
SoftDDS.TriStr:
                        .BYTE     3
                        .ASCII    "Tri"

                        .SYM      SoftDDS.ExtStr
SoftDDS.ExtStr:
                        .BYTE     3
                        .ASCII    "Ext"

                        .SYM      SoftDDS.NrmStr
SoftDDS.NrmStr:
                        .BYTE     3
                        .ASCII    "Nrm"

                        .SYM      SoftDDS.SymStr
SoftDDS.SymStr:
                        .BYTE     3
                        .ASCII    "Sym"

                        .SYM      SoftDDS.MemStr
SoftDDS.MemStr:
                        .BYTE     7
                        .ASCII    "Memory "

                        .SYM      SoftDDS.PresetStr
SoftDDS.PresetStr:
                        .BYTE     7
                        .ASCII    "Preset "

                        .SYM      SoftDDS.TerzStr
SoftDDS.TerzStr:
                        .BYTE     7
                        .ASCII    "TerzFr "

                        .SYM      SoftDDS.FrequStr
SoftDDS.FrequStr:
                        .BYTE     16
                        .ASCII    "Frequency Hz    "

                        .SYM      SoftDDS.OptStr
SoftDDS.OptStr:
                        .BYTE     16
                        .ASCII    "Wav Adj Out Brst"

$St_String23:
                        .BYTE     1
                        .ASCII    "."


                        ; ============ array-constant tables ============
                        .SYM      SoftDDS.fhz
SoftDDS.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      SoftDDS.fdhz
SoftDDS.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      SoftDDS.dBadj
SoftDDS.dBadj:
                        .BYTE     041h
                        .BYTE     040h
                        .BYTE     040h
                        .BYTE     03Fh
                        .BYTE     03Fh
                        .BYTE     03Eh
                        .BYTE     03Eh
                        .BYTE     03Dh
                        .BYTE     03Dh
                        .BYTE     03Ch
                        .BYTE     03Ch
                        .BYTE     03Bh
                        .BYTE     03Bh
                        .BYTE     03Ah
                        .BYTE     03Ah
                        .BYTE     03Ah
                        .BYTE     039h
                        .BYTE     039h
                        .BYTE     039h
                        .BYTE     038h
                        .BYTE     038h
                        .BYTE     038h
                        .BYTE     038h
                        .BYTE     038h
                        .BYTE     037h
                        .BYTE     036h
                        .BYTE     036h
                        .BYTE     036h
                        .BYTE     036h
                        .BYTE     036h
                        .BYTE     035h
                        .BYTE     035h
                        .BYTE     035h
                        .BYTE     035h
                        .BYTE     035h
                        .BYTE     034h
                        .BYTE     034h
                        .BYTE     034h
                        .BYTE     034h
                        .BYTE     033h
                        .BYTE     033h
                        .BYTE     033h
                        .BYTE     033h
                        .BYTE     032h
                        .BYTE     032h
                        .BYTE     032h
                        .BYTE     032h
                        .BYTE     031h
                        .BYTE     031h
                        .BYTE     031h
                        .BYTE     031h
                        .BYTE     030h
                        .BYTE     030h
                        .BYTE     030h
                        .BYTE     030h
                        .BYTE     030h
                        .BYTE     02Fh
                        .BYTE     02Fh
                        .BYTE     02Fh
                        .BYTE     02Eh
                        .BYTE     02Eh
                        .BYTE     033h
                        .BYTE     033h
                        .BYTE     031h

                        .SYM      SoftDDS.dBfac
SoftDDS.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      SoftDDS.posx
SoftDDS.posx:
                        .BYTE     000h
                        .BYTE     002h
                        .BYTE     004h
                        .BYTE     006h
                        .BYTE     008h
                        .BYTE     00Ah
                        .BYTE     00Ch
                        .BYTE     00Eh
                        .BYTE     007h
                        .BYTE     009h
                        .BYTE     000h
                        .BYTE     005h
                        .BYTE     008h
                        .BYTE     00Dh
                        .BYTE     004h
                        .BYTE     004h

                        .SYM      SoftDDS.cursx
SoftDDS.cursx:
                        .BYTE     001h
                        .BYTE     003h
                        .BYTE     005h
                        .BYTE     007h
                        .BYTE     009h
                        .BYTE     00Bh
                        .BYTE     00Dh
                        .BYTE     00Fh
                        .BYTE     009h
                        .BYTE     00Dh
                        .BYTE     003h
                        .BYTE     007h
                        .BYTE     00Bh
                        .BYTE     00Fh
                        .BYTE     000h
                        .BYTE     000h

                        .SYM      SoftDDS.posy
SoftDDS.posy:
                        .BYTE     001h
                        .BYTE     001h
                        .BYTE     001h
                        .BYTE     001h
                        .BYTE     001h
                        .BYTE     001h
                        .BYTE     001h
                        .BYTE     001h
                        .BYTE     000h
                        .BYTE     000h
                        .BYTE     001h
                        .BYTE     001h
                        .BYTE     001h
                        .BYTE     001h
                        .BYTE     001h
                        .BYTE     001h

                        .SYM      SoftDDS.TerzArray
SoftDDS.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.$INTERRUPT_TIMER1COMPA
                        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   = ...0013Bh


                        ; ===== Current top of User Vars in Data is 00008h =====

                        ; ===== Current top of User Vars in IData is 0019Bh =====

                        ; ===== Current top of User Vars in EEprom is 001FFh =====


                        ; ===== Imported Library Routines =====

                        ; Divide       byte DIV8
                        ; Divide       word DIV16
                        ; Shift  left  word SHL16
                        ; LongWord and LongInt types
                        ; Multiply     long MUL32
                        ; Shift  left  long SHL32
                        ; Convert int to string
                        ; EEprom read
                        ; EEprom write

                        ; Pascal Statements : 497
                        ; Assembler Lines   : 13032
                        ; Optimizer removed : 269 lines = 538Bytes

                        ; >> real SysTick (exact): 9.984 msec <<

;  Linker removed the following functions and procedures
;
;  Module/Unit             Function/Procedure
;  ------------------------------------------
;
