流水灯汇编语言小程序
2010-04-09 22:56
471 查看
初学单片机,碰巧又是初学汇编程序设计,就突然迸发了一个用汇编程序写一个单片机控制的小程序,流水灯运行。。没想到一次就成功了,眼瞅着单片机开发板上的流水灯在我的指示下跑得那么飘逸,激动啊,单片机才学了2个多星期,汇编还没入门,呵呵,意外。。
其他不是很重要,关键是我通过这个程序,认识了子程序与程序标号的区别,个人感觉很难得,小小记录下。。
ORG 00H
START:
MOV A,#0FFH ; A代表累加器ACC 发光二极管全熄灭1111 1111
CLR C ; C代表进位程序状态字中标志位CY 将C清零 CY = 0
MOV R1 ,#8 ;
LEFT:
RLC A ; 带进位CY在ACC(8位/共9位,以8为周期循环)中左移
MOV P0,A
CALL DELAY
DJNZ R1,LEFT
MOV R2,#7
RIGHT:
RRC A ; 带进位CY在ACC(8位/共9位)中右移
MOV P0,A
CALL DELAY
DJNZ R2,RIGHT
JMP START
DELAY:
MOV R3,#20
D1:
MOV R4,#30
D2:
MOV R5,#20
DJNZ R5,$ ;R5减1,不为0,则执行本行
DJNZ R4,D2 ;R4减1,不为0,则跳转到D2标号的程序开始处
DJNZ R3,D1 ;R3减1,不为0,则跳转到D1标号的程序开始处
RET
END
;1——这里LEFT,RIGHT,DELAY不是子程序,而只是标号,标号只是用来标记地址,方便程序员识别,以及程序中跳转时,以标号表示地址方便、直观
;2——不是子程序的特点表现在:当主程序中没有调用这个子程序时,该子程序等于没写,而标号的 ,是真个程序的一部分,程序执行时,
;3——按着从上到下的顺序执行,不是只有在其他跳转指令跳转到这个标号处,该标号对应的程序才执行
;4——一般的子程序用proc,endp标记
其他不是很重要,关键是我通过这个程序,认识了子程序与程序标号的区别,个人感觉很难得,小小记录下。。
ORG 00H
START:
MOV A,#0FFH ; A代表累加器ACC 发光二极管全熄灭1111 1111
CLR C ; C代表进位程序状态字中标志位CY 将C清零 CY = 0
MOV R1 ,#8 ;
LEFT:
RLC A ; 带进位CY在ACC(8位/共9位,以8为周期循环)中左移
MOV P0,A
CALL DELAY
DJNZ R1,LEFT
MOV R2,#7
RIGHT:
RRC A ; 带进位CY在ACC(8位/共9位)中右移
MOV P0,A
CALL DELAY
DJNZ R2,RIGHT
JMP START
DELAY:
MOV R3,#20
D1:
MOV R4,#30
D2:
MOV R5,#20
DJNZ R5,$ ;R5减1,不为0,则执行本行
DJNZ R4,D2 ;R4减1,不为0,则跳转到D2标号的程序开始处
DJNZ R3,D1 ;R3减1,不为0,则跳转到D1标号的程序开始处
RET
END
;1——这里LEFT,RIGHT,DELAY不是子程序,而只是标号,标号只是用来标记地址,方便程序员识别,以及程序中跳转时,以标号表示地址方便、直观
;2——不是子程序的特点表现在:当主程序中没有调用这个子程序时,该子程序等于没写,而标号的 ,是真个程序的一部分,程序执行时,
;3——按着从上到下的顺序执行,不是只有在其他跳转指令跳转到这个标号处,该标号对应的程序才执行
;4——一般的子程序用proc,endp标记
相关文章推荐
- 内核态下基于动态感染技术的应用程序执行保护(二 使用汇编语言编写内核态程序)
- 汇编语言(王爽) 第4章 第一个程序
- 王爽 汇编语言 第三版 实验12 编写0号中断的处理程序
- 汇编语言: .写一段子程序 SKIPLINES,完成输出空行的功能。空行的行数由用户在主程序中通过 键盘输入,并将行数放在 AX 寄存器中。
- 汇编语言第一个程序
- 用汇编语言设计接口程序——音乐演奏程序
- 汇编程序语言
- nasm汇编语言小程序:计算多个指定位置的Fibonacci值
- 汇编语言: 试编制一个程序:从键盘输入一行字符,要求第一个键入的字符必须是空格符,如不 是,则退出程序;如是,则开始接收键入的字符并顺序存放在首地址为buffer的缓冲区中(空 格符不存入),直到接收
- 汇编语言: 试编写一段程序,要求输入两个字符串,如两个字符串相等则显示“MATCH”, 否则 显示“NO MATCH”。
- Intel汇编语言实现的演奏音乐程序
- <<汇编语言>>---王爽 (实验 8)分析一个奇怪的程序
- 汇编语言二 debug程序
- AT&T汇编语言——工具及程序组成
- 32位汇编语言学习笔记(28)--一个简单的光标控制程序
- 汇编语言中对PSP区和程序区的一些理解
- 简单的汇编语言译码程序
- 汇编语言编写时钟程序
- 汇编语言第一个程序
- [汇编语言]-第六章 包含多个段的程序 在一个段中存放数据,代码,栈