问一个uCOS-II在51单片机上的移植问题,汇编语言的,没搞明白为什么。

2025-05-12 23:17:46
推荐回答(1个)
回答(1):

这里面涉及到两个知识:
1 C51编译器的指针是多少长度的?我们会认为,51指针长度是2个字节,即16位,其实是错误的,
C51编译器,编译结果,指针是3个字节,即24位的,但是,指针的最低位是没有用的,
一直为0,比如 unsigned char *ptr = (unsigned char *)0xABCD;指针的指向地址是 0xABCD,
假设,指针存放的地址是 0x10,那么, 0x10存放的内容是 0x00,0x11存放的内容是 0xAB,0x12
存放的地址是 0xCD,而并不是说 0x10存放的是 0xAB,0x11存放的是0xCD。
2 C51内核源自于Intel公司,与我们的电脑CPU一样,采用的是大端模式,什么叫大小端,你自己查资料吧。