可以但非常非常非常非常非常不建议。
- TH0 = BRT >> 8;
- TL0 = BRT;
- 汇编:
- mov dptr,#_BRT
- movx a,@dptr
- mov r6,a
- inc dptr
- movx a,@dptr
- mov r7,a
- mov _TH0,r7
- mov _TL0,r6
复制代码
- TH1 = BRT / 256;
- TL1 = BRT % 256;
- 汇编:
- push ar7
- push ar6
- clr a
- push acc
- inc a
- push acc
- mov dpl,r6
- mov dph,r7
- lcall __divsint
- mov r4,dpl
- dec sp
- dec sp
- pop ar6
- pop ar7
- mov _TH1,r4
- clr a
- push acc
- inc a
- push acc
- mov dpl,r6
- mov dph,r7
- lcall __modsint
- mov r6,dpl
- dec sp
- dec sp
- mov _TL1,r6
复制代码
你看看二者指令差了多少,更何况第二种方式还有两个lcall方法__divsint和__modsint没贴上来呢,那执行效率可想而知了……
第二个问题原因类似,汇编就不贴了 |