Wed 28 Aug 2013 01:28:10 PM UTC, comment #2:
=================== example.S===================
#include <avr/io.h>
;; #include <compat/deprecated.h>
#define SFR(X) _SFR_IO_ADDR(X)
#define reg_led r20
#define temp r16
#define START 0
#define STOP 1
;; .includepath "/usr/share/avra/includes/"
;; .include "m16def.inc" ; ATMega16
;; .def temp =r16
;; .def reg_led = r20
;; .equ START = 0
;; .equ STOP = 1
;; .org $000
.section .text
.global main
main: ldi reg_led, 0xfe
sec
set
ser temp
out SFR(DDRB),temp
out SFR(PORTB), temp
clr temp
out SFR(DDRD),temp
ldi temp,0x03
out SFR(PORTD), temp
waitstart:
sbic SFR(PIND),START
rjmp waitstart
loop:
out SFR(PORTB),reg_led
..........
===============================================
Start simulation
simulavr -g -d atmega16
GDB
avr-gdb --annotate=3 example.o
> target remote localhost:1212
> load
> b waitstart
> continue
> x/xb 0x32
0x800032: 0x03
> set {int}0x32=0xf0
> x/xb 0x32
0x800032: 0xf0
PORTD changed OK
> set {int}0x30=0xf0
> x/xb 0x30
0x800030: 0xf0
Changed ok ,after hotbadfix.path
Dear developers, correct work SetPin ... I still did it crooked, and only for atmega16 ("B","D")
(file #28948)
|