摘要:
---恢复内容开始---大端与小端:1: 51单片机的指令集是大端的。example011 ;汇编代码:2 lcall 0x34563 ;对应机器码4 12 34 562: KeilC51编译器数据结构是大端的。example02 1 void main(void){ 2 long i = 0x12345678; 3 return; 4 } 5 6 //对应反汇编代码 7 /* 8 * mov A, #0x12 9 * mov 0x61, A10 * mov A, #0x3411 * mov 0x62, A12 * mov A, #0x5613 * mov ... 阅读全文
摘要:
如何解决keil c51编译器不支持匿名结构体的问题。。。-----------------不使用匿名结构体撒。。人家都说了不支持。。。To01: 测试代码。。 阅读全文
摘要:
minGW 的头文件(stdio.h)中这样定义了 FILE 结构体(注释来自网路):file struct 1 typedef struct _iobuf { 2 char *_ptr; //文件输入的下一个位置 3 int _cnt; //当前缓冲区的相对位置 4 char *_base; //指基础位置(应该是文件的其始位置) 5 int _flag; //文件标志 6 ... 阅读全文
摘要:
当 51单片机工作模式寄存器 设置为 TMOD.M1M0 = 00 工作方式0 TMOD.C/T = 0 定时工作模式定时器/计数器0 将工作在 13bit 定时器模式。。与想当然的 13 bit = 5bit(TH0 ) + 8bit (TL0)的搞法不同的是。。(谁让你不看规格)13bit = 8bit(TH0) + 5bit(TL0) TL0的高三位没有用到。。假设定时器工作频率为2M,那么中断服务程序定长1ms的写法应该是。。 1 /* 2 * @Func: void TIMER0_IRQHandler(void) interrupt 1 3 * @Usage: ... 阅读全文
摘要:
作者:Etual http://blog.chinaunix.net/uid-2595338-id-2139603.htmlhttp://www.amobbs.com/thread-4611736-1-1.html 1 // 随机数加密算法 A^B = C , A^C =B , B^C = A 异或加密 2 // Etual 2011-3-14 3 4 #include <stdio.h> 5 6 // 7byte 数据 和 1byte key 7 unsigned char code_buf[8] = {0x12,0x13,0x14,0x15,0x21,0x22,0x23,0x0 阅读全文
摘要:
问题提出:本来是想看看,MCS-51在进中断前会不会将psw入栈保存起来,查了下指令集,却发现:ret ((sp))-->PCH (sp)-1-->sp ((sp))-->PCL (sp)-1-->spreti ((sp))-->PCH (sp)-1-->sp ((sp))-->PCL (sp)-1-->sp发现reti和ret 做了同样的事情 --- 出栈PC指针,都没有将psw出栈的过程,所以系统在响应中断前,只将程序指针PC保存起来 psw却没有保护起来。所以,以后在中断服务程序中首先应该把psw保存在栈中或者寄存器中,在中断服务程序结束前 阅读全文