Я пытаюсь сделать свои первые шаги в программировании PCI в Ассемблере.Он работает в симуляторе (AVR Studio), но не работает при загрузке в мой Arduino.Идея состоит в том, чтобы включить свет при срабатывании прерывания.Пожалуйста, помогите мне выяснить, что не так.
.include "m328pdef.inc"
.def temp0 = R16
.def select = R17
.def temp1 = R18
.def flagint = R20
.org $0000
jmp SETUP
.org $0012
jmp PCI_ROT
SETUP: ldi temp0, low(RAMEND)
out SPL, temp0
ldi temp0, high(RAMEND)
out SPH, temp0
ldi temp0, $FF
out DDRD, temp0 ; Arduino Pins 22 - 29 (PORTA), Data Bit 0 - 7
out PORTD, temp0
ldi temp0, $00
out DDRB, temp0
ldi temp0, $01 ; PCI 0 activated, Arduino Pin 21
sts PCICR, temp0
ldi temp0, $03 ; PCI pins activated
sts PCMSK0, temp0
sei
MAIN: nop
jmp MAIN
PCI_ROT: in select, PINB
ldi flagint, $01
rcall SWITCH
reti
SWITCH: in temp0, PIND
ldi temp1, $FF
eor temp0, temp1
out PORTD, temp0
ret