浅谈PIC8位单片机中的RAM和汇编程序的关系
发布时间:2008/5/27 0:00:00 访问次数:787
http://www.hificat.com
于microchip推出的pic系列8位单片机是朝着超小型、低功耗、低成本方向发展的,这些产品无功能堆积而以多品种方式来满足各种应用层次的要求,所以pic 8位单片机的型号特别多,正因为如此,给初学者带来学习上的不便,易使初学者在阅读单片机书籍时,面对pic 8位单片机众多的型号无法阅读。笔者的学习方法是先了解pic单片机的内部硬件基本模式,学习汇编语言的写法,再结合典型汇编语言实例学习pic单片机主要的汇编语言指令等,然后再深入下去。
由于pic单片机的源程序没有规定严格的编写形式,在一定范围内有较大的灵活性。在完成同一种功能时,往往不同的人其程序的表达方式也不一样。造成上述的原因之一,笔者认为是在pic数据存储器的表达方式上。
pic单片机数据存储器ram,从功能上可分为操作寄存器、i/o口寄存器、通用寄存器和特殊功能寄存器等。在汇编语言中其数据存储器ram都当作寄存器来处理和使用,并常用fxx表示,其中f代表寄存器,xx表示相应的地址。如第5个ram单元是pic单片机的a口(i/o口),可用f5表示;第3个单元是pic的status(状态寄存器)可用f3表示,以使指令中的寻址大大简化。不仅如此,有时还直接给出寄存器的名字如count(计数器)来表示寄存器。不过这种表达式的随意性是由汇编语言程序开始时由伪指令预先赋值或自定义的,以保证汇编时pc机能识别。
由于pic单片机的源程序没有规定严格的编写形式,在一定范围内有较大的灵活性。在完成同一种功能时,往往不同的人其程序的表达方式也不一样。造成上述的原因之一,笔者认为是在pic数据存储器的表达方式上。
pic单片机数据存储器ram,从功能上可分为操作寄存器、i/o口寄存器、通用寄存器和特殊功能寄存器等。在汇编语言中其数据存储器ram都当作寄存器来处理和使用,并常用fxx表示,其中f代表寄存器,xx表示相应的地址。如第5个ram单元是pic单片机的a口(i/o口),可用f5表示;第3个单元是pic的status(状态寄存器)可用f3表示,以使指令中的寻址大大简化。不仅如此,有时还直接给出寄存器的名字如count(计数器)来表示寄存器。不过这种表达式的随意性是由汇编语言程序开始时由伪指令预先赋值或自定义的,以保证汇编时pc机能识别。
http://www.hificat.com
于microchip推出的pic系列8位单片机是朝着超小型、低功耗、低成本方向发展的,这些产品无功能堆积而以多品种方式来满足各种应用层次的要求,所以pic 8位单片机的型号特别多,正因为如此,给初学者带来学习上的不便,易使初学者在阅读单片机书籍时,面对pic 8位单片机众多的型号无法阅读。笔者的学习方法是先了解pic单片机的内部硬件基本模式,学习汇编语言的写法,再结合典型汇编语言实例学习pic单片机主要的汇编语言指令等,然后再深入下去。
由于pic单片机的源程序没有规定严格的编写形式,在一定范围内有较大的灵活性。在完成同一种功能时,往往不同的人其程序的表达方式也不一样。造成上述的原因之一,笔者认为是在pic数据存储器的表达方式上。
pic单片机数据存储器ram,从功能上可分为操作寄存器、i/o口寄存器、通用寄存器和特殊功能寄存器等。在汇编语言中其数据存储器ram都当作寄存器来处理和使用,并常用fxx表示,其中f代表寄存器,xx表示相应的地址。如第5个ram单元是pic单片机的a口(i/o口),可用f5表示;第3个单元是pic的status(状态寄存器)可用f3表示,以使指令中的寻址大大简化。不仅如此,有时还直接给出寄存器的名字如count(计数器)来表示寄存器。不过这种表达式的随意性是由汇编语言程序开始时由伪指令预先赋值或自定义的,以保证汇编时pc机能识别。
由于pic单片机的源程序没有规定严格的编写形式,在一定范围内有较大的灵活性。在完成同一种功能时,往往不同的人其程序的表达方式也不一样。造成上述的原因之一,笔者认为是在pic数据存储器的表达方式上。
pic单片机数据存储器ram,从功能上可分为操作寄存器、i/o口寄存器、通用寄存器和特殊功能寄存器等。在汇编语言中其数据存储器ram都当作寄存器来处理和使用,并常用fxx表示,其中f代表寄存器,xx表示相应的地址。如第5个ram单元是pic单片机的a口(i/o口),可用f5表示;第3个单元是pic的status(状态寄存器)可用f3表示,以使指令中的寻址大大简化。不仅如此,有时还直接给出寄存器的名字如count(计数器)来表示寄存器。不过这种表达式的随意性是由汇编语言程序开始时由伪指令预先赋值或自定义的,以保证汇编时pc机能识别。