參考資訊:
https://www.microchip.com/en-us/product/attiny13#Documentation
https://nerdathome.blogspot.com/2008/04/avr-as-usage-tutorial.html
在寫入EEPROM之前EEMPE必須先設定,接著才能開始寫入數據

main.s
.equ EEARL, 0x1e
.equ EEDR, 0x1d
.equ EECR, 0x1c
.org 0x0000
rjmp main
.org 0x0020
main:
ldi r16, 0x55
ldi r17, 0x00
rcall eeprom_write
ldi r16, 0xaa
ldi r17, 0x01
rcall eeprom_write
loop:
rjmp loop
eeprom_write:
sbic EECR, 1
rjmp eeprom_write
out EEARL, r17
out EEDR, r16
sbi EECR, 2
sbi EECR, 1
ret
eeprom_read:
sbic EECR, 1
rjmp eeprom_read
out EEARL, r17
sbi EECR, 0
in r16, EEDR
ret
編譯和燒錄
$ avr-as -mmcu=attiny13 -o main.o main.s $ avr-ld -o main.elf main.o $ avr-objcopy --output-target=ihex main.elf main.ihex $ sudo avrdude -c usbasp -p t13 -B 1024 -U flash:w:main.ihex:i
接著讀取Flash
$ sudo avrdude -c usbasp -p t13 -B 1024 -U eeprom:r:eeprom.bin:r
完成