странно, что более ранние версии нормально понимали, например v.25
а в добавок -
свистопляска прописи ворда - и R25:R24, и R25:24, и даже тупо R24
З.Ы.ну когда уже весна нафик
высушат обое ваших сапог даже в автомобиле..
не знаю... нравится когда открытые исходники,Demiurg писал(а):...Зачем вам экзотика?

Код: Выделить всё
lds R21,ArrCtrOffset
inc R21 ; Увеличиваем ArrayCounterOffset
cpi R21,6
brne Exit
clr R21
lds R25,ReadOffset
inc R25 ; Увеличиваем ReadOffset
cpi R25,BuffSize
brne Exit
clr R25
Exit: sts ArrCtrOffset,R21
sts ReadOffset,R25
pop XH
pop XL
pop R19
pop R18
pop R17
pop R16
out SREG,R16
pop R16Код: Выделить всё
lds R18,Read ; Берём точку чтения
lds R16,ReadOffset ; Берём смещение точки чтения
lds R21,ArrCtrOffset ; Берём смещение счётчика массиваМожет переменные объявлены, но не установлены?Гефестион писал(а):Переменные Read, ReadOffset, ArrCtrOffset объявлены в самом начале (до таблицы векторов прерываний) по 1 байту на каждую.
Код: Выделить всё
.equ ReadOffset=$70
.equ ArrCtrOffset=$71
.equ BuffSize=32
CLR R0
STS ArrCtrOffset,R0
STS ReadOffset,R0
TTT:
lds R21,ArrCtrOffset
inc R21 ; Увеличиваем ArrayCounterOffset
cpi R21,6
BRLO Exit
; brne Exit
clr R21
lds R25,ReadOffset
inc R25 ; Увеличиваем ReadOffset
cpi R25,BuffSize
brne Exit
; brne Exit
clr R25
Exit: sts ArrCtrOffset,R21
sts ReadOffset,R25
RJMP TTTКод: Выделить всё
.equ ReadOffset=$70
.equ ArrCtrOffset=$71
.equ BuffSize=32
CLR R0
STS ArrCtrOffset,R0
STS ReadOffset,R0
TTT:
lds R21,ArrCtrOffset
inc R21 ; Увеличиваем ArrayCounterOffset
cpi R21,6
BRLO Exit
; brne Exit
clr R21
lds R25,ReadOffset
inc R25 ; Увеличиваем ReadOffset
cpi R25,BuffSize
brne Exit
; brne Exit
clr R25
Exit: sts ArrCtrOffset,R21
sts ReadOffset,R25
RJMP TTTКод: Выделить всё
*************** Константы *****************************************
.equ BuffSize = 32
*************** ОЗУ ***********************************************
.dseg
IN_buff: .byte 32 ; Буфер приема
Read: .byte 1 ; Указатель точки чтения из буфера
ReadOffset: .byte 1 ; Смещение точки чтения
ArrCtrOffset: .byte 1 ; Смещение счётчика чтения массива
Write: .byte 1 ; Указатель точки записи в буфер
;************** Макросы *******************************************
.macro PUSHF
push R16
in R16,SREG
push R16
.endmacro
.macro POPF
pop R16
out SREG,R16
pop R16
.endmacro
*******************************************************************
.cseg
.org 0
Код: Выделить всё
CLR R0
STS ArrCtrOffset,R0
STS ReadOffset,R0
Код: Выделить всё
push r16
in r16, SREG
push r16
push r17
bla-bla
pop r17
pop r16
out SREG, r16
pop r16
reti
судя по идеологии GCC там должен использоваться gdb-сервер на удаленном хосте, он там запускается, открывает порт и слушает его. а студия потом по сети к этому порту обращается и командует отладчиком gdb. если не ошибаюсь, вся отладка GCC так работает...Alexeyslav писал(а):Но заманчивей всё-таки использовать возможность удалённой отладки. Только х.з. как её настроить из последней студии...