• Jueves 2 de Mayo de 2024, 21:46

Mostrar Mensajes

Esta sección te permite ver todos los posts escritos por este usuario. Ten en cuenta que sólo puedes ver los posts escritos en zonas a las que tienes acceso en este momento.


Temas - aratu

Páginas: [1]
1
ASM (Ensamblador) / Paginación
« en: Martes 16 de Noviembre de 2004, 21:48 »
:comp: Saludos compañeros, estoy desarrollando un proyecto cuyo codigo es muy largo y la pagina 0  (PAGE0) del PIC16F877 no es suficiente, de forma que debo colocar el resto del codigo en las paginas 1 y 2 (PAGE1 PAGE2). Asi que configuro el PCLATH para que cambie de pagina y coloco las direcciones de origen pero el codigo se sigue escribiendo en la pagina 0. Por su colaboración muchas gracias.

            ORG 0x500
            BCF PCLATH,4
            BSF PCLATH,3         ;Select page 1
                                         ;(800h-FFFh)
            CALL SUB1_P1        ;Call subroutine in
                :                        ;page 1 (800h-FFFh)
                :
            ORG 0x900             ;page 1 (800h-FFFh)
            SUB1_P1
                :                        ;called subroutine
                                         ;page 1 (800h-FFFh)
                :
           RETURN                   ;return to
                                         ;Call subroutine
                                         ;in page 0
                                         ;(000h-7FFh)

2
ASM (Ensamblador) / Paginación
« en: Martes 16 de Noviembre de 2004, 21:44 »
:comp: Saludos compañeros, estoy desarrollando un proyecto cuyo codigo es muy largo y la pagina 0  (PAGE0) del PIC16F877 no es suficiente, de forma que debo colocar el resto del codigo en las paginas 1 y 2 (PAGE1 PAGE2). Asi que configuro el PCLATH para que cambie de pagina y coloco las direcciones de origen pero el codigo se sigue escribiendo en la pagina 0. Por su colaboración muchas gracias.

            ORG 0x500
            BCF PCLATH,4
            BSF PCLATH,3         ;Select page 1
                                         ;(800h-FFFh)
            CALL SUB1_P1        ;Call subroutine in
                :                        ;page 1 (800h-FFFh)
                :
            ORG 0x900             ;page 1 (800h-FFFh)
            SUB1_P1
                :                        ;called subroutine
                                         ;page 1 (800h-FFFh)
                :
           RETURN                   ;return to
                                         ;Call subroutine
                                         ;in page 0
                                         ;(000h-7FFh)

Páginas: [1]