📄 yinyuel.lst
字号:
A51 MACRO ASSEMBLER YINYUEL 12/26/2007 11:41:39 PAGE 1
MACRO ASSEMBLER A51 V7.08a
OBJECT MODULE PLACED IN yinyuel.OBJ
ASSEMBLER INVOKED BY: C:\Keil\C51\BIN\A51.EXE yinyuel.asm SET(SMALL) DEBUG EP
LOC OBJ LINE SOURCE
1
0000 2 ORG 0000H
0000 02000E 3 LJMP START
000B 4 ORG 000BH
000B 0200BA 5 LJMP TIM0
6
000E 758901 7 START: MOV TMOD,#00000001B
0011 75A882 8 MOV IE,#10000010B
9 ; JB P3.2, $
10 ; CALL DELAY1
11 ; JNB P3.2, $
0014 753100 12 MOV 31H,#00
0017 13 START0:
0017 75301E 14 MOV 30H,#SONG
*** ______________________________________________________^
*** WARNING #A52 IN 14 (yinyuel.asm, LINE 14): VALUE HAS BEEN TRUNCATED TO 8 BITS
001A E530 15 NEXT: MOV A,30H
001C 900300 16 MOV DPTR,# TABLE
001F 93 17 MOVC A,@A+DPTR
0020 FA 18 MOV R2,A
0021 602A 19 JZ END0
0023 540F 20 ANL A,#0FH
0025 FD 21 MOV R5,A
0026 EA 22 MOV A,R2
0027 C4 23 SWAP A
0028 540F 24 ANL A,#0FH
002A 7004 25 JNZ SING
002C C28C 26 CLR TR0
002E 8017 27 JMP D1
0030 14 28 SING: DEC A
0031 F522 29 MOV 22H,A
0033 23 30 RL A
0034 900300 31 MOV DPTR,#TABLE
0037 93 32 MOVC A,@A+DPTR
0038 F58C 33 MOV TH0,A
003A F521 34 MOV 21H,A
003C E522 35 MOV A,22H
003E 23 36 RL A
003F 04 37 INC A
0040 93 38 MOVC A,@A+DPTR
0041 F58A 39 MOV TL0,A
0043 F520 40 MOV 20H,A
0045 D28C 41 SETB TR0
0047 11CF 42 D1: CALL DELAY
0049 0530 43 INC 30H
004B 80CD 44 JMP NEXT
004D C28C 45 END0: CLR TR0
004F E531 46 MOV A,31H
0051 6400 47 XRL A,#00H
0053 70B9 48 JNZ START
49
50
51 ;JNZ END1
0055 20A7FD 52 JB p2.7,$
0058 11DE 53 CALL DELAY1
005A 30A7FD 54 JNB p2.7,$
005D 0531 55 INC 31H
005F 75303F 56 MOV 30H,#SONG1
A51 MACRO ASSEMBLER YINYUEL 12/26/2007 11:41:39 PAGE 2
*** ______________________________________________________^
*** WARNING #A52 IN 56 (yinyuel.asm, LINE 56): VALUE HAS BEEN TRUNCATED TO 8 BITS
0062 80B6 57 JMP NEXT
0064 58 END1:
0064 E531 59 MOV A,31H
0066 6401 60 XRL A,#01H
0068 700F 61 JNZ END2
006A 20A7FD 62 JB p2.7,$
006D 11DE 63 CALL DELAY1
006F 30A7FD 64 JNB p2.7,$
0072 0531 65 INC 31H
0074 753060 66 MOV 30H,#SONG2
*** ______________________________________________________^
*** WARNING #A52 IN 66 (yinyuel.asm, LINE 66): VALUE HAS BEEN TRUNCATED TO 8 BITS
0077 80A1 67 JMP NEXT
0079 68 END2:
0079 E531 69 MOV A,31H
007B 6402 70 XRL A,#02H
007D 700F 71 JNZ END3
007F 20A7FD 72 JB p2.7,$
0082 11DE 73 CALL DELAY1
0084 30A7FD 74 JNB p2.7,$
0087 0531 75 INC 31H
0089 753085 76 MOV 30H,#SONG3
*** ______________________________________________________^
*** WARNING #A52 IN 76 (yinyuel.asm, LINE 76): VALUE HAS BEEN TRUNCATED TO 8 BITS
008C 808C 77 JMP NEXT
008E 78 END3:
008E E531 79 MOV A,31H
0090 6403 80 XRL A,#03H
0092 700F 81 JNZ END4
0094 20A7FD 82 JB p2.7,$
0097 11DE 83 CALL DELAY1
0099 30A7FD 84 JNB p2.7,$
009C 0531 85 INC 31H
009E 7530B6 86 MOV 30H,#SONG4
*** ______________________________________________________^
*** WARNING #A52 IN 86 (yinyuel.asm, LINE 86): VALUE HAS BEEN TRUNCATED TO 8 BITS
00A1 011A 87 JMP NEXT
00A3 88 END4:
00A3 E531 89 MOV A,31H
00A5 6404 90 XRL A,#04H
00A7 700F 91 JNZ END5
00A9 20A7FD 92 JB p2.7,$
00AC 11DE 93 CALL DELAY1
00AE 30A7FD 94 JNB p2.7,$
00B1 0531 95 INC 31H
00B3 7530D5 96 MOV 30H,#SONG5
*** ______________________________________________________^
*** WARNING #A52 IN 96 (yinyuel.asm, LINE 96): VALUE HAS BEEN TRUNCATED TO 8 BITS
00B6 011A 97 JMP NEXT
00B8 98 END5:
00B8 010E 99 JMP START
100
101
102
00BA C0E0 103 TIM0: PUSH ACC ;定时器T0子程序
00BC C0D0 104 PUSH PSW
00BE D2D3 105 SETB RS0
00C0 C2D4 106 CLR RS1
00C2 85208A 107 MOV TL0,20H
00C5 85218C 108 MOV TH0,21H
00C8 B2B2 109 CPL p3.2
00CA D0D0 110 POP PSW
00CC D0E0 111 POP ACC
00CE 32 112 RETI
A51 MACRO ASSEMBLER YINYUEL 12/26/2007 11:41:39 PAGE 3
00CF 113 DELAY: ;延时子程序
00CF 7F02 114 MOV R7,#02
00D1 7C7D 115 D2: MOV R4,#125
00D3 7BF8 116 D3: MOV R3,#248
00D5 DBFE 117 DJNZ R3,$
00D7 DCFA 118 DJNZ R4,D3
00D9 DFF6 119 DJNZ R7,D2
00DB DDF2 120 DJNZ R5,DELAY
00DD 22 121 RET
00DE 122 DELAY1:
00DE 7C14 123 MOV R4,#20
00E0 7BF8 124 D4: MOV R3,#248
00E2 DBFE 125 DJNZ R3,$
00E4 DCFA 126 DJNZ R4,D4
00E6 22 127 RET
0300 128 ORG 300H
129 ;定时常数T值表
0300 130 TABLE:
0300 FB04 131 DW 64260,64400,64524,64580
0302 FB90
0304 FC0C
0306 FC44
0308 FCAC 132 DW 64684,64777,64820,64898
030A FD09
030C FD34
030E FD82
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -