MOV A, @R0 MOV @R0,A 访问外部RAM只
能用(寄存器) “间接”寻址 MOVX A,@R0 MOVX @R0,A MOVX A,@DPTR MOVX @DPRT,A
11
寄存器间接寻址(外部RAM)
• MCS-51对片内RAM和片外RAM采用不同传送 指令
• MOVX @R1,A;以R1(或R0)中数据为地 址,将A中数据送外部RAM单元。限定为8位 地址。
不一定是在累加器中。 ANL direct,#data
4.求反与清除指令 CPL A 字节操作只有这一种形式 CLR A 字节操作只有这一种形式
22
逻辑运算类指令
• MCS-51单片机的移位指令只能对累加器A进行,并 且一次只能移一位。共有循环右移、循环左移、带进 位循环右移和带进位循环左移4种。
• 由于程序存储器是只读的,因此变址寻址 只有读操作而无写操作,指令符号为 MOVC。 MOVC A,@ A+DPTR;A←(A+DPTR) MOVC A,@ A+PC ;A←(A+PC)
13
查表程序
• mov r0,#0h • l1: • INC R0 • call table • nop • jmp l1 • TABLE: • MOV A, R0 • MOVC A, @A+PC • RET • DB 31H,32H……
例如:MOV A,# 60H ;A←#60H
MOV DPTR,# 3400H
;DPTR←#3400H
MOV 30H,# 40H ;30H单元←#40H
• 由于MCS-51只有DPTR为16为,因此,也只有上 一条16位立即数指令正确。
MOV 0E0H,#0E0H (=MOV A, #0E0H)