Olá, sou novo no fórum e também novo na área.
Estou com um problema, tenho um trabalho para entrega e não estou conseguindo resolver o mesmo. Sei o básico do básico e isso não está me ajudando. Creio eu que seja simples porém ainda não me identifiquei com o assembly. Se alguém puder me dar um Help.
Segue os problemas.
1- antes de iniciar o programa o microcontrolador 8051 tem o SP (stack point) apontando para o endereço 20H. Determine seu conteúdo antes de RET.
L1: MOV A,#1
MOV P1,A
INC A
CALL ZERA 1
IMP L1
ZERA1: CALL ZERA2
CLR A
RET
ZERA 2: MOV P1,#00H
RET
2- Quantos bytes de memória são ocupados na sub-rotina delay?
Tempo: EQU 1000
Delay: MOV R0,#(LOW TEMPO)
MOV R1,#(HIGH(TEMPO +1))
Loop: DJNZ R0,Loop
DJNZ R1,Loop
RET
3- 8051 com cristal de 12mHz
Qual o tempo de execução em mile segundo da sub-rotina MOVIT?
MOVIT:
MOV OF0H,#10
MOV R0,#20
MOV R1,#40H
Loop:
MOV A,@R0
MOV @R1,A
INC R0
INC R1
DJNZ OF0H,Loop
RET
Estou com um problema, tenho um trabalho para entrega e não estou conseguindo resolver o mesmo. Sei o básico do básico e isso não está me ajudando. Creio eu que seja simples porém ainda não me identifiquei com o assembly. Se alguém puder me dar um Help.
Segue os problemas.
1- antes de iniciar o programa o microcontrolador 8051 tem o SP (stack point) apontando para o endereço 20H. Determine seu conteúdo antes de RET.
L1: MOV A,#1
MOV P1,A
INC A
CALL ZERA 1
IMP L1
ZERA1: CALL ZERA2
CLR A
RET
ZERA 2: MOV P1,#00H
RET
2- Quantos bytes de memória são ocupados na sub-rotina delay?
Tempo: EQU 1000
Delay: MOV R0,#(LOW TEMPO)
MOV R1,#(HIGH(TEMPO +1))
Loop: DJNZ R0,Loop
DJNZ R1,Loop
RET
3- 8051 com cristal de 12mHz
Qual o tempo de execução em mile segundo da sub-rotina MOVIT?
MOVIT:
MOV OF0H,#10
MOV R0,#20
MOV R1,#40H
Loop:
MOV A,@R0
MOV @R1,A
INC R0
INC R1
DJNZ OF0H,Loop
RET