fork download
  1. .include "m168Pdef.inc"
  2.  
  3.  
  4. .org 0
  5. jmp start
  6. .org INT_VECTORS_SIZE
  7.  
  8. start:
  9. ldi r16, low(RAMEND)
  10. out SPL, r16
  11. ldi r16, high(RAMEND)
  12. out SPH, r16
  13.  
  14. in r16, DDRB
  15. ori r16, (1<<PB5)
  16. out DDRB, r16
  17. in r16,PORTB
  18. andi r16, ~(1<<PB5)
  19. out PORTB, r16
  20.  
  21. ldi r18, 5
  22. ldi r19, 15
  23. ldi r20, 242
  24. L1: dec r20
  25. brne L1
  26. dec r19
  27. wdr
  28. brne L1
  29. wdr
  30. dec r18
  31. brne L1
  32.  
  33.  
  34.  
  35.  
  36. ; lds r16,WDTCSR
  37. ;-------------------------------------
  38. ldi zl, low(0x0000)
  39. ldi zh, high(0x0000)
  40. lds r19, SPMCSR
  41. ori r19, (1<<BLBSET)|(1<<SELFPRGEN)
  42. sts SPMCSR, r19
  43. lpm
  44.  
  45. ldi r17, 0x00
  46. ldi r18, 0x00
  47. call EEPROM_write
  48. ;---------------------------------------
  49. ldi zl, low(0x0001)
  50. ldi zh, high(0x0001)
  51. lds r19, SPMCSR
  52. ori r19, (1<<BLBSET)|(1<<SELFPRGEN)
  53. sts SPMCSR, r19
  54. lpm
  55.  
  56. ldi r17, 0x01
  57. ldi r18, 0x00
  58. call EEPROM_write
  59. ;---------------------------------------
  60. ldi zl, low(0x0002)
  61. ldi zh, high(0x0002)
  62. lds r19, SPMCSR
  63. ori r19, (1<<BLBSET)|(1<<SELFPRGEN)
  64. sts SPMCSR, r19
  65. lpm
  66.  
  67. ldi r17, 0x02
  68. ldi r18, 0x00
  69. call EEPROM_write
  70. ;---------------------------------------
  71. ldi zl, low(0x0003)
  72. ldi zh, high(0x0003)
  73. lds r19, SPMCSR
  74. ori r19, (1<<BLBSET)|(1<<SELFPRGEN)
  75. sts SPMCSR, r19
  76. lpm
  77.  
  78. ldi r17, 0x03
  79. ldi r18, 0x00
  80. call EEPROM_write
  81. ;---------------------------------------
  82.  
  83.  
  84.  
  85.  
  86.  
  87.  
  88.  
  89. in r16,PORTB
  90. ori r16, (1<<PB5)
  91. out PORTB, r16
  92.  
  93. loop:
  94. wdr
  95. jmp loop
  96.  
  97. EEPROM_write:
  98. ; Wait for completion of previous write
  99. sbic EECR,EEPE
  100. rjmp EEPROM_write
  101. ; Set up address (r18:r17) in address register
  102. out EEARH, r18
  103. out EEARL, r17
  104. ; Write data (r16) to Data Register
  105. out EEDR,r0
  106. ; Write logical one to EEMPE
  107. sbi EECR,EEMPE
  108. ; Start eeprom write by setting EEPE
  109. sbi EECR,EEPE
  110. ret
  111.  
Compilation error #stdin compilation error #stdout 0s 0KB
stdin
Standard input is empty
compilation info
prog.s: Assembler messages:
prog.s:1: Error: can't open m168Pdef.inc for reading: No such file or directory
prog.s:6: Warning: symbol "INT_VECTORS_SIZE" undefined; zero assumed
prog.s:9: Error: no such instruction: `ldi r16,low(RAMEND)'
prog.s:10: Error: too many memory references for `out'
prog.s:11: Error: no such instruction: `ldi r16,high(RAMEND)'
prog.s:12: Error: too many memory references for `out'
prog.s:14: Error: too many memory references for `in'
prog.s:15: Error: no such instruction: `ori r16,(1<<PB5)'
prog.s:16: Error: too many memory references for `out'
prog.s:17: Error: too many memory references for `in'
prog.s:18: Error: no such instruction: `andi r16,~(1<<PB5)'
prog.s:19: Error: too many memory references for `out'
prog.s:21: Error: no such instruction: `ldi r18,5'
prog.s:22: Error: no such instruction: `ldi r19,15'
prog.s:23: Error: no such instruction: `ldi r20,242'
prog.s:24: Error: no instruction mnemonic suffix given and no register operands; can't size instruction
prog.s:25: Error: no such instruction: `brne L1'
prog.s:26: Error: no instruction mnemonic suffix given and no register operands; can't size instruction
prog.s:27: Error: no such instruction: `wdr'
prog.s:28: Error: no such instruction: `brne L1'
prog.s:29: Error: no such instruction: `wdr'
prog.s:30: Error: no instruction mnemonic suffix given and no register operands; can't size instruction
prog.s:31: Error: no such instruction: `brne L1'
prog.s:36: Error: too many memory references for `lds'
prog.s:37: Error: junk at end of line, first unrecognized character is `-'
prog.s:38: Error: no such instruction: `ldi zl,low(0x0000)'
prog.s:39: Error: no such instruction: `ldi zh,high(0x0000)'
prog.s:40: Error: too many memory references for `lds'
prog.s:41: Error: no such instruction: `ori r19,(1<<BLBSET)|(1<<SELFPRGEN)'
prog.s:42: Error: no such instruction: `sts SPMCSR,r19'
prog.s:43: Error: no such instruction: `lpm'
prog.s:45: Error: no such instruction: `ldi r17,0x00'
prog.s:46: Error: no such instruction: `ldi r18,0x00'
prog.s:48: Error: junk at end of line, first unrecognized character is `-'
prog.s:49: Error: no such instruction: `ldi zl,low(0x0001)'
prog.s:50: Error: no such instruction: `ldi zh,high(0x0001)'
prog.s:51: Error: too many memory references for `lds'
prog.s:52: Error: no such instruction: `ori r19,(1<<BLBSET)|(1<<SELFPRGEN)'
prog.s:53: Error: no such instruction: `sts SPMCSR,r19'
prog.s:54: Error: no such instruction: `lpm'
prog.s:56: Error: no such instruction: `ldi r17,0x01'
prog.s:57: Error: no such instruction: `ldi r18,0x00'
prog.s:59: Error: junk at end of line, first unrecognized character is `-'
prog.s:60: Error: no such instruction: `ldi zl,low(0x0002)'
prog.s:61: Error: no such instruction: `ldi zh,high(0x0002)'
prog.s:62: Error: too many memory references for `lds'
prog.s:63: Error: no such instruction: `ori r19,(1<<BLBSET)|(1<<SELFPRGEN)'
prog.s:64: Error: no such instruction: `sts SPMCSR,r19'
prog.s:65: Error: no such instruction: `lpm'
prog.s:67: Error: no such instruction: `ldi r17,0x02'
prog.s:68: Error: no such instruction: `ldi r18,0x00'
prog.s:70: Error: junk at end of line, first unrecognized character is `-'
prog.s:71: Error: no such instruction: `ldi zl,low(0x0003)'
prog.s:72: Error: no such instruction: `ldi zh,high(0x0003)'
prog.s:73: Error: too many memory references for `lds'
prog.s:74: Error: no such instruction: `ori r19,(1<<BLBSET)|(1<<SELFPRGEN)'
prog.s:75: Error: no such instruction: `sts SPMCSR,r19'
prog.s:76: Error: no such instruction: `lpm'
prog.s:78: Error: no such instruction: `ldi r17,0x03'
prog.s:79: Error: no such instruction: `ldi r18,0x00'
prog.s:81: Error: junk at end of line, first unrecognized character is `-'
prog.s:89: Error: too many memory references for `in'
prog.s:90: Error: no such instruction: `ori r16,(1<<PB5)'
prog.s:91: Error: too many memory references for `out'
prog.s:94: Error: no such instruction: `wdr'
prog.s:98: Error: no such instruction: `for completion of previous write'
prog.s:99: Error: no such instruction: `sbic EECR,EEPE'
prog.s:100: Error: no such instruction: `rjmp EEPROM_write'
prog.s:101: Error: no such instruction: `set up address (r18:r17)in address register'
prog.s:102: Error: too many memory references for `out'
prog.s:103: Error: too many memory references for `out'
prog.s:104: Error: no such instruction: `write data (r16)to Data Register'
prog.s:105: Error: too many memory references for `out'
prog.s:106: Error: no such instruction: `write logical one to EEMPE'
prog.s:107: Error: no such instruction: `sbi EECR,EEMPE'
prog.s:108: Error: no such instruction: `start eeprom write by setting EEPE'
prog.s:109: Error: no such instruction: `sbi EECR,EEPE'
prog.s:6: Error: attempt to move .org backwards
stdout
Standard output is empty