1 .text 2errata: 3 .cpu msp430 4 # CPU4: PUSH #4/#8 has to be encoded using the long form 5 push #4 6 push #8 7 8 # CPU8: Do not use odd offsets with the stack pointer 9 .set fred,3 10 .set bert,1 11 mov.w #4, 7(sp) 12 mov 3(r1), 5(r0) 13 mov.b @r10+,fred-bert+1(sp) 14 add.w #1,1(sp) 15 add.w #7,-1(sp) 16 17 # CPU11: The SR flags can be left in a bogus state after writing to the PC 18 add.w #3, pc 19 and #1, pc 20 bit #1, pc 21 dadd #1, pc 22 inc pc 23 incd pc 24 sub #1, pc 25 subc #1, pc 26 xor #1, pc 27 28 #CPU12: A CMP or BIT instruction with the PC as the second operand may 29 # not execute the instruction after it. 30 cmp &200, PC 31 bit r1, pc 32 33 #CPU13: Arithmetic operations with SR as the destination do not work. 34 add #3, sr 35 adc sr 36 addc #3, sr 37 and #3, sr 38 dadd #3, sr 39 dec sr 40 decd sr 41 inc sr 42 incd sr 43 inv sr 44 rla sr 45 rlc sr 46 rra sr 47 rrc sr 48 sbc sr 49 sub #3, sr 50 subc #3, sr 51 sxt sr 52 xor #3, sr 53 54 #CPU19: Instructions that sets CPUOFF must be followed by a NOP 55 bis #0x10, r2 56 mov #0x10, r2 57 xor #0x10, r2 58 nop 59