首页 理论教育学习单片机多语言编程,包括简易汇编语言

学习单片机多语言编程,包括简易汇编语言

【摘要】:为此,出现了用代表指令意义的助记符表示指令。后面的字节称为“操作数”,表示端口的编号是00。将助记符表示的程序变换为包括地址和机器码在内的可执行程序的过程,称为“汇编”。对“宏”助记符指令进行的“汇编”,称为“简易汇编”。利用“宏”作为学习8051汇编语言和C语言的入门阶梯,对初学者是较好的一种选择。

1.名词与概念

单片机只能直接接收二进制码组成的机器指令。这是因为它本身组成简单,存储量小,速度低,无法直接编译复杂的文字指令。例如,一条2字节机器码指令

若直接阅读,除非查指令表,否则很难识别它的含义。为此,出现了用代表指令意义的助记符表示指令。上面指令可以表示为

这里,第1字节称为“操作码”。RTB是复位端口的位(resetbit),即端口相应位置0。后面的字节称为“操作数”,表示端口的编号是00。对一条指令,操作码是必需的,操作数是可选项。

操作码 <操作数1> <操作数2>

对于有的指令,可以无操作数。有的指令可有两个操作数。例如,指令“STOP”,它只有操作码,无操作数,意义是停止程序向下进行;指令“TIMER 01 02”有两个操作数,意义是延时1×1s。

2.指令格式例

下面用助记符指令编辑一段程序,让指示灯D0点亮。

例如:指令 RTB 00(www.chuimin.cn)

指令 STOP

1)生成机器代码。要想让单片机执行这段程序,首先要将它变换为对应的机器指令代码,还必须指出机器码分配到存储器内的地址。根据“宏”指令集,上面程序的机器代码如下:

2)加入存储器地址。从00地址开始,地址后面要加冒号“:”,表示与机器码的区别。注意,任何程序起点必须从00地址起始。编辑时要用英文格式。

以上格式表明,存储器内容被分配如下:

经过以上变换,即可将程序顺利地输入到单片机中执行。将助记符表示的程序变换为包括地址和机器码在内的可执行程序的过程,称为“汇编”。一般由专用的软件负责,但这一过程也可由人工查表负责。

以上介绍的指令,称为“宏”。对“宏”助记符指令进行的“汇编”,称为“简易汇编”。“宏”只有30条,易学易用,学习它不必了解单片机的内部结构,程序可以由键和数码管输入、编辑并执行,使用非常灵活。利用“宏”作为学习8051汇编语言和C语言的入门阶梯,对初学者是较好的一种选择。

若要执行“宏”指令程序,必须依靠放置在实验机MCU芯片内的驻机解释程序,而用户程序放在片外E2PROM内,单片机从地址00H开始由E2PROM内取指令逐条执行语句,直到程序循环或停止。