LAOXU 发表于 2023-3-18 05:59:42

请问: 这是怎么回事???

很简单的测试程序, 没有任何中断, 仅测试指令执行时间.



上例中: _nop_(); 一个都不加, 测试结果 time1 = 1
         加一个 _nop_();测试结果 time1 = 9 (异常!!!)
         加二个 _nop_();测试结果 time1 = 10
         加三个 _nop_();测试结果 time1 = 11
         加四个 _nop_();测试结果 time1 = 12

芯片型号是 STC32G

LAOXU 发表于 2023-3-18 06:02:00

在仿真时, 是全速执行的

LAOXU 发表于 2023-3-18 06:24:28

同样的程序, 在 stc8h 上测试, 工作正常.

测试结果: _nop_(); 一个都不加, 测试结果 time1 = 1
         加一个 _nop_();测试结果 time1 =2
         加二个 _nop_();测试结果 time1 = 3
         加三个 _nop_();测试结果 time1 = 4
         加四个 _nop_();测试结果 time1 = 5

社区闲人 发表于 2023-3-18 09:47:31

要加上:
WTST = 0;//设置程序指令延时参数,赋值为0可将CPU执行指令的速度设置为最快
    EAXFR = 1; //扩展寄存器(XFR)访问使能
    CKCON = 0; //提高访问XRAM速度

社区闲人 发表于 2023-3-18 09:52:09

这还是网友在半年前测试时发现的。

LAOXU 发表于 2023-3-18 11:56:01

社区闲人 发表于 2023-3-18 09:52
这还是网友在半年前测试时发现的。

谢谢!

加上就正常了.

LAOXU 发表于 2023-3-18 11:58:49

另: 请问一下, MXAX (MOVX扩展地址寄存器) , 怎么用???

查遍手册, 没看到说明.

LAOXU 发表于 2023-3-18 12:03:49

DPTR 高位扩展, 有 DPXL 寄存器了, 这个 MXAX 寄存器 , 派啥用???
页: [1]
查看完整版本: 请问: 这是怎么回事???