赞
踩
之前答应给同学帮忙做毕设,想着应该很简单。结果老师给了他一份汇编程序,由于自己之前做过汇编编程的工作,就胆(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,写数据到外部器件,应该是初始
Copyright © 2003-2013 www.wpsshop.cn 版权所有,并保留所有权利。