HEX SEX

Опубликовано 10 марта 2010 
Рубрики: Электроника
Метки:

DI HALT (18:58:45 10/03/2010)
занимаюсь кусочно линейной аппроксимацией логарифической функции на ассемблере

norguhtar(18:58:52 10/03/2010)
мдаа…
лечиццо не пробовал ? :)

DI HALT (18:59:17 10/03/2010)
да не, нормально, в 50 команд укладываюсь
Вот, зырь:

LineAPPROX:    LDS     OSRG,ADC_Data

MuchFAR:    CPI      OSRG,20
            BRCS    MuchFar

            CPI     OSRG,56
            BRCS    Far

            CPI     OSRG,118
            BRCS    Near

            CPI      ОSRG,250
            BRCS    Close

ToClose:    LDI       OSRG,0
            RET

; X = 63-0.25Y
Close:    LSR      OSRG        ;0.25Y
            LSR      OSRG

            LDI      ACC,63
            SUB     ACC,OSRG
            RJMP    JABA

; X= 150 - Y
Near:        LDI        ACC,150
              SUB        ACC,OSRG    ; 150-Y
JABA:        MOV        OSRG,ACC
              RET

; X = 63+255-4Y
Far:          LSL        OSRG        ; Y*4
              LSL     OSRG

              COM        OSRG        ; 255-(Y*4)
              SUBI        OSRG,-63    ; 63+(255-(Y*4))
              RET            

MuchFar:    LDI        OSRG,255
              RET

DI HALT (19:04:32 10/03/2010)
а JABA это меня жаба задавила тратить лишние два байта

norguhtar (19:04:36 10/03/2010)
%))

DI HALT (19:04:37 10/03/2010)
взял из другой процедуры джампнув туда - на джамп всего одна команда,
в два байта

DI HALT (19:05:06 10/03/2010)
экономия! Правда по тактам также вышло. Джамп он в два машинных цикла. Хотя, если подумать, то можно зажать еще четыре байта.

Комментарии

6 комментариев на «HEX SEX»


  1. el-creator.livejournal.com 11 марта 2010 2:03

    Скоро дойдет до того, что вместо массива данных вздумается размещать его хэш и размер, а потом за много процессорных тактов перебирать все возможные значения массива указанного размера, загоняя их в функцию, пока не совпадет с хэшем. Как совпало - считать данные верными и использовать:) экономия по объему постоянной памяти потрясающая…

    DI HALT

    Дадада Число Пи содержит все данные мира, надо только знать нужное смещение

    1nd1g0

    Шутки - шутками, а этот алгоритм сжатия называется арифметическим кодированием, мой лучший друг его ещё на Спекртуме в ассемблере воплотил)


  2. Softwayer 26 июня 2010 21:56

    Кстати, на самом деле НЕХ расшифровается «Неведемая Е..ная Х..ня» :)

    azcrc

    “история одного байта” :)


  3. parus 17 июля 2010 22:10

    Почему-то напомнило эту игрушку: http://www.gameroo.com/games/light-bot?r=nl

Оставьте свой отзыв

Вы должны войти, чтобы оставлять комментарии.

Материалы сайта являются авторскими. Копирование и публикация материалов без активной ссылки на первоисточник запрещено.

Спонсорская реклама: