汇编语言程序分解.pptVIP

  • 1
  • 0
  • 约2.16千字
  • 约 31页
  • 2020-09-02 发布于福建
  • 举报
第四章汇编语言程序设计 4-1汇编语言基本概念 42汇编语言程序设计 4-1汇编程序基本概念 4-1-1程序设计语言 用于编制计算机程序的语言称为程序设计语言。按 照语言的结构及其功能可以分为三种:机器语言、汇编 语言、高级语言 机器语言 二、湘编进制代码0和1表示指令和数据的最原始的程序 垛沚彌谙言鳙寫帱取成特筵枥篚拍令赙廁速度最快, 得著繁琐、难认、难记。 1)汇编语言指令与机器语言指令相对应,有效地利用存储空间。 2)指令直接访问cPU的寄存器、存储单元和O端口,可以充分发 挥CPU的功能,满足实时控制的要求。 3)是面向机器的语言,使用者必须对机器的硬件结构、指令系统 都要熟悉。汇编语言程序的通用性差,程序移植起来不方便 汇编 汇编语言程序到机器语言程序的转换过程称为汇编。 1手工汇编:人工查指令表汇编。用于设计短小程序或 调试程序的场合。 2机器汇编:用汇编程序进行汇编 、高级语言 高级语言是以接近于人的自然语言,面向过程而独 立于机器的通用语言。必须经编译程序或解释程序进行 翻译生成目标程序,机器才能执行 特点:简单、易学、通用性好,便于移植。但是, 其目标程序占存储单元多,执行时间长;在MCS51系 列单片机开发应用中,单片机的c语言c51正得到越来越 广泛的应用。 4-1-2汇编语言的语句结构 一.汇编语言指令类型 1.机器指令: 指令系统中的全部指令,每条指令有对应的机器代码 2.伪指令: 汇编控制指令,仅提供汇编信息,没有指令代码。 汇编语言的语句格式 汇编语言一般由四部分组成。格式如下: 标号:操作码操作数 注释 START: MOV A,30H ;A←(30H) 各部分之间须用分隔符,即在标号之后要加冒号“:”;在操 作 码与操作数之间用空格间隔;在操作数内部用逗号“,”将源操 4-1-3伪指令 常用伪指令及其功能: 1.RG—起始地址指令:指明程序和数据块起始地址。 指令地址机器码 源程序 ORG 2000H 2000h 78 30 MAIN: MOV RO, #30H 2002HE6 mov A, @RO ORG 3000H 3000H23 DB23H,100,‘A 3001H64 3002H 41 2.DB一定义字节型常数指令 例:DB12H,100,“A 3.DW一定义字型常数指令。 例:DW1234H,5678H 4.EoU一赋值。为标号或标识符赋值。 1 EQU 2000H X2 EQU OFH MAIN: Mov DPTR, #X1 Add A, #X2 5.BIT一位定义。 例: FLAG BIT30H 6.EN一结束汇编指令。 4-2汇编语言程序设计 4-2-1汇编语言程序设计步骤 分析问题,建立数学模型 二.确定算法 三.画程序流程图 四.分配内存单元 五.编制源程序 六.调试程序 常用程序结构 顺序程序、分支程序、循环程序、子程序 顺序程序又称简单程序,程序走向只有一条路径。 例1:两个8位无符号数相加,和仍为8位。 假设两个无符号数X1,X2分别存放于内部 RAM6OH、6H单元中,求其和并将和送入 62H单元。 程序如下: ORG 0100 CLR C MOv RO,#60H;设R0为数据指针 MVA,@R0;取Ⅺ1 INC RO ADD A, RO X1+X2 RO MOV @RO. A 保存结果 END 例2:将30H单元内的两位BCD码拆开并转换成 ASCⅢ码,存入RAM两个单元中 ORG 2000H 开始 MoVA,30H;取值 取数据低4位 ANLA,#FH;取低四位 ADDA,#30H,;转换成ASC码 转换成ASC码 MOV32H,A;保存结果 存ASCI码 MoⅤA,30H;取值 取数据高4位 SWAP A;高4位与低四位互换 ANLA,#0FH;取低四位(原高4位)[转换成ASC码 ADDA,#30H,;转换成ASc码 存ASCI码 MOV 31H, A 保存结果 SJMP 结束 END 例3:两个无符号双字节数相加 设被加数存放在内部存储器30H(高位字节)、31H(低位 字节)单元,加数存放在内部存储器40H(高位字节)、41H (低位字节)单元,和存入30H(高位字节)、31H(低位字节) 单元。 程庠加下 ORG 0000H LR C 将C清零 MOV R0,#31H 送被加数首址 MOV R1,#41H 送加数首址 MOV A,@R0 取衲加数低宰节

文档评论(0)

1亿VIP精品文档

相关文档