[PIC®/AVR®/dsPIC®产品] 【Keil C51】中的【C语言】转换【汇编语言】遇到的问题

[复制链接]
856|6
 楼主| zj1037157350 发表于 2020-2-12 20:21 | 显示全部楼层 |阅读模式
本帖最后由 zj1037157350 于 2020-2-12 22:35 编辑

Keil C51中键入如下代码:
  1. #include "reg51.h"
  2. void delay(unsigned int xms);
  3. xdata int AA=5;
  4. void main()
  5. {
  6.         delay(1000);
  7. }

  8. void delay(unsigned int xms)
  9. {
  10.         unsigned int x,y;
  11.         for(x=xms;x>0;x--)
  12.         for(y=110;y>0;y--);
  13. }
注意到其中一句代码为,xdata int AA=5。
Keil转换的部分汇编语言为:
  1.     12: void delay(unsigned int xms)  
  2.     13: {
  3.     14:         unsigned int x,y;
  4.     15:         for(x=xms;x>0;x--)
  5. C:0x008F    D3       SETB     C
  6. C:0x0090    EF       MOV      A,R7
  7. C:0x0091    9400     SUBB     A,#AA(0x00)
  8. C:0x0093    EE       MOV      A,R6
  9. C:0x0094    9400     SUBB     A,#AA(0x00)
  10. C:0x0096    4014     JC       C:00AC
  11.     16:         for(y=110;y>0;y--);
  12. C:0x0098    7D6E     MOV      R5,#0x6E
  13. C:0x009A    7C00     MOV      R4,#AA(0x00)
  14. C:0x009C    ED       MOV      A,R5
  15. C:0x009D    1D       DEC      R5
  16. C:0x009E    7001     JNZ      C:00A1
  17. C:0x00A0    1C       DEC      R4
  18. C:0x00A1    ED       MOV      A,R5
  19. C:0x00A2    4C       ORL      A,R4
  20. C:0x00A3    70F7     JNZ      C:009C
  21. C:0x00A5    EF       MOV      A,R7
  22. C:0x00A6    1F       DEC      R7
  23. C:0x00A7    70E6     JNZ      delay(C:008F)
  24. C:0x00A9    1E       DEC      R6
  25. C:0x00AA    80E3     SJMP     delay(C:008F)
  26.     17: }
  27. C:0x00AC    22       RET      
注意到其中有一些代码中含有:#AA(0x00)。
有大神知道这个“AA”是什么意思吗?代码多的时候,它会不会影响到“AA”的值?并解说一下下面这段代码的意思。
C:0x0091    9400     SUBB     A,#AA(0x00)

谢谢各位路过的大神!


幸福小强 发表于 2020-2-13 10:40 | 显示全部楼层
其实没必要啊,给你个测算延时的方法,用示波器。
 楼主| zj1037157350 发表于 2020-2-13 21:38 | 显示全部楼层
幸福小强 发表于 2020-2-13 10:40
其实没必要啊,给你个测算延时的方法,用示波器。

我就想知道为什么有个“AA”。测试归测试,理论归理论,我知道可以仿真用示波器看。谢谢你了。
Cjy_JDxy 发表于 2020-2-14 08:11 | 显示全部楼层
xdata int AA=5;
AA是这个吧
幸福小强 发表于 2020-2-15 20:33 | 显示全部楼层
不了解编译器运行机制。
uytyu 发表于 2020-2-19 22:09 | 显示全部楼层
汇编还是不懂呢。      
uytyu 发表于 2020-2-19 22:10 | 显示全部楼层
为什么要转换汇编呢  
您需要登录后才可以回帖 登录 | 注册

本版积分规则

3

主题

8

帖子

0

粉丝
快速回复 在线客服 返回列表 返回顶部