⭐ 欢迎来到虫虫下载站! | 📦 资源下载 📁 资源专辑 ℹ️ 关于我们
⭐ 虫虫下载站

📄 datapage.lst

📁 motorola dp256 的中断向量映射表
💻 LST
📖 第 1 页 / 共 5 页
字号:
  449:          LDAA    0,X               ;// save page register
  450:          STAB    0,X               ;// set page register
  451:          LDAB    0,Y               ;// actual load, overwrites page of address
  452:          LDY     1,Y               ;// actual load, overwrites offset of address
  453:          STAA    0,X               ;// restore page register
  454:          PULA                      ;// restore A register
  455:          PULX                      ;// restore X register
  456:          RTS
  457:  L_NOPAGE:
  458:          LDAB    0,Y               ;// actual load, overwrites page of address
  459:          LDY     1,Y               ;// actual load, overwrites offset of address
  460:          PULX                      ;// restore X register
  461:          RTS
  462:    }
  463:  #else /* USE_SEVERAL_PAGES */
  464:    __asm {
  465:          PSHA                      ;// save A register
  0000 36           [2]     PSHA  
  466:          LDAA    PAGE_ADDR         ;// save page register
  0001 9630         [3]     LDAA  48
  467:          STAB    PAGE_ADDR         ;// set page register
  0003 5b30         [2]     STAB  48
  468:          LDAB    0,Y               ;// actual load, overwrites page of address
  0005 e640         [3]     LDAB  0,Y
  469:          LDY     1,Y               ;// actual load, overwrites offset of address
  0007 ed41         [3]     LDY   1,Y
  470:          STAA    PAGE_ADDR         ;// restore page register
  0009 5a30         [2]     STAA  48
  471:          PULA                      ;// restore A register
  000b 32           [3]     PULA  
  472:          RTS
  000c 3d           [5]     RTS   
  473:    }
  474:  #endif /* USE_SEVERAL_PAGES */
  475:  
  476:  }
  477:  
  478:  /*--------------------------- _LOAD_FAR_32 --------------------------------
  479:    This runtime routine is used to access paged memory via a runtime function.
  480:    It may also be used if the compiler  option -Cp is not used with the runtime argument.
  481:  
  482:    Arguments :
  483:    - offset part of an address in the Y register
  484:    - page part of an address in the B register
  485:  
  486:    Result :
  487:    - low 16 bit of value to be read in the D registers
  488:    - high 16 bit of value to be read in the Y registers
  489:    - all other registers remains unchanged
  490:    - all page register still contain the same value
  491:    --------------------------- _LOAD_FAR_32 ----------------------------------*/
  492:  
  493:  #ifdef __cplusplus
  494:  extern "C"
  495:  #endif
  496:  #pragma NO_ENTRY
  497:  #pragma NO_EXIT
  498:  #pragma NO_FRAME
  499:  
  500:  void NEAR _LOAD_FAR_32(void) {

Function: _LOAD_FAR_32
Source  : D:\Chg\Tech\FSL_Support\from ChatRoom\9S12DP256_Vector Remapping_Jul262006\Sources\datapage.c
Options : -CPUHCS12 -D__NO_FLOAT__ -Env"GENPATH=D:\Chg\Tech\FSL_Support\from ChatRoom\9S12DP256_Vector Remapping_Jul262006;D:\Chg\Tech\FSL_Support\from ChatRoom\9S12DP256_Vector Remapping_Jul262006\bin;D:\Chg\Tech\FSL_Support\from ChatRoom\9S12DP256_Vector Remapping_Jul262006\prm;D:\Chg\Tech\FSL_Support\from ChatRoom\9S12DP256_Vector Remapping_Jul262006\cmd;D:\Chg\Tech\FSL_Support\from ChatRoom\9S12DP256_Vector Remapping_Jul262006\Sources;D:\Program Files\Freescale\CW for HC12 V4.5\lib\HC12c\lib;D:\Program Files\Freescale\CW for HC12 V4.5\lib\HC12c\src;D:\Program Files\Freescale\CW for HC12 V4.5\lib\HC12c\include" -Env"LIBPATH=D:\Program Files\Freescale\CW for HC12 V4.5\lib\HC12c\include" -Env"OBJPATH=D:\Chg\Tech\FSL_Support\from ChatRoom\9S12DP256_Vector Remapping_Jul262006\bin" -Env"TEXTPATH=D:\Chg\Tech\FSL_Support\from ChatRoom\9S12DP256_Vector Remapping_Jul262006\bin" -Lasm=%n.lst -Mb -ObjN="D:\Chg\Tech\FSL_Support\from ChatRoom\9S12DP256_Vector Remapping_Jul262006\9S12DP256_Vector_Remapping_Jul262006_Data\Full_Chip_Simulation\ObjectCode\datapage.c.o"

  501:  #if USE_SEVERAL_PAGES
  502:    __asm {
  503:          PSHX                      ;// save X register
  504:          __PIC_JSR(_GET_PAGE_REG)
  505:          BEQ     L_NOPAGE
  506:          LDAA    0,X               ;// save page register
  507:          PSHA                      ;// put it onto the stack
  508:          STAB    0,X               ;// set page register
  509:          LDD     2,Y               ;// actual load, low word
  510:          LDY     0,Y               ;// actual load, high word
  511:          MOVB    1,SP+,0,X         ;// restore page register
  512:          PULX                      ;// restore X register
  513:          RTS
  514:  L_NOPAGE:
  515:          LDD     2,Y               ;// actual load, low word
  516:          LDY     0,Y               ;// actual load, high word
  517:          PULX                      ;// restore X register
  518:          RTS
  519:    }
  520:  #else /* USE_SEVERAL_PAGES */
  521:    __asm {
  522:          LDAA    PAGE_ADDR         ;// save page register
  0000 9630         [3]     LDAA  48
  523:          PSHA                      ;// put it onto the stack
  0002 36           [2]     PSHA  
  524:          STAB    PAGE_ADDR         ;// set page register
  0003 5b30         [2]     STAB  48
  525:          LDD     2,Y               ;// actual load, low word
  0005 ec42         [3]     LDD   2,Y
  526:          LDY     0,Y               ;// actual load, high word
  0007 ed40         [3]     LDY   0,Y
  527:          MOVB    1,SP+,PAGE_ADDR   ;// restore page register
  0009 180db00030   [5]     MOVB  1,SP+,48
  528:          RTS
  000e 3d           [5]     RTS   
  529:    }
  530:  #endif /* USE_SEVERAL_PAGES */
  531:  }
  532:  
  533:  /*--------------------------- _STORE_FAR_8 --------------------------------
  534:    This runtime routine is used to access paged memory via a runtime function.
  535:    It may also be used if the compiler  option -Cp is not used with the runtime argument.
  536:  
  537:    Arguments :
  538:    - offset part of an address in the Y register
  539:    - page part of an address in the B register
  540:    - value to be stored in the B register
  541:  
  542:    Result :
  543:    - value stored at the address
  544:    - all registers remains unchanged
  545:    - all page register still contain the same value
  546:    --------------------------- _STORE_FAR_8 ----------------------------------*/
  547:  
  548:  #ifdef __cplusplus
  549:  extern "C"
  550:  #endif
  551:  #pragma NO_ENTRY
  552:  #pragma NO_EXIT
  553:  #pragma NO_FRAME
  554:  
  555:  void NEAR _STORE_FAR_8(void) {

Function: _STORE_FAR_8
Source  : D:\Chg\Tech\FSL_Support\from ChatRoom\9S12DP256_Vector Remapping_Jul262006\Sources\datapage.c
Options : -CPUHCS12 -D__NO_FLOAT__ -Env"GENPATH=D:\Chg\Tech\FSL_Support\from ChatRoom\9S12DP256_Vector Remapping_Jul262006;D:\Chg\Tech\FSL_Support\from ChatRoom\9S12DP256_Vector Remapping_Jul262006\bin;D:\Chg\Tech\FSL_Support\from ChatRoom\9S12DP256_Vector Remapping_Jul262006\prm;D:\Chg\Tech\FSL_Support\from ChatRoom\9S12DP256_Vector Remapping_Jul262006\cmd;D:\Chg\Tech\FSL_Support\from ChatRoom\9S12DP256_Vector Remapping_Jul262006\Sources;D:\Program Files\Freescale\CW for HC12 V4.5\lib\HC12c\lib;D:\Program Files\Freescale\CW for HC12 V4.5\lib\HC12c\src;D:\Program Files\Freescale\CW for HC12 V4.5\lib\HC12c\include" -Env"LIBPATH=D:\Program Files\Freescale\CW for HC12 V4.5\lib\HC12c\include" -Env"OBJPATH=D:\Chg\Tech\FSL_Support\from ChatRoom\9S12DP256_Vector Remapping_Jul262006\bin" -Env"TEXTPATH=D:\Chg\Tech\FSL_Support\from ChatRoom\9S12DP256_Vector Remapping_Jul262006\bin" -Lasm=%n.lst -Mb -ObjN="D:\Chg\Tech\FSL_Support\from ChatRoom\9S12DP256_Vector Remapping_Jul262006\9S12DP256_Vector_Remapping_Jul262006_Data\Full_Chip_Simulation\ObjectCode\datapage.c.o"

  556:  #if USE_SEVERAL_PAGES
  557:    __asm {
  558:          PSHX                      ;// save X register
  559:          __PIC_JSR(_GET_PAGE_REG)
  560:          BEQ     L_NOPAGE
  561:          PSHB                      ;// save B register
  562:          LDAB    0,X               ;// save page register
  563:          MOVB    0,SP, 0,X         ;// set page register
  564:          STAA    0,Y               ;// store the value passed in A
  565:          STAB    0,X               ;// restore page register
  566:          PULB                      ;// restore B register
  567:          PULX                      ;// restore X register
  568:          RTS
  569:  L_NOPAGE:
  570:          STAA    0,Y               ;// store the value passed in A
  571:          PULX                      ;// restore X register
  572:          RTS
  573:    }
  574:  #else /* USE_SEVERAL_PAGES */
  575:    __asm {
  576:          PSHB                      ;// save A register
  0000 37           [2]     PSHB  
  577:          LDAB    PAGE_ADDR         ;// save page register
  0001 d630         [3]     LDAB  48
  578:          MOVB    0,SP,PAGE_ADDR    ;// set page register
  0003 180d800030   [5]     MOVB  0,SP,48
  579:          STAA    0,Y               ;// store the value passed in A
  0008 6a40         [2]     STAA  0,Y
  580:          STAB    PAGE_ADDR         ;// restore page register
  000a 5b30         [2]     STAB  48
  581:          PULB                      ;// restore B register
  000c 33           [3]     PULB  
  582:          RTS
  000d 3d           [5]     RTS   
  583:    }
  584:  #endif /* USE_SEVERAL_PAGES */
  585:  }
  586:  
  587:  /*--------------------------- _STORE_FAR_16 --------------------------------
  588:    This runtime routine is used to access paged memory via a runtime function.
  589:    It may also be used if the compiler  option -Cp is not used with the runtime argument.
  590:  
  591:    Arguments :
  592:    - offset part of an address in the Y register
  593:    - page part of an address in the B register
  594:    - value to be stored in the X register
  595:  
  596:    Result :
  597:    - value stored at the address
  598:    - all registers remains unchanged
  599:    - all page register still contain the same value
  600:    --------------------------- _STORE_FAR_16 ----------------------------------*/
  601:  
  602:  #ifdef __cplusplus
  603:  extern "C"
  604:  #endif
  605:  #pragma NO_ENTRY
  606:  #pragma NO_EXIT
  607:  #pragma NO_FRAME
  608:  
  609:  void NEAR _STORE_FAR_16(void) {

Function: _STORE_FAR_16
Source  : D:\Chg\Tech\FSL_Support\from ChatRoom\9S12DP256_Vector Remapping_Jul262006\Sources\datapage.c
Options : -CPUHCS12 -D__NO_FLOAT__ -Env"GENPATH=D:\Chg\Tech\FSL_Support\from ChatRoom\9S12DP256_Vector Remapping_Jul262006;D:\Chg\Tech\FSL_Support\from ChatRoom\9S12DP256_Vector Remapping_Jul262006\bin;D:\Chg\Tech\FSL_Support\from ChatRoom\9S12DP256_Vector Remapping_Jul262006\prm;D:\Chg\Tech\FSL_Support\from ChatRoom\9S12DP256_Vector Remapping_Jul262006\cmd;D:\Chg\Tech\FSL_Support\from ChatRoom\9S12DP256_Vector Remapping_Jul262006\Sources;D:\Program Files\Freescale\CW for HC12 V4.5\lib\HC12c\lib;D:\Program Files\Freescale\CW for HC12 V4.5\lib\HC12c\src;D:\Program Files\Freescale\CW for HC12 V4.5\lib\HC12c\include" -Env"LIBPATH=D:\Program Files\Freescale\CW for HC12 V4.5\lib\HC12c\include" -Env"OBJPATH=D:\Chg\Tech\FSL_Support\from ChatRoom\9S12DP256_Vector Remapping_Jul262006\bin" -Env"TEXTPATH=D:\Chg\Tech\FSL_Support\from ChatRoom\9S12DP256_Vector Remapping_Jul262006\bin" -Lasm=%n.lst -Mb -ObjN="D:\Chg\Tech\FSL_Support\from ChatRoom\9S12DP256_Vector Remapping_Jul262006\9S12DP256_Vector_Remapping_Jul262006_Data\Full_Chip_Simulation\ObjectCode\datapage.c.o"

  610:  #if USE_SEVERAL_PAGES
  611:    __asm {
  612:          PSHX                      ;// save X register
  613:          __PIC_JSR(_GET_PAGE_REG)
  614:          BEQ     L_NOPAGE
  615:  
  616:          PSHA
  617:          LDAA    0,X               ;// save page register
  618:          STAB    0,X               ;// set page register
  619:          MOVW    1,SP,0,Y          ;// store the value passed in X
  620:          STAA    0,X               ;// restore page register
  621:          PULA                      ;// restore A register
  622:          PULX                      ;// restore X register
  623:          RTS
  624:  
  625:  L_NOPAGE:
  626:          STX 0,Y                   ;// store the value passed in X
  627:          PULX                      ;// restore X register
  628:          RTS
  629:    }
  630:  #else /* USE_SEVERAL_PAGES */
  631:    __asm {
  632:          PSHA                      ;// save A register
  0000 36           [2]     PSHA  
  633:          LDAA    PAGE_ADDR         ;// save page register
  0001 9630         [3]     LDAA  48
  634:          STAB    PAGE_ADDR         ;// set page register
  0003 5b30         [2]     STAB  48
  635:          STX     0,Y               ;// store the value passed in X
  0005 6e40         [2]     STX   0,Y
  636:          STAA    PAGE_ADDR         ;// restore page register
  0007 5a30         [2]     STAA  48
  637:          PULA                      ;// restore A register
  0009 32           [3]     PULA  
  638:          RTS
  000a 3d           [5]     RTS   
  639:    }
  640:  #endif /* USE_SEVERAL_PAGES */
  641:  }
  642:  /*--------------------------- _STORE_FAR_24 --------------------------------
  643:    This runtime routine is used to access paged memory via a runtime function.
  644:    It may also be used if the compiler  option -Cp is not used with the runtime argument.
  645:  
  646:    Arguments :
  647:    - offset part of an address in the Y register

⌨️ 快捷键说明

复制代码 Ctrl + C
搜索代码 Ctrl + F
全屏模式 F11
切换主题 Ctrl + Shift + D
显示快捷键 ?
增大字号 Ctrl + =
减小字号 Ctrl + -