当前位置:   article > 正文

51单片机:汇编改C语言(一)_51汇编程序转c

51汇编程序转c

之前答应给同学帮忙做毕设,想着应该很简单。结果老师给了他一份汇编程序,由于自己之前做过汇编编程的工作,就胆(no)大(zuo)妄(no)为(dai)的说是给他翻译成C语言的。
当我仔细瞅了那份程序之后。额,好吧,我只能说我尽力而为吧!

东西只有一篇近2000行的汇编程序和一份原理图,程序中无任何变量,需要变量或者是标志位时,直接操作一个RAM地址,子程序起名也是相当佛系。目前我只注释了一小部分的程序,大概三四百行吧,贴出来,作为一个笔记,以供后面学习。
由于不是本人程序,所以会在程序中做删减,但不会影响汇编语言的学习。注释为?的,意思是我也没看懂到底什么意思……同样的内容,在前面注释过的,后面不再注释。最后,向那个年代用汇编写单片机程序的老师们致敬。嘻嘻!_!

	ORG 0000H	;程序起始地址
	LJMP MAIN
	ORG 0003H	;外部中断0	
	LJMP I0000
	ORG 000BH	;定时器0
	LJMP T0000
	ORG 0023H	;串行中断
	LJMP ES000
	ORG 0030H	;程序存储区(用户RAM)
MAIN:
	MOV R0,#7FH		;将数据7FH存入R0寄存器
MAIN1:
	MOV @R0,#00H	;将0存入7FH地址
	DJNZ R0,MAIN1	;给R0-1,若不为0,则跳转到MAIN1,上面这两条语句是一个小循环,意思是将00-7FH地址清0,以便后续使用。
	MOV SP,#60H		;将60H存入堆栈指针,即栈顶指针地址为60H	
	LCALL WR100		;转到WR100,写数据到外部器件,应该是初始
  • 1
  • 2
  • 3
  • 4
  • 5
  • 6
  • 7
  • 8
  • 9
  • 10
  • 11
  • 12
  • 13
  • 14
  • 15
声明:本文内容由网友自发贡献,不代表【wpsshop博客】立场,版权归原作者所有,本站不承担相应法律责任。如您发现有侵权的内容,请联系我们。转载请注明出处:https://www.wpsshop.cn/w/繁依Fanyi0/article/detail/309650
推荐阅读
相关标签
  

闽ICP备14008679号