第四章汇编语言程序设计 §4-1汇编语言程序设计基本概念 §4-2汇编语言程序的基本结构形式
第四章 汇编语言程序设计 §4-1 汇编语言程序设计基本概念 §4-2 汇编语言程序的基本结构形式
§4-1汇编语言程序设计基本概念 MCS-51指令操作数说明 1、语句格式 标号:J操作码[操作数(目的操作数,源操作数)];注释 2、操作数 对于立即数#data (1)立即数188,可表示为#1011110B、#OBCH、#188 (2)MOVR0,# BLOCK; BLOCK为定义过的标号地址 对于直接地址 direct (1)二进制、十进制、十六进制数,MOVA,30H (2)定义过的标号地址,AGAN: SJMP AGAIN (3)表达式,如SUM+2,其中SUM为定义过的标号地址 (4)SFR寄存器名,如SP、DPH、DPL等
§4-1 汇编语言程序设计基本概念 一、MCS-51指令操作数说明 1、语句格式 [标号:] 操作码 [操作数(目的操作数,源操作数)] [;注释] 2、操作数 对于立即数 #data (1)立即数188,可表示为 #10111100B、#0BCH、#188 (2)MOV R0,# 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、 addr 16 等)都可用标号地址代替实际地址,而地址的运算有汇编程序 完成。 、常用伪指令 汇编:将计算机不可直接识别的汇编语言源程序翻译成机器语 言的过程。分为计算机汇编和人工汇编两种。 汇编程序:具有完成汇编功能的程序。 目标程序:汇编语言源程序经过汇编得到的机器语言程序 伪指令:提供汇编用控制信息的指令,只能被汇编程序所识别, 不是单片机的CPU呵执行的指令
对于偏移量 rel (1)可以是数值、标号地址、表达式 (2)使用特殊符号“$” ,它代表本条转移指令所在的地址, 如LJMP $(死循环) (3)实际编程时,凡指令中用到地址(rel、 addr11 、addr16 等)都可用标号地址代替实际地址,而地址的运算有汇编程序 完成。 二、常用伪指令 汇编:将计算机不可直接识别的汇编语言源程序翻译成机器语 言的过程。分为计算机汇编和人工汇编两种。 汇编程序:具有完成汇编功能的程序。 目标程序:汇编语言源程序经过汇编得到的机器语言程序。 伪指令:提供汇编用控制信息的指令,只能被汇编程序所识别, 不是单片机的CPU可执行的指令
1、定位伪指令ORG( Origin) 格式:[标号:]ORGm m:16位二进制数,代表地址 功能:指出汇编语言程序通过编译,得到的机器语言程序的起 始地址。 2、定义字节伪指令DB( Define byte) 格式:[标号:]DBX1,X2,~Xn Xn:单字节二进制、十进制、十六进制数,或以‘’括起 来的 字符串,数据符号。 功能:定义程序存储器从标号开始的连续单元,用来存放常 数、字符和表格 3、定义字伪指令DW( Define word) 格式:[标号:]DWY1,Y2,~Yn Yn:双字节二进制、十进制、十六进制数,或以‘’括起来 的 字符串,数据符号
1、定位伪指令ORG(Origin) 格式: [标号:] ORG m m:16位二进制数,代表地址。 功能:指出汇编语言程序通过编译,得到的机器语言程序的起 始地址。 2、定义字节伪指令DB(DefineByte) 格式:[标号:] DB X1,X2, ~Xn Xn:单字节二进制、十进制、十六进制数,或以‘ ’括起 来的 字符串,数据符号。 功能:定义程序存储器从标号开始的连续单元,用来存放常 数、字符和表格。 3、定义字伪指令DW(DefineWord) 格式:[标号:] DW Y1,Y2, ~Yn Yn:双字节二进制、十进制、十六进制数,或以‘ ’括起来 的 字符串,数据符号。 功能:同DB,不同的是为16位数据
4、汇编结束命令END 格式:[标号:]END 功能:END是汇编语言源程序的汇编结束标志,在它后面所 写的指令均不予处理。 5、等值命令EQU 格式:字符名称FQU数或汇编符号 功能:将一个数或特定的汇编符号赋予规定的字符名称。先 定义后使用 6、数据地址赋值命令DATA 格式:字符名称DATA表达式 功能:将数据地址或代码地址赋予规定的字符名称
4、汇编结束命令END 格式:[标号:] END 功能:END是汇编语言源程序的汇编结束标志,在它后面所 写的指令均不予处理。 5、等值命令EQU 格式:字符名称 EQU 数或汇编符号 功能:将一个数或特定的汇编符号赋予规定的字符名称。先 定义后使用。 6、数据地址赋值命令DATA 格式:字符名称 DATA 表达式 功能:将数据地址或代码地址赋予规定的字符名称