您的位置 首页 基础

PIC中档单片机汇编指令详解(7)

GOTO程序无条件跳转到指定的地址语法形式:GOTOm操作数:m为11位立即数指定的目标地址执行时间:2个指令周期执行过程:mrarr;PC【10:…

GOTO 程序无条件跳转到指定的地址

语法方式:GOTO m

操作数:m为11位当即数指定的方针地址

履行时间:2个指令周期

履行进程:

m→PC【10:0】

PCLATH【4:3】→PC【12:11】

状况标志影响:无

阐明:程序无条件当即强行跳转到意图地址处持续履行。意图地址由本指令内含的11位地址码和特别寄存器PCLATH中的【4:3】一同构成完好的13位地址。

指令典范:

ORG 0x000 ;伪指令指定程序的开始地址

GOTO Main ;程序跳转到标号指定的方位处持续履行

MOVLW W寄存器赋当即数

语法方式:MOVLW k

操作数:k为8位当即数

履行时间:一个指令周期

履行进程:k→W

状况标志影响:无

阐明:该指令对W寄存器赋一个初值。任何其他数据寄存器假如要赋一个当即数值,有必要经过W寄存器传送。

指令典范:

MOVLW 0x55 ;【W】=0x55

MOVWF Tmp ;【Tmp】=【W】=0x55

ADDLW W寄存器和8位当即数相加

语法方式:ADDLW k

操作数:k为8位当即数

履行时间:一个指令周期

履行进程:【W】+k→W

状况标志影响:Z DC C

阐明:W寄存器的值和8位当即数相加,成果放入W寄存器内

指令典范:

MOVLW 0xAA ;W=0xAA

ADDLW 0x11 ;W=0xAA+0x11=0xBB

SUBLW 当即数减去W寄存器

语法方式:SUBLW k

操作数:k为8位当即数

履行时间:一个指令周期

履行进程:k-【W】→W

状况标志影响:Z DC C

阐明:有必要留意W寄存器在这条指令中是减数

假如k=W,相减成果为0,则Z=1

假如k>W,没有借位产生,则C=1

假如k

PIC单片机内部这条减法指令的履行是先对W寄存器求补码,然后和被减数k相加,所以在判别是否有借位标志时要千万当心

指令典范:

MOVLW 0x23 ;W=0x23

SUBLW 0x32 ;W=0x32-0x23=0x0f,k>W所以C=1

IORLW W寄存器和当即数做逻辑或操作

语法方式:IORLW k

操作数:k为8位当即数

履行时间:一个指令周期

履行进程:【W】|k→W

状况标志影响:Z

阐明:W寄存器和8位当即数相或,成果放入W寄存器内。依照逻辑或有1出1的规律,此指令能够把W寄存器的恣意位设置成数据1

指令典范:

IORLW b‘00001111’ ;W寄存器低4方位1

ANDLW W寄存器和当即数做逻辑与操作

语法方式:ANDLW k

操作数:k为8位当即数

履行时间:一个指令周期

履行进程:【W】&k→W

状况标志影响:Z

阐明:W寄存器和8位当即数相与,成果放入W寄存器内。依照逻辑与有0出0的规律,能够把W寄存器的恣意方位清0

指令典范:

ANDLW b‘00001111’ ;W寄存器高4位清0

XORLW W寄存器和当即数做逻辑异或操作

语法方式:XORLW k

操作数:k为8位当即数

履行时间:一个指令周期

履行进程:【W】^k→W

状况标志影响:Z

阐明:W寄存器和8位当即数异或,成果放入W寄存器内。依照逻辑异或的规律,任何数和1异或,成果为其反码;任何数和其本身异或,成果为0。所以该指令能够把W寄存器的恣意位数回转,或许判别W寄存器的内容是否为特定值

指令典范:

例1:恣意数据按位取反

XORLW b‘11111111’ ;取W寄存器8位反码

例2:判别W寄存器内容是否为特定值

XORLW 0x34 ;判别W=0x34?

BTFSC STATUS,Z ;W不等于0x34,则越过下条指令

GOTO W34 ;W等于0x34,转去履行相关操作

声明:本文内容来自网络转载或用户投稿,文章版权归原作者和原出处所有。文中观点,不代表本站立场。若有侵权请联系本站删除(kf@86ic.com)https://www.86ic.net/zhishi/jichu/325903.html

为您推荐

联系我们

联系我们

在线咨询: QQ交谈

邮箱: kf@86ic.com

关注微信
微信扫一扫关注我们

微信扫一扫关注我们

返回顶部