keil编译时查汇编发现多了一句C中没有的语句,大神救命
就是黄色那句,好奇怪(SegBuffer是数组名,0x1D是变量i)可是unsignedcharSegBuffer[4]={0};不是int...
就是黄色那句,好奇怪
(SegBuffer是数组名,0x1D是变量i )
可是
unsigned char SegBuffer[4]={0};
不是int 展开
(SegBuffer是数组名,0x1D是变量i )
可是
unsigned char SegBuffer[4]={0};
不是int 展开
展开全部
SegBuffer看起来是个int型的数组,每个元素是个int,所以有两个字节。
当指向元素i时,就应该是SegBuffer的(头指针+i×2)个字节。这就是
mov a,0x1d
add a,ACC
add a,#SegBuffer
的含义。
此时,因为是int型的元素,所以A指向SegBuffer[i]的高字节,因为P3是8位的寄存器,需要把SegBuffer[i]的低字节赋给它,所以inc r0就是为了让指针加1,指向SegBuffer[i]的低字节。
当指向元素i时,就应该是SegBuffer的(头指针+i×2)个字节。这就是
mov a,0x1d
add a,ACC
add a,#SegBuffer
的含义。
此时,因为是int型的元素,所以A指向SegBuffer[i]的高字节,因为P3是8位的寄存器,需要把SegBuffer[i]的低字节赋给它,所以inc r0就是为了让指针加1,指向SegBuffer[i]的低字节。
追问
可是
unsigned char SegBuffer[4]={0};
不是int
意法半导体(中国)投资有限公司
2023-06-12 广告
2023-06-12 广告
单片机汇编程序是用汇编语言编写的程序,用于控制单片机的操作。汇编语言是一种比较接近计算机硬件语言的低级语言,相对于高级语言来说更容易理解和实现。下面是单片机汇编程序的基本步骤:1. 将代码和数据汇编到规定的段中。2. 在存储器中用未初始化的...
点击进入详情页
本回答由意法半导体(中国)投资有限公司提供
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询