ercircle 发表于 2025-3-9 20:25:39

感谢分享,收藏学习

mmxx2024 发表于 2025-4-7 15:17:46

V3版库有隐患:

(1)部分子程序强行关、开总中断。退出时总中断总是打开的,如果调用程序前总中断是关闭的,可能导致非预期的结果。这些计算好像不需要关闭中断,如果为了加速而关闭中断,建议这样做:
PUSH IE
CLR EA
……(原程序)
POP IE

(2)使用DPTR时应先保存,返回前恢复,因为有的16位局部变量使用DPTR,生成src文件会有这样的描述:
;---- Variable 'xxxx?263' assigned to Register 'DPTR' ----

建议改为:
PUSH DPH
PUSH DPL
……(原程序)
POP DPL
POP DPH

(3)那些地址分配到外部RAM地址的寄存器在使用前最好使能外部RAM寄存器访问,因为调用前这个设置是未知的。
建议改为:
PUSH P_SW2
ORL P_SW2,#80H
……(原程序)
POP P_SW2

liuxingyu 发表于 2025-7-18 20:12:14

有用,谢谢指导!

xhbwork 发表于 2025-11-22 09:49:26

mmxx2024 发表于 2025-4-7 15:17
V3版库有隐患:

(1)部分子程序强行关、开总中断。退出时总中断总是打开的,如果调用程序前总中断是关闭 ...

看了版主好像第一和第三像源程序都做了更改,为啥第二项不更改呢,变量在XDATA条件下,直接调用DPTR就发生了改变,我理解错了?

不需要保护吗?

xhbwork 发表于 2025-11-22 09:51:19

是不是库只能使用在SMALL模式,不考虑使用COMPACT和LARGE模式啊?

mmxx2024 发表于 2025-11-22 19:42:57

xhbwork 发表于 2025-11-22 09:49
看了版主好像第一和第三像源程序都做了更改,为啥第二项不更改呢,变量在XDATA条件下,直接调用DPTR就发 ...

有一部分改了,一部分没改,我就是使用发现问题反查才知道原来问题在库中。

HYS_ 发表于 2026-1-6 08:54:41

这是汇编能用的吗?

HYS_ 发表于 2026-1-6 08:55:10

关于加减乘除MDU16有没有汇编例程?

HYS_ 发表于 2026-1-6 08:56:14

LAOXU 发表于 2024-3-8 08:58
标准库含下列文件, 全部通过测试, 可加快程序运行速度 !
影响程序执行速度的库函数( 主要含 MDU 16x16位乘 ...

这个不能汇编调用吧?
页: 1 2 3 [4]
查看完整版本: 荣誉版主,老许版:8H系列/8G系列, MDU16 V3.0 LIB 库使用说明