560 likes | 695 Views
PARTE 2 DO LIVRO. Microcontroladores: (LT36D) Prof: DaLuz. Introdução. - Cap 5 – 5.0. - Cap 5 – 5.1. - Cap 5 – 5.2. Introdução. - Cap 5 – 5.0. - Cap 5 – 5.1. - Cap 5 – 5.2. Modos de Endereçamento das Instruções. 1 – Registrador. 5 – Relativo. - Cap 5 – 5.0. - Cap 5 – 5.1.
E N D
PARTE 2 DO LIVRO Microcontroladores: (LT36D)Prof: DaLuz
Introdução - Cap 5 – 5.0 - Cap 5 – 5.1 - Cap 5 – 5.2
Introdução - Cap 5 – 5.0 - Cap 5 – 5.1 - Cap 5 – 5.2
Modos de Endereçamento das Instruções 1 – Registrador 5 – Relativo - Cap 5 – 5.0 - Cap 5 – 5.1 - Cap 5 – 5.2 2 – Direto 6 – Absoluto 3 – Indireto 7 – Longo 4 – Imediato 8 – Indexado
Endereçamento por Registrador R0, R1, R2, R3, R4, R5, R6, R7 = Rn - Cap 5 – 5.0 - Cap 5 – 5.1 - Cap 5 – 5.2 ADD A, R0
Endereçamento Direto MOV A, P3 - Cap 5 – 5.0 - Cap 5 – 5.1 - Cap 5 – 5.2 MOV A, 30h
Endereçamento Indireto MOV 30h, #05h MOV R1,#30h MOV A, @R1 - Cap 5 – 5.0 - Cap 5 – 5.1 - Cap 5 – 5.2
Endereçamento Imediato MOV A, #25 MOV A, #25h MOV A, #00100101b MOV DPTR, #1FFFh - Cap 5 – 5.0 - Cap 5 – 5.1 - Cap 5 – 5.2
Endereçamento Relativo Código na ROM - Cap 5 – 5.0 PC (Após o início da instrução: SJMP 03 = 8003h) - Cap 5 – 5.1 PC + 3 (Endereço relativo em que se desvia o programa) - Cap 5 – 5.2 PC - 5 (Endereço relativo em que se desvia o programa) PC (Após o início da instrução: SJMP FB = 8003h)
Endereçamento Absoluto - Cap 5 – 5.0 - Cap 5 – 5.1 - Cap 5 – 5.2
Endereçamento Absoluto - Cap 5 – 5.0 - Cap 5 – 5.1 - Cap 5 – 5.2
Endereçamento Absoluto - Cap 5 – 5.0 - Cap 5 – 5.1 - Cap 5 – 5.2
Endereçamento Absoluto - Cap 5 – 5.0 - Cap 5 – 5.1 - Cap 5 – 5.2
Endereçamento Absoluto - Cap 5 – 5.0 - Cap 5 – 5.1 - Cap 5 – 5.2
Endereçamento Longo LCALL e LJMP Instrução “Demorada” > 1us *Endereçamento Absoluto - Cap 5 – 5.0 - Cap 5 – 5.1 - Cap 5 – 5.2
Endereçamento Indexado JMP e MOVC - Cap 5 – 5.0 JMP @A + DPTR - Cap 5 – 5.1 - Cap 5 – 5.2 DPTR=Mês e A=Dia DPTR=0200 e A=2 JMP @A+DPTR
Tipos de Instrução Instruções Aritméticas (ArithmeticOperations) - Cap 5 – 5.0 Instruções Lógicas (LogicalOperations) - Cap 5 – 5.1 - Cap 5 – 5.2 Instruções de Trasnferências de dados (Data TransferOperations) Instruções “Booleanas” (BooleanVariableOperations) Instruções de Desvio (ProgramBranching)
ArithmeticOperations - Cap 5 – 5.0 - Cap 5 – 5.1 - Cap 5 – 5.2
LogicalOperations - Cap 5 – 5.0 - Cap 5 – 5.1 - Cap 5 – 5.2
Data TransferOperations - Cap 5 – 5.0 - Cap 5 – 5.1 - Cap 5 – 5.2
BooleanBranching - Cap 5 – 5.0 - Cap 5 – 5.1 - Cap 5 – 5.2
ProgramBranching - Cap 5 – 5.0 - Cap 5 – 5.1 - Cap 5 – 5.2
Legenda - Cap 5 – 5.0 - Cap 5 – 5.1 - Cap 5 – 5.2
Laboratório 01 - Cap 5 – 5.0 - Cap 5 – 5.1 - Cap 5 – 5.2
Exemplos – Inst. Aritméticas ADD A, <byte> ADD A, 00h - “Endereçamento” Direto ADD A, @R0 - “Endereçamento” Indireto ADD A, R0 - “Endereçamento” por Registrador ADD A, #0BCh - “Endereçamento” Imediato - Cap 5 – 5.0 - Cap 5 – 5.1 - Cap 5 – 5.2 ADDC A, <byte> ADD A, XXh - “Endereçamento” Direto ADD A, @Ri - “Endereçamento” Indireto ADD A, Rn - “Endereçamento” por Registrador ADD A, #YYh - “Endereçamento” Imediato
Exemplos – Inst. Aritméticas SUBB A, <byte> SUBB A, XXh - “Endereçamento” Direto SUBB A, @Ri - “Endereçamento” Indireto SUBB A, Rn - “Endereçamento” por Registrador SUBB A, #YYh - “Endereçamento” Imediato - Cap 5 – 5.0 - Cap 5 – 5.1 - Cap 5 – 5.2 MUL AB DIV AB A = 78h e B = 1Fh Após MUL AB B = 0Eh e A = 88h Isto é BA é um registro de 16 bits A = 07h e B = 02h Após DIV AB A = 03h e B = 01h Isto é se dividirmos 7 por 2, dá 3 com resto 1.
Exemplos – Inst. Aritméticas DA A Soma: 09h : + 02h _____________________ Resultado: 0Bh Soma: 09h (BCD) : + 02h (BCD) _____________________ Resultado: 11h (BCD) - Cap 5 – 5.0 - Cap 5 – 5.1 - Cap 5 – 5.2 A = 09h ADD A, #02h DA A Após o Decimal Adjust A = 11h
Resumo - Cap 5 – 5.0 - Cap 5 – 5.1 - Cap 5 – 5.2
Instruções Lógicas CLR A - “Clear” o acumulador CPL A - “Complementa” o acumulador RR A - “Rotate Right” roda os bits para a direita RL A - “Rotate Left” roda os bits para a esquerda RRC A - “Rotate Right with Carry” roda os bits para a direita com o carry RLC A - “Rotate Left with Carry” roda os bits para a esquerda com o carry - Cap 5 – 5.0 - Cap 5 – 5.1 - Cap 5 – 5.2
Instruções Lógicas A = 00000001b RR A A = 10000000b A = 00000000b e C = 1 RRC A - Cap 5 – 5.0 - Cap 5 – 5.1 - Cap 5 – 5.2
Instruções Lógicas SWAP A - Cap 5 – 5.0 A = 41h = 65d MOV B, #10h (A=41h e B=10h) DIV AB (A=resultado e B=resto) (A=06d e B=05d) SWAP A (A=60 e B=05) ADD A,B temos em A o número 65 que é representação decimal de 41h, ou seja, 41h em BCD. - Cap 5 – 5.1 - Cap 5 – 5.2
Instruções Lógicas - Cap 5 – 5.0 - Cap 5 – 5.1 - Cap 5 – 5.2
Transferência: RAM <origem> e <destino> são registradores internos (RAM e SFR). MOV A,<origem> MOV <destino>, A MOV <destino, <origem> MOV DPTR, <endereço de 16 bits XCH A, <byte> Exchange troca 8 bits XCHD A, @Ri Exchange troca 4 bits menos significativos PUSH <origem> POP <destino> - Cap 5 – 5.0 - Cap 5 – 5.1 - Cap 5 – 5.2
Transferência: RAM XCHD A, @Ri A = 3Bh e R0 = 20h e 20h = A2h XCHD A, @Ri Após a instrução referida, temos: - Cap 5 – 5.0 - Cap 5 – 5.1 - Cap 5 – 5.2
Transferência: RAM PUSH 00h - Cap 5 – 5.0 - Cap 5 – 5.1 - Cap 5 – 5.2
Transferência: RAM POP 01h - Cap 5 – 5.0 - Cap 5 – 5.1 - Cap 5 – 5.2
Transferência: RAM POP 01h - Cap 5 – 5.0 - Cap 5 – 5.1 - Cap 5 – 5.2
Transferência: RAM R0=0Ah R1=0Bh R2=0Ch SP=20h - Cap 5 – 5.0 - Cap 5 – 5.1 - Cap 5 – 5.2
Transferência: RAM PUSH R0 PUSH R1 PUSH R2 ___________ ___________ ___________ Sub-Rotina: CALL SUBB SUBB: MOV R0, #00h MOV R1, #08h MOV R2, #05h RET ___________ ___________ ___________ POP R2 POP R1 POP R0 - Cap 5 – 5.0 - Cap 5 – 5.1 - Cap 5 – 5.2
Transferência: RAM Após Sub-Rotina Após os PUSH - Cap 5 – 5.0 - Cap 5 – 5.1 - Cap 5 – 5.2
Transferência: RAM Após os POP - Cap 5 – 5.0 - Cap 5 – 5.1 - Cap 5 – 5.2
Transferência: RAM - Cap 5 – 5.0 - Cap 5 – 5.1 - Cap 5 – 5.2
Transferência: RAM - Cap 5 – 5.0 - Cap 5 – 5.1 - Cap 5 – 5.2
Transferência: ROM - Cap 5 – 5.0 - Cap 5 – 5.1 - Cap 5 – 5.2
Transferência: ROM JMP e MOVC - Cap 5 – 5.0 JMP @A + DPTR - Cap 5 – 5.1 - Cap 5 – 5.2 DPTR=Mês e A=Dia DPTR=0200 e A=2 JMP @A+DPTR
Instruções Booleanas - Cap 5 – 5.0 - Cap 5 – 5.1 - Cap 5 – 5.2
Instruções Booleanas - Cap 5 – 5.0 - Cap 5 – 5.1 - Cap 5 – 5.2
Instruções de Desvio - Cap 5 – 5.0 - Cap 5 – 5.1 - Cap 5 – 5.2
Instruções de Desvio - Cap 5 – 5.0 - Cap 5 – 5.1 - Cap 5 – 5.2
Instruções que afetam PSW - Cap 5 – 5.0 - Cap 5 – 5.1 - Cap 5 – 5.2