汇编语言高手朋友们快帮我解决一下!!!

来源:百度知道 编辑:UC知道 时间:2024/06/05 13:34:38
这是一段小喇叭唱,生日快乐的其中一部分,谁能告诉我其中空出的这部分为什么这么写。。。急!!!!
;;P3.3小喇叭---生日快乐。
org 0000h
ajmp main
org 000bh
jmp tim0
org 0030h
main: ;主程序
mov tmod,#01h ;设定时方式
mov ie,#82h ;开中断
start0:
mov 30h,#00h ;
next: mov a,30h
mov dptr,#table
movc a,@a+dptr ;查表取音调和节拍
mov r2,a
jz end0 ;为零,不进行处理.
anl a,#0fh
mov r5,a ;将节拍存入R5
mov a,r2
swap a
anl a,#0fh
jnz sing ;根据音调决定是否演奏.
clr tr0
jmp d1
sing: dec a
mov 22h,a ;将音调存入22H.
rl a
mov dptr,#table1
movc a,@a+dptr ;根据音调决定定时器初值.
mov th0,a ;放入TH0
mov 21h,a
mov a,22h
rl a
inc a
movc a,@a+dptr
mov tl0,a ;放入TL0
mov 20h,a
setb tr0 ;启动定时
d1: call delay
inc 30h
jmp next
end0: clr tr0
jmp start0

tim0: ;定时器中断服务程序
push acc
push psw
mov tl0,20h ;重赋初值.
mov th0,21h
cpl p3.3
pop psw
pop acc
reti

汇编语言属于低级语言,它和计算机的硬件组织有关,首先,掌握CPU、存储器、外设的工作原理;其次,掌握汇编语言的指令和伪指令的格式、功能、使用方法;最后,掌握程序设计结构、设计方法。
汇编语言入门有点难,原因可能是大家熟悉了高级语言的编程方法,对开始学习低级语言有点不适应,多做多练,慢慢就会适应了。欢迎你有问题随时提出,我会尽力回答的。