Microcontrolador MSP430G2xxx:
Prof. Pastro
TE124-Microcontroladores: Assembly MSP430
AM - Active Mode
LPMx - Low Power Mode x
Prof. Pastro
TE124-Microcontroladores: Assembly MSP430
Arquitetura do MSP430G2xxx
Prof. Pastro
TE124-Microcontroladores: Assembly MSP430
Arquitetura do MSP430G2x53
Prof. Pastro
TE124-Microcontroladores: Assembly MSP430
Prof. Pastro
TE124-Microcontroladores: Assembly MSP430
0C000h
MSP430G2553
256 bytes Information Memory
03FFh
512 bytes
Prof. Pastro
TE124-Microcontroladores: Assembly MSP430
Direo
do Pino
Funo
do Pino
Pull-up
Pull-down
Sada
Entrada
Prof. Pastro
TE124-Microcontroladores: Assembly MSP430
Prof. Pastro
TE124-Microcontroladores: Assembly MSP430
Prof. Pastro
TE124-Microcontroladores: Assembly MSP430
Prof. Pastro
TE124-Microcontroladores: Assembly MSP430
Prof. Pastro
TE124-Microcontroladores: Assembly MSP430
Prof. Pastro
TE124-Microcontroladores: Assembly MSP430
CPU do MSP430:
Prof. Pastro
TE124-Microcontroladores: Assembly MSP430
Prof. Pastro
TE124-Microcontroladores: Assembly MSP430
Registrador R2: Registrador de Estado (SR-Status Register)
Prof. Pastro
TE124-Microcontroladores: Assembly MSP430
Prof. Pastro
TE124-Microcontroladores: Assembly MSP430
Prof. Pastro
TE124-Microcontroladores: Assembly MSP430
Prof. Pastro
TE124-Microcontroladores: Assembly MSP430
Prof. Pastro
TE124-Microcontroladores: Assembly MSP430
#include "msp430g2553.h"
org 0xfffe
bc16 main
rseg code
main: mov.w #0x03FF,SP
mov.w #WDTPW+WDTHOLD,&WDTCTL
bis.b #00000001b,&P1DIR
bic.b #00000001b,&P1OUT
loop: xor.b #0x01,&P1OUT
mov.w #50000,R15
delay: dec.w R15
jnz delay
jmp loop
END
Prof. Pastro
TE124-Microcontroladores: Assembly MSP430
Anatomia de uma listagem de programa assembly
/*-------------------------------------------------------------------------------------------------
Programa para inverter o estado do LED vermelho da placa
MSP-EXP430G2 com delay entre as mudanas de estado do led.
-------------------------------------------------------------------------------------------------*/
#include "msp430.h" // Definices do MSP430
Diretiva Comentrios
Comentrio
org 0xFFFE
do Assembly bc16 main
RSEG CODE
Prof. Pastro
TE124-Microcontroladores: Assembly MSP430
Cada uma das 27 instrues nativas possui um Cdigo de Operao que pode
ser decodificado pela CPU.
Prof. Pastro
TE124-Microcontroladores: Assembly MSP430
Prof. Pastro
TE124-Microcontroladores: Assembly MSP430
Prof. Pastro
TE124-Microcontroladores: Assembly MSP430
Instrues de desvio:
Mnemnico Operando Operao
JEQ/JZ label desvia para label se Z = 1
JNE/JNZ label desvia para label se Z = 0
JC label desvia para label se C = 1
JNC label desvia para label se C = 0
JN label desvia para label se N = 1
JGE label desvia para label se (N .xor. V) = 0
JL label desvia para label se (N .xor. V) = 1
JMP label desvia incondicionalmente para label
Prof. Pastro
TE124-Microcontroladores: Assembly MSP430
Modos de Endereamento
Modos de Endereamento:
Registrador
Indexado Operando de Origem
Simblico e de Destino
Absoluto
Indireto
Indireto com auto-incremento Operando de Origem
Imediato
Prof. Pastro
TE124-Microcontroladores: Assembly MSP430
Antes Depois
Prof. Pastro
TE124-Microcontroladores: Assembly MSP430
Prof. Pastro
TE124-Microcontroladores: Assembly MSP430
Antes Depois
... ... ... ...
0216 0x1506 0216 0x1506
0214 0x1B50 0214 0x1B50
0212 0xFFC7 0212 0xFFC7
destino 0210 0x0201 0210 0x4567
020E 0xxxxx 020E 0xxxxx
020C 0xxxxx 020C 0xxxxx
020A 0x025C 020A 0x025C
0208 0x1BC0 0208 0x1BC0
origem 0206 0x4567 0206 0x4567
0204 0x1234 0204 0x1234
0202 0xxxxx 0202 0xxxxx
0200 0xxxxx 0200 0xxxxx
Prof. Pastro
TE124-Microcontroladores: Assembly MSP430
Antes Depois
... ... ... ...
0216 0x1506 0216 0x1506
0214 0x1B50 0214 0x1B50
0212 0xFFC7 0212 0xFFC7
destino 0210 0x0201 0210 0x4567
020E 0xxxxx 020E 0xxxxx
020C 0xxxxx 020C 0xxxxx
020A 0x025C 020A 0x025C
0208 0x1BC0 0208 0x1BC0
origem 0206 0x4567 0206 0x4567
0204 0x1234 0204 0x1234
0202 0xxxxx 0202 0xxxxx
0200 0xxxxx 0200 0xxxxx
Prof. Pastro
TE124-Microcontroladores: Assembly MSP430
Prof. Pastro
TE124-Microcontroladores: Assembly MSP430
Antes Depois
... ... ... ...
0216 0x1506 0216 0x1506
0214 0x1B50 0214 0x1B50
0212 0xFFC7 0212 0xFFC7
0210 0x0201 0210 0x6789
020E 0xxxxx 020E 0xxxxx
020C 0xxxxx 020C 0xxxxx
020A 0x025C 020A 0x025C
0208 0x1BC0 0208 0x1BC0
0206 0x4567 0206 0x4567
0204 0x1234 0204 0x1234
0202 0xxxxx 0202 0xxxxx
0200 0xxxxx 0200 0xxxxx
Prof. Pastro
TE124-Microcontroladores: Assembly MSP430
Prof. Pastro
TE124-Microcontroladores: Assembly MSP430
Prof. Pastro
TE124-Microcontroladores: Assembly MSP430
Prof. Pastro
TE124-Microcontroladores: Assembly MSP430
Prof. Pastro
TE124-Microcontroladores: Assembly MSP430
Prof. Pastro
TE124-Microcontroladores: Assembly MSP430
Prof. Pastro
TE124-Microcontroladores: Assembly MSP430
Prof. Pastro
TE124-Microcontroladores: Assembly MSP430
Prof. Pastro
TE124-Microcontroladores: Assembly MSP430
Descrio: uma chamada a sub-rotina pode ser feita para qualquer endereo dentro
dos 64kB do address space. Qualquer modo de endereamento pode ser
utilizado.
Prof. Pastro
TE124-Microcontroladores: Assembly MSP430
Prof. Pastro
TE124-Microcontroladores: Assembly MSP430
Exemplo: JC label
JHS label
Prof. Pastro
TE124-Microcontroladores: Assembly MSP430
Prof. Pastro
TE124-Microcontroladores: Assembly MSP430
Prof. Pastro
TE124-Microcontroladores: Assembly MSP430
Exemplo: JL label
Prof. Pastro
TE124-Microcontroladores: Assembly MSP430
Prof. Pastro
TE124-Microcontroladores: Assembly MSP430
Exemplo: JN label
Prof. Pastro
TE124-Microcontroladores: Assembly MSP430
Prof. Pastro
TE124-Microcontroladores: Assembly MSP430
Prof. Pastro
TE124-Microcontroladores: Assembly MSP430
Operao: src
Prof. Pastro
TE124-Microcontroladores: Assembly MSP430
Operao: TOS SR
SP + 2 SP
TOS PC
SP + 2 SP
Exemplo: RETI
Prof. Pastro
TE124-Microcontroladores: Assembly MSP430
Descrio: o operando de destino deslocado um bit para a direita. O bit mais sig-
nificativo(MSB) mantido. O bit menos significativo vai para o Carry.
Prof. Pastro
TE124-Microcontroladores: Assembly MSP430
Prof. Pastro
TE124-Microcontroladores: Assembly MSP430
Prof. Pastro
TE124-Microcontroladores: Assembly MSP430
Prof. Pastro
TE124-Microcontroladores: Assembly MSP430
Exemplo: SWPB R5
SWPB @R8
SWPB 60(R10)
Prof. Pastro
TE124-Microcontroladores: Assembly MSP430
Exemplo: SXT R7
SXT @R12
SXT 30(R5)
Prof. Pastro
TE124-Microcontroladores: Assembly MSP430
Prof. Pastro
TE124-Microcontroladores: Assembly MSP430
Operao: dst PC
Prof. Pastro
TE124-Microcontroladores: Assembly MSP430
Operao: 0 dst
Operao: 0C
Prof. Pastro
TE124-Microcontroladores: Assembly MSP430
Operao: 0N
Operao: 0Z
Prof. Pastro
TE124-Microcontroladores: Assembly MSP430
Prof. Pastro
TE124-Microcontroladores: Assembly MSP430
Operao: 0 GIE
Prof. Pastro
TE124-Microcontroladores: Assembly MSP430
Operao: 1 GIE
Prof. Pastro
TE124-Microcontroladores: Assembly MSP430
Prof. Pastro
TE124-Microcontroladores: Assembly MSP430
Operao: nenhuma
Prof. Pastro
TE124-Microcontroladores: Assembly MSP430
Operao: @SP PC
SP + 2 SP
Prof. Pastro
TE124-Microcontroladores: Assembly MSP430
Prof. Pastro
TE124-Microcontroladores: Assembly MSP430
Operao: 1C
Operao: 1N
Prof. Pastro