6701编译问题

2019-07-15 19:30发布

小弟今日编写6701,其中CMD文件如下:
-c                                                               

-heap        0x1000                                       
-stack         0x1000                               

MEMORY
{
   VECS:        o = 00000000h        l = 00000200h               
   BOOTRAM:        o = 00000200h        l = 00000200h
   PMEM:         o = 00010000h        l = 0000FC00h               
   DMEM:        o = 80000000h        l = 00010000h               
   CE1VECS:        o = 01000000h        l = 00000200h               
   CE1BOOT:        o = 01000200h        l = 00000200h
   CE1PMEM:        o = 01010000h        l = 0000FC00h
}

SECtiONS                                                                               
{
   .vectors        :        load = CE1VECS,        run = VECS               
   .boot    :          load = CE1BOOT,        run        = BOOTRAM
   .text        :        load = CE1PMEM, run = PMEM               
   .cinit        :        load = CE1PMEM,        run = PMEM               
   .const        >        DMEM
   .far                >        DMEM
   .stack        >        DMEM
   .bss                >        DMEM
   .data    >        DMEM
   .switch        >        DMEM
   .cio     >        DMEM
   .canshu  >   DMEM
}

采用MAP0方式,编译通过,无错误,无警告,查看MAP文件
UTPUT FILE NAME:   <./Debug/real.out>
ENTRY POINT SYMBOL: "_c_int00"  address: 0001e4c0


MEMORY CONFIGURATION

         name            origin    length      used     unused   attr    fill
----------------------  --------  ---------  --------  --------  ----  --------
  VECS                  00000000   00000200  00000200  00000000  RWIX
  BOOTRAM               00000200   00000200  000000c0  00000140  RWIX
  PMEM                  00010000   0000fc00  0000ebcc  00001034  RWIX
  CE1VECS               01000000   00000200  00000200  00000000  RWIX
  CE1BOOT               01000200   00000200  000000c0  00000140  RWIX
  CE1PMEM               01010000   0000fc00  0000ebcc  00001034  RWIX
  DMEM                  80000000   00010000  00006f6e  00009092  RWIX


.switch    0    80006d30    0000011c     
在用HEX6X转换成机器代码时报错, 1.png
convert.bat文件如下:
real.out               
-a                               
-memwidth 32
-romwidth 32       
-order L               
ROMS
{
        ROM1:        org = 0x01000000, length = 0x400,       
                        files = {r1.txt}                                               
        ROM2:        org = 0x01010000, length = 0xFC00,       
                        files = {r2.txt}
}

小弟将switch映射到PMEM却没有问题,我就想问问这事是个什么个情况?switch未超界,却不让放在DMEM里,为什么?希望高手能给予解决,谢谢
友情提示: 此问题已得到解决,问题已经关闭,关闭后问题禁止继续编辑,回答。