20081022fabl.txt ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ REGISTERS SEE tiny44.pdf:7 NOTE I have taken the register address not in parentheses PORTA register address: 0x1B DDRA register address: 0x1A PINA register address: 0x19 SEE tiny44.pdf:9 sbi A,b - set bit in i/o register BIT AND BIT TEST cbi A,b - clear bit in i/o register BIT AND BIT TEST ldi Rd,K - load immediate DATA TRANSFER out A,Rr - out port DATA TRANSFER sbis A,b - skip if bit in register is set asm:101,108 lsr Rd - logical shift right dec Rd - decrement, subtracts one brne k - branch if not equal brcc k - branch if carry cleared rjmp k - relative jump, to address within +/i 2*k nop - no operation (increments program counter) rcall k - relative call to subroutine lpm Rd,Z - load program memory mov Rd,Rr- copy register cpi Rd,k - compare with immediate breq k - branch if equal (conditional relative branch) adiw Rd+1:Rd,K - adds an immediate value to a register pair ret - return from subroutine NOTE looks like P (tiny44.pdf:7) is A (avr.pdf:1) OPERAND ABBREVIATIONS SEE avr_instruction_set.pdf:1 Rd Destination (and source) register in the Register File (ex R15) Rr Source register in the Register File Rdl maybe refers to Rd with l flag:global interrupt enable/disable K constant data A I/O location address P - (no mention) [asm:83 a register] k constant address b - bit in the Register File or I/O Register (3-bit)[asm:83 a pin] s - bit in the Status Register (3-bit) so: are pins "bits in the register file"? where can I find definitions of .equ .def .macro, .endmacro .include .cseg .org ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ Knuth, vol. 2, p. 231 ones' complement is arithmetic modulo 2^n - 1 two's complement is arithmetic modulo 2^n ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ lines30:31 what are zl, zh?