houzi8 发表于 2024-1-2 22:41:24

STC8H1K28汇编增强型DPTR问题

在测试STC8H系列(STC8H1K28)在测试增强型DPTR时,采用官方例程文件测试时,发现采用MOV   DPTR,#0103H这一行采用#0103H时,写入XDATA数据异常,减到0XFF以下才正常(0x103-0xFF之间没有数据),后面经过测试把这行的#0103H改成小于0FFH后正常。是不是还有哪里需要设置,谢谢!
因为程序大小关系,把读取地址做了更改,其它没有改变,如下:

            MOV   DPS,#00100000B            ;使能TSL,并选择DPTR0
            MOV   DPTR,#0110H               ;将1000H写入DPTR0中,执行完成后选择DPTR1为DPTR
            MOV   DPTR,#0103H               ;将0103H写入DPTR1中
            MOV   DPS,#10111000B            ;设置DPTR1为递减模式,DPTR0为递加模式,使能TSL以及
                                                ;AU0和AU1,并选择DPTR0为当前的DPTR

图片是左边是ROM数据,右边是读保存的XDATA数据。

乘风飞扬 发表于 2024-1-3 18:08:27

增强型双数据指针,仿真时需要全速运行才能看到效果。
在数据转移指令完成后面加断点,然后全速运行,运行停止后看结果。

houzi8 发表于 2024-1-4 16:20:14

乘风飞扬 发表于 2024-1-3 18:08
增强型双数据指针,仿真时需要全速运行才能看到效果。
在数据转移指令完成后面加断点,然后全速运行,运行 ...

是的,这个问题仿真时也发现了,上图就是先全速运行后的结果。现在的问题主要是外部数据寄存器超过0xFF后数据就保存不了。不知道什么情况。
页: [1]
查看完整版本: STC8H1K28汇编增强型DPTR问题