# Schmidt G.'s Beginners introduction to the assembly language of Atmel AVR PDF

By Schmidt G.

By Schmidt G.

Best education books

New PDF release: Parent's Guide to 1st Grade, How to Ensure Your Child's

Those books aspect for fogeys what their youngsters are being taught: topic by way of topic, step by step.

There's strangely little identified approximately have an effect on in technological know-how schooling. regardless of periodic forays into tracking scholars’ attitudes-toward-science, the influence of impact is just too usually neglected. past Cartesian Dualism gathers jointly modern theorizing during this axiomatic zone. In fourteen chapters, senior students of overseas status use their wisdom of the literature and empirical info to version the connection among cognition and impact in technological know-how schooling.

Additional info for Beginners introduction to the assembly language of Atmel AVR microprocessors

Sample text

So we still have to add 48 to a BCD (or set bit 4 and 5 to 1) to convert a BCD to ASCII. ASCII formatted numbers need the same storage space like BCDs. Loading 250 to a register set representing that number would look like this: LDI R18,'2' LDI R17,'5' LDI R16,'0' The ASCII representation of these characters are written to the registers. Bit manipulations To convert a BCD coded digit to its ASCII representation we need to set bit 4 and 5 to a one. In other words we need to OR the BCD with a constant value of hex 0x30.

Net OR R1,R2 Back from an ASCII character to a BCD is as easy. The instruction ANDI R1,0x0F isolates the lower four bits (= the lower nibble). Note that ORI and ANDI are only possible with registers above R15. If you need to do this, use one of the registers R16 to R31! If the hex value 0x0F is already in register R2, you can AND the ASCII character with this register: AND R1,R2 The other instructions for manipulating bits in a register are also limited for registers above R15. They would be formulated like this: SBR R16,0b00110000 ; Set bits 4 und 5 to one CBR R16,0b00110000 ; Clear bits 4 and 5 to zero If one or more bits of a byte have to be inverted you can use the following instruction (which is not possible for use with a constant): LDI R16,0b10101010 ; Invert all even bits EOR R1,R16 ; in register R1 and store result in R1 To invert all bits of a byte is called the One's complement: COM R1 inverts the content in register R1 and replaces zeros by one and vice versa.

The T-bit can be set or cleared, and its content can be copied to any bit in any register: CLT ; clear T-bit, or SET ; set T-bit, or BST R2,2 ; copy register R2, bit 2, to the T-bit Shift and rotate Shifting and rotating of binary numbers means multiplicating and dividing them by 2. Shifting has several sub-instructions. Multiplication with 2 is easily done by shifting all bits of a byte one binary digit left and writing a zero to the least significant bit. This is called logical shift left. The former bit 7 of the byte will be shiftet out to the carry bit in the status register.