这个月买了块PIC的开发板子玩,在板子上烧C可以工作,烧汇编者按就不行,PIC单片机必须配置字吗?
这是下面的汇编程序,哪位大神帮忙看下,是不是哪有错啊,在MPLAB可以编译过去。汇编程序里面在哪可以配置字?
status equ 3h ;定义状态寄存器地址
portd equ 8h ;定义端口C的数据寄存器地址
trisd equ 88h ;定义端口C的方向控制寄存器地址
;***********************************************************
org 000h ;定义程序存放区域的起始地址
nop ;放置一条ICD必须的空操用指令
main bsf status,5 ;设置文件寄存器的体1
movlw 0x00 ;对端口C的方向控制码00H先送W
movwf trisd ;再由W转移到方向控制寄存器
bcf status,5 ;恢复到文件寄存器体0
movlw 0xff ;将00000001B先送W
movwf portd ;再由W转移到数据寄存器,让RC0输出高电平点亮LED
call delay ;调用廷时子程序
call delay
goto main ;循环
;-------------------------廷时子程序----------------------------
delay ;子程序名,也是子程序入口地址
movlw 0x0f ;将外层循环参数值FFH经过W
movwf 20h ;送入用作外循环变量的20H单元
lp0 movlw 0xff ;将第二层循环参数值FFH经过W
movwf 21h ;送入用作内循环变量的21H单元
lp1 movlw 0xff ;将内层循环参数值FFH经过W
movwf 22h ;送入用作内循环变量的22H单元
lp2 decfsz 22h,1 ;变量22H内容递减,若为0跳跃
goto lp2 ;跳转到LP2处
decfsz 21h,1 ;变量21H内容递减,若为0跳跃
goto lp1 ;跳跃到LP1处
decfsz 20h,1 ;变量20H内容递减,若为0跳跃
goto lp0 ;跳跃到LP0处
retlw 0 ;返回主程序
end ;源程序结束
此帖出自
小平头技术问答
一周热门 更多>