Наш ответ Томасу > http://www.tavrasm.org.
1. не все Меги одинаково полеzны для сей приблуды.
2. на ССях написан ассемблер. Гы.
3. на днях они же мне попадались и на яве. Гы. Гы.
4. осталось дождаться, когда на прологе наипшут... :-)
5. своё Гэ всё-таки приятнее:
Host:
mov #Dmode ,s[y]:s+1[y]
Host_loop:
;----- port B:
mov $C7 ,ddrB ;7,6,2,1,0 - out (LED,дрыг,MOSI,SCK,SS)
;----- port D:
mov $88 ,ddrD ; 7,3 - out (TXD1)
;----- port E:
mov $C2 ,ddrE ; 7,6 - out (RED,GREEN led D-канал)
; 1 - out (debug)
;----- port F:
clr ddrF ; all input
;----- port G:
mov $07 ,ddrG ; 2,1,0 - out
xxx
;----- disable/enable прерываний
clr tmp
mov tmp ,ADCSRA ; disable ADC
mov tmp ,ADMUX ;
mov tmp ,TIMSK ; disable interrupt TIMER 0,1,2
mov tmp ,ETIMSK ; disable interrupt TIMER 3
mov tmp ,TCCR0 ; stop timer0
mov tmp ,TCCR2 ; timer2
mov tmp ,TCCR3A ; timer3
mov tmp ,TCCR3B ;
xxx
mov $80 ,ACSR ; disable ANALOG COMPARATOR
mov $56 ,EICRA ; int0 - rising edge
mov $01 ,EIMSK ; enable int 0
xxx
;----- SPI -----------------------------;
cmp SPCR ,$53
beq 10$
mov $53 ,SPCR ; SPE,MSTR,SCK/128
10$: clr SPSR.0 ; SPI2X=0
;----- UART ----------------------------;
clr UCSR0B ; disable UART0
mov tmp ,UCSR1A ; 9600, 8-N-2
mov $18 ,UCSR1B ;
mov $0E ,UCSR1C ;
xxx
mov UBRR1H ,tmp ;
bic $F0 ,tmp ;
beq 20$
clr UBRR1H
20$: cmp UBRR1L ,#96 ;
beq 25$
mov #96 ,UBRR1L
25$: xxx
;----- таймер 1 ------------------------;
clr TCCR1A ; run timer1 with prescaler 1024
mov tmp ,TCCR1C ;
mov #5 ,r17 ; 14895000/1024=14546Hz
mov TCCR1B ,tmp ; low byte count 69mks
ifne tmp ,r17 ; high byte count 17.6ms
mov r17 ,TCCR1B ;
xxx
;----- внешний память ------------------;
mov $80 ,MCUCR ; enable External RAM
clr XMCRA ;
mov tmp ,XMCRB ;
mov tmp ,@#RG_page ; page 0 in external RAM
;----- пакетный вывод ------------------;
mov UCSR1A ,tmp ; TX ready?
if0 tmp.5 ;
br 40$ ;no
mov ssk[y] ,tmp ; пакет идёт?
if1 tmp.2 ;
br 33$ ;yes
and $08 ,tmp ; запрет вывода пакета? (.3 - Dmode)
bne 40$ ;да
;--- есть чего?
mov 26[y] ,zl:zh ; указатели совпадают?
cmp 28[y] ,zl ;
bne 32$ ;no
cmp 29[y] ,zh ;
beq 40$ ;yes
32$: set ssk[y].2 ; начало передачи пакета
33$: mov 26[y] ,zl:zh ;
bis $0C ,zh ; буфер $0C00...$0FFF
bic $F0 ,zh ;
mov [z]+ ,tmp ;
mov tmp ,UDR1 ; send byte
cmp tmp ,$7E ; flag?
bne 35$ ;no
clr ssk[y].2 ; конец пакета
35$: bis $0C ,zh ; буфер $0C00...$0FFF
bic $F0 ,zh ;
mov zl:zh ,26[y] ;
;----- refresh complete! ---------------;
-
- Не, ты не Морковка, ты - Перец! :) Алексей Мусин(80 знак., 06.09.2005 12:13, )
- Ну який вже я перець?... Морковка(179 знак., 06.09.2005 12:19, )
- Офуеть! А можно листинг, во что это разворачивается? - Алексей Мусин(06.09.2005 11:20, )
- Не, ты не Морковка, ты - Перец! :) Алексей Мусин(80 знак., 06.09.2005 12:13, )