📄 datapage.lst
字号:
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 + -