找回密码
 立即注册

QQ登录

只需一步,快速开始

搜索
查看: 5648|回复: 0
收起左侧

七种寻址方式 汇编语言练习

[复制链接]
ID:71407 发表于 2014-12-31 22:30 | 显示全部楼层 |阅读模式
七种寻址方式
*********************************************************
【立即寻址】
MOV A,#20H ;20H数据传送给累加器A
MOV DPRT,#1020H ;10给DPRT的DPH高8位,20给DPRT的DPL低8位
【直接寻址】
MOV A,10H ;将10H单元的内容给A
MOV A,P1
SETB EA
【寄存器寻址】
MOV A,R2 ;将R2的内容给A。
【寄存器间接寻址】
MOV R0,#10H
MOV A,@R0
【变址寻址】
以数据指针DPRT或程序计数器PC作基址寄存器,以累加器A作偏移地址寄存器,
并以两内容相加形成的16位作为操作数地址。主要用于查表操作。
只对程序存储器进行寻址。64KB。
MOVC A,@A+DPTR
MOVC A,@A+PC
JMP  @A+DPTR
【相对寻址】
SJMP 10H
【位寻址】
按位进行寻址操作。
MOV C,21H
MOV C,P1.0
*********************************************************
【堆栈操作】
1.
20H与A中内容交换。
解答:MOV 20H,#05H
      MOV A,#01H
      PUSH ACC
      PUSH 20H
      POP  20H
      POP  ACC
注意: 堆栈 先进后出
2.
将片内RAM 60H单元与61H单元的数据交换
MOV A,60H
XCH A,61H
MOV 60H,A
3.将外部RAM中0010H单元中的内容送入外部RAM中的2000H单元中
MOV R0,#0010H
MOVX A,@R0
MOV DPTR,#2000H
MOVX @DPRT,A
4.
将累加器A的高四位传送给P1口高四位,但P1低四位不变。
解答:
MOV R0,A
ANL A,F0H
ANL P1,0FH
ORL P1,A
MOV A,R0
5.
将累加器A中无符号数乘2
(1)CLR C
   RLC A ;进位左移一位相当于乘2
(2)MOV B,#2
   MUL A,B ;乘法                                                                                               
回复

使用道具 举报

您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

手机版|小黑屋|51黑电子论坛 |51黑电子论坛6群 QQ 管理员QQ:125739409;技术交流QQ群281945664

Powered by 单片机教程网

快速回复 返回顶部 返回列表