您当前的位置:《单片机技术》听课笔记:11
《单片机技术》听课笔记:11

第十一讲

乘法指令

MUL A B

.功能:将A和B两个无符号8位二进制数相乘,所得的16位积的低8位存于A中,高8位存于B中。

.如果乘积大于255,即高位B不为0时,ov置位;否则ov置0。

.CY总是清0。

.例:设(A)=50H(80D),(B)=A0H(160D).

执行指令:MUL A B

即80*160=12800=3200H

执行结果:乘积3200H(12800),(A)=00H

(B)=32H, (ov)=1,(CY)=0.

除法指令

DIU A B

.功能:将A中无符号8位二进制数除以B中的无符号8位二进位数,所得的商(整数)存于A,余数存于B.

.CY和OV置0

.当除数(B)=0时,结果不定,则OV置1。

例:设(A)=0DH(商113),(B)=11H

(余数17),(OV)=0,(CY)=0.

3.3.3逻辑运算指令

.包括:与、或、异或、清除、求反、移位等操作。

助记符有ANL  ORL  RL  RLC  RR  RRC  CPL  CLR 等。

.只按位进行逻辑运算。

.除以A为目的的寄存器外,结果不影响PS中标志位。

        累加器A的逻辑操作指令

CLR A ; 清零 (A)<—00H

CPL A; 取反(A)<—/(A)

RL A;  左环移

RLC A; 带进位左环移

RR A; 右环移

RRC A; 带进位右环移

SWAP A;  (A)<——>(A)4.7,高低串字节交换

.操作不影响标志位(与CY有关的操作只影响CY)。

例:利用位循环指令将累加器A的内部乘以10

MOV A,  #01H

RL A      ;把累加器的内容乘2。

MOV R2, A

RL A      ;把累加器的内容乘4。

RL A     ;把累加器的内容乘8。

ADD A,  R2

        逻辑“与”运算指令

ANL A,  Rn     ;(A)<—(A  ^  (Rn)

ANL A, direct ;(A)<—(A  ^  (direct)

ANL A, @Ri ;(A)<—(A  ^  ((Ri))

ANL A, #data ;(A)<—(A ^  #data 

ANL direct, #A ;(direct)<—(direct) ^  (A)
ANL direct,#data ;(direct)<—(direct)^ #data 

         


 

收藏状态
收藏本课程的同学
相关课程