1.问题描述:
对RAM中从30h开始的50个单元清零。
2.汇编方法
复制代码1
2
3
4
5
6
7
8
9
10
11
12
13<span style="font-size:18px;">COUNT EQU 20H ;指定20H寄存器为循环变量 FSR EQU 04H ;指定FSR为04H INDF EQU 00H ;指定INDF为00H MOVLW D’50 ;给循环变量赋初值 MOVWF COUNT MOVLW 30H ;将30H →FSR MOVWF FSR NEXT CLRF INDF ;间接寻址 INCF FSR,1 ;地址指针内容加1,指向下一单元 DECFSZ COUNT,1 ;计数值减1,结果为0就 ;跳过下一条指令到STOP处 GOTO NEXT ;跳转回去并执行下一次循环 STOP GOTO STOP ;停机 </span>
3.混编方法
复制代码注意:只要是C语言中定义的变量,在汇编中对其寻址时一定要用下划线。1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16<span style="font-size:18px;">#include<pic.h> char COUNT; //定义全局变量 main(){ COUNT=50; FSR=0x30; #asm INDF EQU 00H NEXT CLRF INDF INCF _FSR, F DECFSZ _COUNT,F GOTO NEXT #endasm while(1){ ; } }</span>
4.C语言编程
复制代码注意:用C语言编写可读性强,但是占用的资源会多。1
2
3
4
5
6
7
8
9
10
11
12
13<span style="font-size:18px;">#include<pic.h> char COUNT; //定义全局变量 main(){ COUNT=50; FSR=0x30; INDF=0; NEXT: INDF=0; FSR++; if (COUNT-- >0) goto NEXT; while(1){ ; } }</span>
最后
以上就是靓丽苗条最近收集整理的关于PIC单片机入门_汇编/混编/C编比较1.问题描述:2.汇编方法3.混编方法4.C语言编程的全部内容,更多相关PIC单片机入门_汇编/混编/C编比较1内容请搜索靠谱客的其他文章。
本图文内容来源于网友提供,作为学习参考使用,或来自网络收集整理,版权属于原作者所有。
发表评论 取消回复