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

📄 datapage.lst

📁 motorola dp256 的中断向量映射表
💻 LST
📖 第 1 页 / 共 5 页
字号:
  242:  #if defined(__EPAGE__)
  243:  
  244:  #ifdef __cplusplus
  245:  extern "C"
  246:  #endif
  247:  #pragma NO_ENTRY
  248:  #pragma NO_EXIT
  249:  #pragma NO_FRAME
  250:  
  251:  static void NEAR _GET_PAGE_REG(void) { /*lint -esym(528, _GET_PAGE_REG) used in asm code */
  252:    __asm {
  253:  L_EPAGE:
  254:          CPY     #EPAGE_LOW_BOUND  ;// test of lower bound of EPAGE
  255:          BLO     L_NOPAGE
  256:          CPY     #EPAGE_HIGH_BOUND ;// test of higher bound of EPAGE
  257:          BHI     L_NOPAGE
  258:  FOUND_EPAGE:
  259:          LDX     #EPAGE_ADDR       ;// load page register address and clear zero flag
  260:          RTS
  261:  
  262:  L_NOPAGE:                         ;// not in any allowed page area
  263:                                    ;// its a far access to a non paged variable
  264:          ORCC    #0x04             ;// sets zero flag
  265:          RTS
  266:    }
  267:  }
  268:  
  269:  #endif /*  defined(__EPAGE__) */
  270:  #endif /*  defined(__PPAGE__) */
  271:  #endif /*  defined(__DPAGE__) */
  272:  
  273:  #endif /* USE_SEVERAL_PAGES */
  274:  
  275:  /*--------------------------- _SET_PAGE --------------------------------
  276:    Runtime routine to set the right page register. This routine is used if the compiler
  277:    does not know the right page register, i.e. if the option -Cp is used for more than
  278:    one pageregister or if the runtime option is used for one of the -Cp options.
  279:  
  280:    Arguments :
  281:    - offset part of an address in the Y register
  282:    - page part of an address in the B register
  283:  
  284:    Result :
  285:    - page part written into the correct page register.
  286:    - the old page register content is destroyed
  287:    - all processor registers remains unchanged
  288:    --------------------------- _SET_PAGE ----------------------------------*/
  289:  
  290:  #ifdef __cplusplus
  291:  extern "C"
  292:  #endif
  293:  #pragma NO_ENTRY
  294:  #pragma NO_EXIT
  295:  #pragma NO_FRAME
  296:  
  297:  void NEAR _SET_PAGE(void) {

Function: _SET_PAGE
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"

  298:  #if USE_SEVERAL_PAGES
  299:    __asm {
  300:          PSHX                      ;// save X register
  301:          __PIC_JSR(_GET_PAGE_REG)
  302:          BEQ     L_NOPAGE
  303:          STAB    0,X               ;// set page register
  304:  L_NOPAGE:
  305:          PULX                      ;// restore X register
  306:          RTS
  307:    }
  308:  #else /* USE_SEVERAL_PAGES */
  309:    __asm {
  310:          STAB    PAGE_ADDR         ;// set page register
  0000 5b30         [2]     STAB  48
  311:          RTS
  0002 3d           [5]     RTS   
  312:    }
  313:  #endif /* USE_SEVERAL_PAGES */
  314:  }
  315:  
  316:  /*--------------------------- _LOAD_FAR_8 --------------------------------
  317:    This runtime routine is used to access paged memory via a runtime function.
  318:    It may also be used if the compiler  option -Cp is not used with the runtime argument.
  319:  
  320:    Arguments :
  321:    - offset part of an address in the Y register
  322:    - page part of an address in the B register
  323:  
  324:    Result :
  325:    - value to be read in the B register
  326:    - all other registers remains unchanged
  327:    - all page register still contain the same value
  328:    --------------------------- _LOAD_FAR_8 ----------------------------------*/
  329:  
  330:  #ifdef __cplusplus
  331:  extern "C"
  332:  #endif
  333:  #pragma NO_ENTRY
  334:  #pragma NO_EXIT
  335:  #pragma NO_FRAME
  336:  
  337:  void NEAR _LOAD_FAR_8(void) {

Function: _LOAD_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"

  338:  #if USE_SEVERAL_PAGES
  339:    __asm {
  340:          PSHX                      ;// save X register
  341:          __PIC_JSR(_GET_PAGE_REG)
  342:          BEQ     L_NOPAGE
  343:          PSHA                      ;// save A register
  344:          LDAA    0,X               ;// save page register
  345:          STAB    0,X               ;// set page register
  346:          LDAB    0,Y               ;// actual load, overwrites page
  347:          STAA    0,X               ;// restore page register
  348:          PULA                      ;// restore A register
  349:          PULX                      ;// restore X register
  350:          RTS
  351:  L_NOPAGE:
  352:          LDAB    0,Y               ;// actual load, overwrites page
  353:          PULX                      ;// restore X register
  354:          RTS
  355:    }
  356:  #else /* USE_SEVERAL_PAGES */
  357:    __asm {
  358:          PSHA                      ;// save A register
  0000 36           [2]     PSHA  
  359:          LDAA    PAGE_ADDR         ;// save page register
  0001 9630         [3]     LDAA  48
  360:          STAB    PAGE_ADDR         ;// set page register
  0003 5b30         [2]     STAB  48
  361:          LDAB    0,Y               ;// actual load, overwrites page
  0005 e640         [3]     LDAB  0,Y
  362:          STAA    PAGE_ADDR         ;// restore page register
  0007 5a30         [2]     STAA  48
  363:          PULA                      ;// restore A register
  0009 32           [3]     PULA  
  364:          RTS
  000a 3d           [5]     RTS   
  365:    }
  366:  #endif /* USE_SEVERAL_PAGES */
  367:  }
  368:  
  369:  /*--------------------------- _LOAD_FAR_16 --------------------------------
  370:    This runtime routine is used to access paged memory via a runtime function.
  371:    It may also be used if the compiler  option -Cp is not used with the runtime argument.
  372:  
  373:    Arguments :
  374:    - offset part of an address in the Y register
  375:    - page part of an address in the B register
  376:  
  377:    Result :
  378:    - value to be read in the Y register
  379:    - all other registers remains unchanged
  380:    - all page register still contain the same value
  381:    --------------------------- _LOAD_FAR_16 ----------------------------------*/
  382:  
  383:  #ifdef __cplusplus
  384:  extern "C"
  385:  #endif
  386:  #pragma NO_ENTRY
  387:  #pragma NO_EXIT
  388:  #pragma NO_FRAME
  389:  
  390:  void NEAR _LOAD_FAR_16(void) {

Function: _LOAD_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"

  391:  #if USE_SEVERAL_PAGES
  392:    __asm {
  393:          PSHX                      ;// save X register
  394:          __PIC_JSR(_GET_PAGE_REG)
  395:          BEQ     L_NOPAGE
  396:          PSHA                      ;// save A register
  397:          LDAA    0,X               ;// save page register
  398:          STAB    0,X               ;// set page register
  399:          LDY     0,Y               ;// actual load, overwrites address
  400:          STAA    0,X               ;// restore page register
  401:          PULA                      ;// restore A register
  402:          PULX                      ;// restore X register
  403:          RTS
  404:  L_NOPAGE:
  405:          LDY     0,Y               ;// actual load, overwrites address
  406:          PULX                      ;// restore X register
  407:          RTS
  408:    }
  409:  #else /* USE_SEVERAL_PAGES */
  410:    __asm {
  411:          PSHA                      ;// save A register
  0000 36           [2]     PSHA  
  412:          LDAA    PAGE_ADDR         ;// save page register
  0001 9630         [3]     LDAA  48
  413:          STAB    PAGE_ADDR         ;// set page register
  0003 5b30         [2]     STAB  48
  414:          LDY     0,Y               ;// actual load, overwrites address
  0005 ed40         [3]     LDY   0,Y
  415:          STAA    PAGE_ADDR         ;// restore page register
  0007 5a30         [2]     STAA  48
  416:          PULA                      ;// restore A register
  0009 32           [3]     PULA  
  417:          RTS
  000a 3d           [5]     RTS   
  418:    }
  419:  #endif /* USE_SEVERAL_PAGES */
  420:  }
  421:  /*--------------------------- _LOAD_FAR_24 --------------------------------
  422:    This runtime routine is used to access paged memory via a runtime function.
  423:    It may also be used if the compiler  option -Cp is not used with the runtime argument.
  424:  
  425:    Arguments :
  426:    - offset part of an address in the Y register
  427:    - page part of an address in the B register
  428:  
  429:    Result :
  430:    - value to be read in the Y:B registers
  431:    - all other registers remains unchanged
  432:    - all page register still contain the same value
  433:    --------------------------- _LOAD_FAR_24 ----------------------------------*/
  434:  
  435:  #ifdef __cplusplus
  436:  extern "C"
  437:  #endif
  438:  #pragma NO_ENTRY
  439:  #pragma NO_EXIT
  440:  #pragma NO_FRAME
  441:  
  442:  void NEAR _LOAD_FAR_24(void) {

Function: _LOAD_FAR_24
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"

  443:  #if USE_SEVERAL_PAGES
  444:    __asm {
  445:          PSHX                      ;// save X register
  446:          __PIC_JSR(_GET_PAGE_REG)
  447:          BEQ     L_NOPAGE
  448:          PSHA                      ;// save A register

⌨️ 快捷键说明

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