📄 test.lst
字号:
A51 MACRO ASSEMBLER TEST 09/15/2005 16:22:43 PAGE 1
MACRO ASSEMBLER A51 V7.07
OBJECT MODULE PLACED IN TEST.OBJ
ASSEMBLER INVOKED BY: d:\Keil\C51\BIN\A51.EXE TEST.ASM SET(SMALL) DEBUG EP
LOC OBJ LINE SOURCE
1 ;----------------constant definit-----------------------
0025 2 infrad data 25h ; Send cord save
0026 3 Coderec data 26h
0027 4 Psetect data 27h
0028 5 Hrec data 28h
0029 6 Psnb equ 29h ; 2ah,2bh
0005 7 codebit bit 05h
0006 8 Psok bit 06h
0007 9 Hint bit 07h
0008 10 Fiveok bit 08h
11 ;--------------bit definit-----------------------------
0000 12 iscode bit 00h ; if iscode==1 then send singal else send carri
er
0001 13 isguidecode bit 01h ; guide code
0002 14 isozcode bit 02h ; zero cord or one cord
0003 15 sendover bit 03h ; ? send over
0004 16 t0run bit 04h ; if t0run==1 then t0 run now
17 ;--------------------------------------------------------
18 ; org 0000h
0000 0133 19 ajmp Main
0003 20 org 0003h
0003 C2A8 21 clr ex0
000B 22 org 000bh
000B 801F 23 jmp T0int ; T0 interupt entry
0013 24 org 0013h
0013 C2AA 25 clr ex1
001B 26 org 001bh
001B C2AB 27 clr et1
0023 28 org 0023h
0023 C2AC 29 clr es
002C 30 org 002ch
31 ;------------------------------------------------
002C C28C 32 T0int: clr tr0 ; Stop T0
002E C200 33 clr iscode ; send carrier next
0030 C204 34 clr T0run ; T0 isn't run
0032 32 35 reti
36 ;-------------------------------------------------
0033 758160 37 Main: mov sp, #60h ; stack point address
0036 1159 38 acall Sysini ; System initial
0038 11FB 39 loop: acall findcode ; which cord to send
003A 11AC 40 acall Sendcar ; Send carrier
41 ; jb T0run, $+3 ;
003C 30040A 42 jnb T0run, Nloop
003F 300704 43 jnb Hint, Nloop_1
0042 3141 44 acall Calculate
0044 C207 45 clr Hint
0046 2004FD 46 Nloop_1: jb T0run , $
0049 2003EC 47 Nloop: jb sendover,loop
004C D203 48 setb Sendover
004E D201 49 setb isguidecode
0050 3008E5 50 jnb Fiveok , loop
0053 C208 51 clr Fiveok
0055 3195 52 acall P1out
0057 80DF 53 jmp loop
54 ;-----------------Sysini---------------------------
0059 C207 55 Sysini: CLR Hint
005B C293 56 clr P1.3
005D 758991 57 mov tmod , #10010001b ; T1 gate and 16 bit; T0 16 bit
A51 MACRO ASSEMBLER TEST 09/15/2005 16:22:43 PAGE 2
0060 D28A 58 setb it1 ; high - low is efficiency
0062 75A882 59 mov ie , #10000010b ; enable t0 interupt
0065 D28E 60 setb tr1 ; run T1
0067 7F2B 61 mov r7, #43 ; 43 times
0069 7E05 62 mov r6, #05h ; 8 bit
006B C200 63 clr iscode ; isn't code
006D D201 64 setb isguidecode ; send guide code when begin
006F D203 65 setb sendover ; isn't send over
0071 C204 66 clr T0run ;?????
0073 7525A5 67 mov infrad , #10100101b ; Send code
0076 7D05 68 mov r5, #5
0078 7527FE 69 mov Psetect, #0feh
007B 759000 70 mov p1, #00h
007E C2B5 71 clr P3.5
0080 C2B4 72 clr P3.4
0082 C206 73 clr psok
0084 C208 74 clr Fiveok
0086 7B02 75 mov r3, #02h
0088 752800 76 mov Hrec , #00h
008B 752900 77 mov Psnb, #00
008E 752A00 78 mov Psnb+1, #00
0091 752B00 79 mov Psnb+2, #00
0094 22 80 ret
81 ;------------------Extrain------------------------
0095 C28E 82 Extrain: clr tr1 ; Stop T1
0097 C28B 83 clr ie1 ; clr Extra interupt flag
0099 858D23 84 mov 23h, th1
009C 858B24 85 mov 24h, tl1
009F 758D00 86 mov th1, #00h
00A2 758B00 87 mov tl1, #00h
00A5 D207 88 Setb Hint
00A7 D28E 89 setb tr1
00A9 B293 90 cpl p1.3
91 ;cpl p1.1
00AB 22 92 ret
93 ;-----------------------------------------------------
00AC 300032 94 Sendcar: jnb iscode, carrier ; if iscode==0 then send carrier else send c
ode
00AF 300110 95 jnb isguidecode, isone
00B2 C201 96 clr isguidecode
00B4 C293 97 clr p1.3
00B6 758CF4 98 mov th0, #high(62535)
00B9 758A47 99 mov tl0, #low(62535)
00BC D28C 100 setb tr0
00BE D204 101 setb t0run
00C0 8038 102 jmp Quit
00C2 30020E 103 isone: jnb isozcode, zerocode
00C5 C293 104 clr p1.3
00C7 758CF9 105 mov th0, #high(63850)
00CA 758A6A 106 mov tl0, #low(63850)
00CD D28C 107 setb tr0
00CF D204 108 setb t0run
00D1 8027 109 jmp Quit
00D3 C293 110 zerocode: clr p1.3
00D5 758CFC 111 mov th0, #high(64575)
00D8 758A3F 112 mov tl0, #low(64575)
00DB D28C 113 setb tr0
00DD D204 114 setb t0run
00DF 8019 115 jmp Quit
00E1 308B02 116 Carrier: jnb ie1, nointe
00E4 1195 117 acall extrain
00E6 00 118 nointe: nop
00E7 00 119 nop
00E8 00 120 nop
00E9 00 121 nop
00EA 00 122 nop
A51 MACRO ASSEMBLER TEST 09/15/2005 16:22:43 PAGE 3
00EB 00 123 nop
00EC 00 124 nop
00ED 00 125 nop
00EE 00 126 nop
00EF 00 127 nop
00F0 B293 128 cpl p1.3
00F2 DFED 129 djnz r7, carrier
00F4 7F2B 130 mov r7, #43
00F6 D200 131 setb iscode
00F8 C293 132 clr P1.3
00FA 22 133 Quit: ret
134 ;-----------------------------------------------------------
00FB 135 Findcode:
136 ;setb sendover
00FB 300042 137 jnb iscode, Findquit
00FE 20013F 138 jb isguidecode, Findquit
0101 E525 139 mov a, infrad
0103 33 140 rlc a
0104 9202 141 mov isozcode,c
0106 E525 142 mov a, infrad
0108 23 143 rl a
0109 F525 144 mov infrad, a
010B DE33 145 djnz r6, findquit
010D 7525A5 146 mov infrad ,#10100101b
0110 7E05 147 mov r6, #5
0112 C203 148 clr sendover
0114 DB2A 149 djnz r3, Findquit
0116 D208 150 Setb Fiveok
0118 7B02 151 mov r3, #02h
011A C206 152 clr PSok
011C E527 153 mov a, psetect
011E 03 154 rr a
011F F527 155 mov Psetect ,a
0121 20E708 156 jb acc.7, acc6_2
0124 D297 157 setb p1.7
0126 C296 158 clr p1.6
0128 C295 159 clr p1.5
012A 8014 160 jmp Findquit
012C 20E608 161 acc6_2: jb acc.6 , acc5_2
012F C297 162 clr p1.7
0131 D296 163 setb p1.6
0133 C295 164 clr p1.5
0135 8009 165 jmp Findquit
0137 C297 166 acc5_2: clr p1.7
0139 C296 167 clr p1.6
013B D295 168 setb P1.5
013D 7527FE 169 mov psetect, #0feh
170
171
0140 22 172 Findquit: ret
173 ;-----------------------------------------------------------
0141 174 Calculate: ;cpl p1.4 ;???
0141 E523 175 mov a, 23h
0143 B40500 176 cjne a, #05h, $+3
0146 4019 177 jc Zcode
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -