SD (software-defined) radio receivers use a bare minimum of hardware, relying instead on their software capabilities. This SDR project demonstrates what’s achievable, in this case a multi-purpose receiver covering all bands from 150 kHz to 30 MHz. It’s been optimised for receiving DRM and AM broadcasts but is also suitable for listening in to the world of amateur transmissions.
www.nti-online.de/diraboxsdr.htm
www.sdradio.org
sourceforge.net/projects/drm
www.g8jcf.dyndns.org
....nolist ; We don't want to actually include defs in our listing file. .include "m168def.inc" ; m168def.inc defines all the pins on the Mega168 so we can ; use them by their names rather than addresses (not fun). .list ; We DO want to include the following code in our listing ;D rjmp main ; You usually place these two lines after all your main: ; directives. They make sure that resets work correctly. ldi r16,0xFF ; LoaD Immediate. This sets r16 = 0xFF (255) out DDRB,r16 ; Out writes to SRAM, which is one way of accessing ; pins. DDRB controls PORTB's in/out state. ldi r16,0x00 ; r16 is where we'll store current LED state ; 0x00 means all off. This is preserved over loops.
; LEDblink.asm - M. Covington 2006
; For ATtiny13.
; Blinks the LEDs attached to PB0 and PB1.
.include "tn13def.inc"
.def temp = R16
.def temp1 = R17
.def temp2 = R18
.def mask = R19
start: ldi temp,0b00000010
out PORTB,temp ; initialize port B
ser mask
out DDRB,mask ; port B all outputs
blink:
; Delay 0.1 sec (1.2 MHz)
ldi temp1,200 ; outer loop count
L1: ldi temp2,199 ; inner loop count
L2: dec temp2
brne L2
dec temp1
brne L1
; Toggle PB0 and PB1
ldi mask,0b00000011
eor temp,mask
out PORTB,temp
rjmp blink
; End of program
Some characteristics, however, show refinement over what Apple has done. The Pre's processor board is "substantially" smaller than the iPhone's and reveals that Palm spent a large amount of time maximizing its available space -- a particular feat given the faster, 600MHz Texas Instruments OMAP3 processor and newer PowerVR SGX 530 graphics. Enough seems familiar that iFixit draws a close parallel between the two companies.
by mshook 2009-06-08 08:25 palm · linux · iphone · comparison · component · photo · how · assembly · palmos
The Pre's main components exposed but still assembled; a water damage sensor is highlighted on the left. | Image credits: iFixit.
Navigator: + AVR main + Frutt home + Contact me Subjects o Assembler o DisAssembler o man avrdis o Gigaweb o NGW 100 o Opcodes o Yomal o VAX 01 o VAX 02 Okapi o Design o Control Assembler o EBNF o aa001 Achatz o ICSP dongle Service + Downloads + Achatz.nl
% /home/cs1721/bin/emu /home/cs1721/public_html/05s2/emu/examples/iota.hex Emu Reference Implementation v0.? > program 0000: e000 LDI R16,0 0001: e081 LDI R24,1 0002: 2fa0 MOV R26,R16 0003: e7f0 LDI R31,112 0004: e0e0 LDI R30,0 0005: 9509 ICALL 0006: e011 LDI R17,1 0007: 0f01 ADD R16,R17 0008: e614 LDI R17,100 0009: 1b10 SUB R17,R16 000a: f7b1 BRBC 1,-10 000b: e080 LDI R24,0 000c: e7f0 LDI R31,112 000d: e0e0 LDI R30,0 000e: 9509 ICALL > registers PC=0000 SP=1100 SR=[C=0,Z=0,N=0,V=0] r00-r0f 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 r10-r1f 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 > step 0000: e000 LDI R16,0 PC=0001 SP=1100 SR=[C=0,Z=0,N=0,V=0] r00-r0f 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 r10-r1f 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 > run 0 1 ... 8 9 > restart > run 0 1 ... 9 > registers PC=000f SP=1100 SR=[C=0,Z=1,N=0,V=0] r00-r0f 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 r10-r1f 0a 00 00 00 00 00 00 00 00 00 09 00 00 00 00 70
Example: sum of first 4 integers.
sum = 0;
for (i = 1; i <= 4; ++i)
sum += i*i;
can be translated to
sum = 0;
i = 1;
loop:
if (i == 5) goto end;;
sum = sum + i;
i = i + 1;
goto loop;
end:
can be translated to
; sum in R16
; i in R17
; R18,R19 used for temporary values
LDI R16, 0
LDI R17, 1
LDI R18, 5
SUB R18, R17
BRBS 1, 22
ADD R16, R17
LDI R19, 1
ADD R17, R19
JMP 2
SLEEP