单片机_第四章ppt课件.pptVIP

  • 7
  • 0
  • 约4.93千字
  • 约 29页
  • 2018-07-02 发布于贵州
  • 举报
单片机_第四章ppt课件

第四章 汇编语言程序设计 §4-1 汇编语言程序设计基本概念 §4-2 汇编语言程序的基本结构形式;§4-1 汇编语言程序设计基本概念 一、MCS-51指令操作数说明 1、语句格式 [标号:] 操作码 [操作数(目的操作数,源操作数)] [;注释] 2、操作数 对于立即数 #data (1)立即数188,可表示为 、#0BCH、#188 (2)MOV DPTR,# BLOCK;BLOCK为定义过的标号地址 对于直接地址 direct (1)二进制、十进制、十六进制数,MOV A,30H (2)定义过的标号地址,AGAIN:SJMP AGAIN (3)表达式,如SUM+2,其中SUM为定义过的标号地址 (4) SFR寄存器名,如SP、DPH、DPL等;对于偏移量 rel (1)可以是数值、标号地址、表达式 (2)使用特殊符号“$”,它代表本条转移指令所在的地址, 如LJMP $(死循环) (3)实际编程时,凡指令中用到地址(rel、 addr11 、addr16等)都可用标号地址代替实际地址,而地址的运算有汇编程序完成。 二、常用伪指令 汇编:将计算机不可直接识别的汇编语言源程序翻译成机器语 言的过程。分为计算机汇编和人工汇编两种。 汇编程序:具有完成汇编功能的程序。 目标程序:汇编语言源程序经过汇编得到的机器语言程序。 伪指令:提供汇编用控制信息的指令,只能被汇编程序所识别, 不是单片机的CPU可执行的指令。; 1、定位伪指令ORG(Origin) 格式: [标号:] ORG m m:16位二进制数,代表地址。 功能:得到机器语言程序的起始地址。 2、定义字节伪指令DB(Define Byte) 格式:[标号:] DB X1,X2,~Xn Xn:单字节二进制、十进制、十六进制数,或以‘ ’括起来的字符串,数据符号。 功能:定义程序存储器从标号开始的连续单元,用来存放常 数、字符和表格。 ? 3、定义字伪指令DW(Define Word) 格式:[标号:] DW Y1,Y2,~Yn Yn:双字节二进制、十进制、十六进制数,或以‘ ’括起来的 字符串,数据符号。 功能:同DB,不同的是为16位数据。; 4、汇编结束命令END 格式:[标号:] END 功能:END是汇编语言源程序的汇编结束标志,在它后面所 写的指令均不予处理。 ? 5、等值命令EQU 格式:字符名称 EQU 数或汇编符号 功能:将一个数或特定的汇编符号赋予规定的字符名称。先 定义后使用。;§4-2 汇编语言程序的基本结构形式 ? 一、简单程序的设计 例4-1 已知两个压缩BCD码分别放在内部RAM的31H30H和33H 32H等4个单元中,试编程求和,结果存入R4R3R2中。 分析:流程如图:;程序如下: ORG 0000H LJMP MAIN ORG 0040H MAIN: MOV A,30H ADD A,32H DA A MOV R2,A MOV A,31H ADDC A,33H DA A MOV R3,A CLR A MOV ACC.0,C MOV R4,A HERE: SJMP HERE END;二、分支程序设计 1、单分支程序 单分支结构程序使用转移指令实现,即根据条件对程序的执行进行判断,满足条件是转移执行,否则顺序执行。 在MCS-51指令系统中条件转移指令有: (1)判A转移指令JZ、JNZ; (2)判位转移指令JB、JNB、JBC、JC、JNC; (3)比较转移指令CJNE; (4)减1不为0转移指令DJNZ;; 例4-2 假定在外部RAM中有ST1、ST2和ST3共3个连续单元,其中ST1、ST2单元中分别存放着两个8位无符号数,要求找出其中的大数并存入ST3单元。 分析:两个无符号数的大小比较可利用两数相减是否有借位来判断,流程图和程序如下所示: ; ORG 0000H LJMP START ORG 0040H START:CLR C MOV DPTR,#ST1 MOVX A, @DPTR MOV R7, A INC DPTR MOVX A, @DPTR

文档评论(0)

1亿VIP精品文档

相关文档