реклама на сайте
подробности

 
 
 
Reply to this topicStart new topic
SasaVitebsk
сообщение Jul 20 2009, 22:39
Сообщение #1


Гуру
******

Группа: Свой
Сообщений: 2 712
Регистрация: 28-11-05
Из: Беларусь, Витебск, Строителей 18-4-220
Пользователь №: 11 521



Несколько раз пользовался документами фирмы TI. Обычно они радуют своей лаконичностью и "ненавороченностью". Обычно вопросов не возникало. Сам я с MSP430 не работал и пока не планирую. Сейчас при изучении с документом slaa037 возникли проблемы. Сама теория описана весьма скудно. Пытаюсь разобраться "по программе". И тут возникли проблемы. С одним участком возникли проблемы.
Приведу выдержки:
Код
**************************************************
* Running this filter takes 113 cycles
**************************************************
;*****************************************************
; New simpler filter at following specification
; Freq_Stop: 2.5KHz, Attenuation_Stop: 40dB
; Freq_Pass: 1.4KHz, Attenuation_Pass: 1dB
; Order of filter = 5
;*****************************************************
filters:
bis #INTERRUPT_TOGGLE,global_status
mov #WDF_PARMS,mem_ptr
.word 4f16h
.word 0000h
.word 498fh
.word 0000h
.word 4f17h
.word 0008h
.word 8607h
.word 4708h
.word 1108h
.word 4806h
.word 1108h
.word 1108h
.word 1108h
.word 1108h
.word 1108h
.word 8806h
.word 8f16h
.word 0008h
.word 4f9fh
.word 0006h
.word 0008h
.word 468fh
.word 0006h
.word 8706h
.word 4f17h
.word 0004h
.word 8907h
.word 4708h
.word 1108h
.word 1108h
.word 1108h
.word 4809h
.word 1108h
.word 1108h
.word 1108h
.word 8809h
.word 5f19h
.word 0004h
.word 8907h
.word 4f9fh
.word 0002h
.word 0004h
.word 478fh
.word 0002h
.word 8906h
mov R6,bit_data
;**************************************************************
; Low pass filter output stored in R6
; R6 get turned into a analogue value after some hard limiting
;**************************************************************
add #80h,R6
tst R6
jge non_negative
mov #0,R6
non_negative
cmp #0ffh,R6
jlo non_ceiling
mov #0ffh,R6
non_ceiling
mov.b R6,&P0OUT
exit_D_A
reti

Предполагаю что это таблица идущая по тексту программы. Но не вижу к ней обращения. Короче одни вопросы.

Поясните пожалуйста, что автор здесь делает?
Go to the top of the page
 
+Quote Post
SSerge
сообщение Jul 21 2009, 00:18
Сообщение #2


Профессионал
*****

Группа: Свой
Сообщений: 1 719
Регистрация: 13-09-05
Из: Novosibirsk
Пользователь №: 8 528



это тоже код, деассемблировал вручную начало:
Код
.word 4f16h        mov    0(R15),R6
.word 0000h
.word 498fh        mov    R9,0(R15)
.word 0000h
.word 4f17h        mov    8(R15),R7
.word 0008h
.word 8607h        sub    R6,R7
.word 4708h        mov    R7,R8
.word 1108h        rra    R8


--------------------
Russia est omnis divisa in partes octo.
Go to the top of the page
 
+Quote Post
SasaVitebsk
сообщение Jul 21 2009, 06:03
Сообщение #3


Гуру
******

Группа: Свой
Сообщений: 2 712
Регистрация: 28-11-05
Из: Беларусь, Витебск, Строителей 18-4-220
Пользователь №: 11 521



Цитата(SSerge @ Jul 21 2009, 03:18) *
это тоже код, деассемблировал вручную начало:

То есть это такой способ скрыть реализацию. Зачем же тогда апнот писать?

Может кто поможет с дизасемблированием? Не хочется из-за этого спец пакет ставить, а в ручную замучиешься.

Заранее благодарю.
Go to the top of the page
 
+Quote Post
MrYuran
сообщение Jul 21 2009, 06:09
Сообщение #4


Беспросветный оптимист
******

Группа: Свой
Сообщений: 4 640
Регистрация: 26-12-07
Из: Н.Новгород
Пользователь №: 33 646



Цитата(SasaVitebsk @ Jul 21 2009, 10:03) *
Может кто поможет с дизасемблированием? Не хочется из-за этого спец пакет ставить, а в ручную замучиешься.

online asm/disasm
Вот первые 2 слова:
Цитата
Disassembling the following words:
0x4f16 0x0000
Results in the following assembler instruction:
mov 0(R15), R6 (3 cycles, 2 words)

Правда, таскать туда-сюда тоже неудобно..
Зато просто и не надо ничего ставить


--------------------
Программирование делится на системное и бессистемное. ©Моё :)
— а для кого-то БГ — это Bill Gilbert =)
Go to the top of the page
 
+Quote Post
SasaVitebsk
сообщение Jul 21 2009, 07:07
Сообщение #5


Гуру
******

Группа: Свой
Сообщений: 2 712
Регистрация: 28-11-05
Из: Беларусь, Витебск, Строителей 18-4-220
Пользователь №: 11 521



Спасибо. Годится. smile.gif
Go to the top of the page
 
+Quote Post
Сергей Борщ
сообщение Jul 21 2009, 07:53
Сообщение #6


Гуру
******

Группа: Модераторы
Сообщений: 8 455
Регистрация: 15-05-06
Из: Рига, Латвия
Пользователь №: 17 095



Не, фигня какая-то. Ну не будут в апноте прятать код таким нелепым образом. "Зачем тогда аппнот писать" (с)SasaVitebsk. Подозреваю, что чтение находится где-то еще. Счас гляну.

Цитата(Сергей Борщ @ Jul 21 2009, 10:28) *
Ну не будут в апноте прятать код таким нелепым образом.
Таки спрятали. Редиски.
Код
00003136 <filters>:
    .global filters
filters:

    mov #0x200,r15
    3136:    3f 40 00 02     mov    #512,    r15;#0x0200
    313a:    16 4f 00 00     mov    0(r15),    r6;0x0000(r15)
    313e:    8f 49 00 00     mov    r9,    0(r15);0x0000(r15)
    3142:    17 4f 08 00     mov    8(r15),    r7;0x0008(r15)
    3146:    07 86           sub    r6,    r7    
    3148:    08 47           mov    r7,    r8    
    314a:    08 11           rra    r8        
    314c:    06 48           mov    r8,    r6    
    314e:    08 11           rra    r8        
    3150:    08 11           rra    r8        
    3152:    08 11           rra    r8        
    3154:    08 11           rra    r8        
    3156:    08 11           rra    r8        
    3158:    06 88           sub    r8,    r6    
    315a:    16 8f 08 00     sub    8(r15),    r6;0x0008(r15)
    315e:    9f 4f 06 00     mov    6(r15),    8(r15);0x0006(r15), 0x0008(r15)
    3162:    08 00
    3164:    8f 46 06 00     mov    r6,    6(r15);0x0006(r15)
    3168:    06 87           sub    r7,    r6    
    316a:    17 4f 04 00     mov    4(r15),    r7;0x0004(r15)
    316e:    07 89           sub    r9,    r7    
    3170:    08 47           mov    r7,    r8    
    3172:    08 11           rra    r8        
    3174:    08 11           rra    r8        
    3176:    08 11           rra    r8        
    3178:    09 48           mov    r8,    r9    
    317a:    08 11           rra    r8        
    317c:    08 11           rra    r8        
    317e:    08 11           rra    r8        
    3180:    09 88           sub    r8,    r9    
    3182:    19 5f 04 00     add    4(r15),    r9;0x0004(r15)
    3186:    07 89           sub    r9,    r7    
    3188:    9f 4f 02 00     mov    2(r15),    4(r15);0x0002(r15), 0x0004(r15)
    318c:    04 00
    318e:    8f 47 02 00     mov    r7,    2(r15);0x0002(r15)
    3192:    06 89           sub    r9,    r6


--------------------
На любой вопрос даю любой ответ
"Write code that is guaranteed to work, not code that doesn’t seem to break" (C++ FAQ)
Go to the top of the page
 
+Quote Post
AHTOXA
сообщение Jul 21 2009, 09:05
Сообщение #7


фанат дивана
******

Группа: Свой
Сообщений: 3 387
Регистрация: 9-08-07
Из: Уфа
Пользователь №: 29 684



Цитата(Сергей Борщ @ Jul 21 2009, 13:53) *
Таки спрятали. Редиски.


Щикарно! © smile.gif


--------------------
Если бы я знал, что такое электричество...
Go to the top of the page
 
+Quote Post

Reply to this topicStart new topic
1 чел. читают эту тему (гостей: 1, скрытых пользователей: 0)
Пользователей: 0

 


RSS Текстовая версия Сейчас: 22nd June 2025 - 12:28
Рейтинг@Mail.ru


Страница сгенерированна за 0.02526 секунд с 7
ELECTRONIX ©2004-2016