电工吧
◎ 电工吧 >> 设为首页 >> 加入收藏>> 联系方式 >> 投稿 >>留言 
网站首页 · 电工新闻 · 电工基础 · 电力技术 · 电子技术 · 电工图片 · 电工法规 · 电工图书 · 电工搜索 · 论坛交流
 
      最新电子论文
 · [DSP技术]我的学习经验―― 
 · 什么是单片机? 
 · 单片机基础知识(一) 
 · 单片机基础知识(二) 
 · [DSP技术]开始入门 DSP 注 
 · 做DSP最应该懂得157个问题 
 · [技术资料]高手5分钟可以学 
 · 单片机入门的几点建议 
      推荐电子论文

 · [DSP技术]开始入门 DSP 注意事
 · C编译器错误信息中文翻译
 · 51单片机C语言学习
 · 单片机教学 第二十课
 · MCS-51单片机实用子程序库(一
 · PIC单片机的C语言使用(一)

  ■ 所在位置:首页>>电子技术>>单片机学习>>正文
 

单片机指令(二)

  1. 数据传递类指令

(3)以直接地址为目的操作数的指令

汇编指令 例子 说明
MOV direct,A MOV 20H,A  
MOV direct,Rn MOV 20H,R1  
MOV direct1,direct2 MOV 20H,30H  
MOV direct,@Ri MOV 20H,@R1  
MOV direct,#data MOV 20H,#34H  
     

 (4)以间接地址为目的操作数的指令

汇编指令 例子 说明
MOV @Ri,A MOV @R0,A  
MOV @Ri,direct MOV @R1,20H  
MOV @Ri,#data MOV @R0,#34H  
     
     
     

 (5)十六位数的传递指令

汇编指令 例子 说明
MOV DPTR,#data16 MOV DPTR,#1324H  
     

  8051是一种8位机,这是唯一的一条16位立即数传递指令,其功能是将一个16位的立即数送入DPTR中去。其中高8位送入DPH,低8位送入DPL。例:MOV DPTR,#1234H,则执行完了之后DPH中的值为12H,DPL中的值为34H。反之,如果我们分别向DPH,DPL送数,则结果也一样。如有下面两条指令:MOV DPH,#35H,MOV DPL,#12H。则就相当于执行了MOV DPTR,#3512H。

综合练习:

     

  1. 给出每条指令执行后的结果
    汇编指令 执行后的结果 正确答案
    MOV 23H,#30H (23h)=? (23h)=30h
    MOV 12H,#34H (12h)=? (12h)=34h
    MOV R0,#23H (R0)=? (R0)=23H
    MOV R7,#22H (R7)=? (R7)=22H
    MOV R1,12H (R1)=? (R1)=34H
    MOV A,@R0 (A)=? (A)=30H
    MOV 34H,@R1 (34H)=? (34H)=34H
    MOV 45H,34H (45H)=? (45H)=34H
    MOV DPTR,#6712H (DPTR)=? (DPTR)=6712H
    MOV 12H,DPH (12H)=? (12H)=67H
    MOV R0,DPL (R0)=? (R0)=12H
    MOV A,@R0 (A)=? (A)=67H

说明:上表中

<--msthemelist-->
按此在新窗口浏览图片
各条指令顺序执行;
按此在新窗口浏览图片
用括号括起来代表内容,如(23H)则代表内部RAM23H单元中的值,(A)则代表累加器A单元中的值。<--msthemelist-->

 

  1. 上机练习:
    1. 进入DOS状态,进入WAVE所在的目录,例D:\WAVE
    2. 键入MCS51,出现如下画面
      图1
      按此在新窗口浏览图片
    3. 按File->Open,出现对话框后,在Name处输入一个文件名(见图2),如果是下面列表中已存在的,则打开这个文件,如果不存在这个文件,则新建一个文件(见图3)
      图2
      按此在新窗口浏览图片
      图3

      按此在新窗口浏览图片

    4. 在空白处将上面的程序输入。见图4。用ALT+A汇编通过。用F8即可单步执行,在执行过程中注意观察屏幕左边的工作寄存器及A累加器中的值的变化。
      图4
      按此在新窗口浏览图片
    5. 内存中值的变化在此是看不到的,可以用如下方法观察(看图5):将鼠标移到DATA,双击,则光标进入此行,此时可以键盘上的上下光标键上下翻动来观察内存值的变化。本行的最前面DATA后面的数据代表的是“一段”的开始地址,如现在为20H,再看屏幕的最上方,数字从0到F,显示两者相加就等于真正的地址值,如现在图上所示的内存20H、21H、22H、23H中的值分别是FBH 、0EH、E8H、30H。
      图5
      按此在新窗口浏览图片
    6. 当运行完程序后,即进入它的反汇编区,不是我们想要的东西。为了再从头开始,可以用CTRL+F2功能键复位PC值。注意此时不会看到原来的窗口,为看到原来的窗口,请用ALT+4或ALT+5等来切换。当然以上操作也可以菜单进行。CTRL+F2是程序复位,用RUN菜单。窗口用WINDOWS菜单。
 
         相关文章

·
·
·
·
·
·

 
 
  关于本站 | 友情站点 | 联系方式 | 版权声明 | 电工技术服务与支持中心
Copyright© 2005-2006 Dg8.Com.CN ,All Rights Reserved
电工网 电工吧 电子吧