1、位传送指令: 格式:MOV C , bit 其中:C为PSW中的Cy; MOV bit , C bit为布尔变量的位地址。 举例:试将00H位和7FH位中的内容互换。 【解】:两个位互换必须找一个位作为缓冲位。 MOV C,00H MOV 01H,C MOV C,7FH MOV 00H,C MOV C,01H MOV 7FH,C 2、位置位、位清零和取反指令: 格式: SETB C ;1→Cy SETB bit ;1→ bit CLR C ;0→Cy CLR bit ; 0→ bit CPL C ;/(Cy) → Cy CPL bit ;/(bit) →bit 3、位运算指令 格式:ANL C, bit ;(Cy)∧( bit )→ Cy ANL C, /bit ;(Cy)∧ /(bit )→ Cy ORL C, bit ;(Cy)∨( bit )→ Cy ORL C, /bit ;(Cy)∨/( bit )→ Cy 把Pl.0的状态传送到P1.5(P1.0为输入)。 SETB P1.0 MOV C,Pl.0 ;读入P1.0位数据 MOV P1.5,C 4,位控制转移指令: (一)以Cy内容为条件的转移指令 格式:JC rel ;若(Cy)=1,则(PC)+2+rel→PC ;若(Cy)=0,则(PC)+2→PC JNC rel ;若(Cy)=0,则(PC)+2+rel→PC ;若(Cy)=1,则(PC)+2→PC (二)以位地址为内容为条件的转移指令 格式:JB bit ,rel ;若(bit)=1,则(PC)+3+rel→PC ;若(bit)=0,则(PC)+3→PC JNB bit ,rel ;若(bit)=0,则(PC)+3+rel→PC ;若(bit)=1,则(PC)+3→PC JBC bit ,rel ;若(bit)=1,则(PC)+3+rel→PC,0→bit ;若(bit)=0,则(PC)+3→PC 【例】比较内部RAM中30H和40H中的两个无符号数的大小。并将大数存入50H,小数存入51H单元中。若两数相等则将片内RAM的127位置“l”。 MOV A,30H CJNE A,40H,Q1 ;不相等转 SETB 127 ;两数相等时位127置1 RET Q1: JC Q2 ;(Cy)=l,(30H)<(40H)转 MOV 50H,A ;(30H)>(40H) MOV 51H,40H RET Q2: MOV 50H,40H MOV 51H,A RET 9.3.6 控制转移指令 1 无条件转移指令 2 条件转移指令 3 子程序调用和返回 4 空操作指令 控制转移类指令共17条。主要功能是使程序从当 前的地址转移到PC所指向的新地址上。见表2-5 1、无条件转移指令 格式: LJMP addr16 长转移指令,寻址范围65535; AJMP addr11 绝对转移,寻址范围2K; SJMP rel 短转移,转移范围( -128 ~ +127 ); JMP @A+DPTR 变址转移,寻址范围65535。 02H addr15~8 addr7~0 a10~8
原创力文档

文档评论(0)