打印
[PIC®/AVR®/dsPIC®产品]

【Keil C51】中的【C语言】转换【汇编语言】遇到的问题

[复制链接]
678|6
手机看帖
扫描二维码
随时随地手机跟帖
跳转到指定楼层
楼主
zj1037157350|  楼主 | 2020-2-12 20:21 | 只看该作者 回帖奖励 |倒序浏览 |阅读模式
本帖最后由 zj1037157350 于 2020-2-12 22:35 编辑

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

void delay(unsigned int xms)
{
        unsigned int x,y;
        for(x=xms;x>0;x--)
        for(y=110;y>0;y--);
}
注意到其中一句代码为,xdata int AA=5。
Keil转换的部分汇编语言为:
    12: void delay(unsigned int xms)  
    13: {
    14:         unsigned int x,y;
    15:         for(x=xms;x>0;x--)
C:0x008F    D3       SETB     C
C:0x0090    EF       MOV      A,R7
C:0x0091    9400     SUBB     A,#AA(0x00)
C:0x0093    EE       MOV      A,R6
C:0x0094    9400     SUBB     A,#AA(0x00)
C:0x0096    4014     JC       C:00AC
    16:         for(y=110;y>0;y--);
C:0x0098    7D6E     MOV      R5,#0x6E
C:0x009A    7C00     MOV      R4,#AA(0x00)
C:0x009C    ED       MOV      A,R5
C:0x009D    1D       DEC      R5
C:0x009E    7001     JNZ      C:00A1
C:0x00A0    1C       DEC      R4
C:0x00A1    ED       MOV      A,R5
C:0x00A2    4C       ORL      A,R4
C:0x00A3    70F7     JNZ      C:009C
C:0x00A5    EF       MOV      A,R7
C:0x00A6    1F       DEC      R7
C:0x00A7    70E6     JNZ      delay(C:008F)
C:0x00A9    1E       DEC      R6
C:0x00AA    80E3     SJMP     delay(C:008F)
    17: }
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是这个吧

使用特权

评论回复
5
幸福小强| | 2020-2-15 20:33 | 只看该作者
不了解编译器运行机制。

使用特权

评论回复
6
uytyu| | 2020-2-19 22:09 | 只看该作者
汇编还是不懂呢。      

使用特权

评论回复
7
uytyu| | 2020-2-19 22:10 | 只看该作者
为什么要转换汇编呢  

使用特权

评论回复
发新帖 我要提问
您需要登录后才可以回帖 登录 | 注册

本版积分规则

3

主题

8

帖子

0

粉丝