⭐ 欢迎来到虫虫下载站! | 📦 资源下载 📁 资源专辑 ℹ️ 关于我们
⭐ 虫虫下载站

📄 adzq.lst

📁 恒科试验平台的所有程序代码
💻 LST
字号:
A51 MACRO ASSEMBLER  ADZQ                                                                   30/11/03 16:24:19 PAGE     1


DOS MACRO ASSEMBLER A51 X4.86
OBJECT MODULE PLACED IN ADZQ.O
ASSEMBLER INVOKED BY: C:\OMF51\BIN\A51.EXE C:\HKCX\51ASM\ADZQ.ASM DB SB XR RB(0) PR(ADZQ.LST) OJ(ADZQ.O) 

LOC  OBJ            LINE     SOURCE

                       1     ;               “验证式”      实验六  电子琴
                       2     
  E101                 3     OUTBIT   equ 0e101h
  E103                 4     IN       equ 0e103h
                       5     
  0000                 6     Pulse    equ 0
  0050                 7     PulseCNT equ 50h
  0051                 8     ToneHigh equ 51h
  0052                 9     ToneLow  equ 52h
                      10     
  00B0                11     Speaker  equ 0B0H
                      12     
0000 020090           13            ljmp  Start
                      14     
000B                  15            org   000bh
000B                  16     Timer0Int:
000B C0D0             17            push  PSW
000D C28C             18            clr   TR0
000F 85518C           19            mov   TH0, ToneHigh
0012 85528A           20            mov   TL0, ToneLow
0015 D28C             21            setb  TR0
0017 A200             22            mov   c, Pulse
0019 92B0             23            mov   Speaker, c
001B B200             24            cpl   Pulse
001D 1550             25            dec   PulseCNT
001F D0D0             26            pop   PSW
0021 32               27            reti
                      28     
0022                  29     ToneTable:
0022 FC42             30            dw      64578, 64686, 64778, 64821, 64898, 64968, 65029
0024 FCAE                    
0026 FD0A                    
0028 FD35                    
002A FD82                    
002C FDC8                    
002E FE05                    
                      31     
0030                  32     TestKey:
0030 90E101           33            mov   dptr, #OUTBIT
0033 7400             34            mov   a, #0
0035 F0               35            movx  @dptr, a
0036 90E103           36            mov   dptr, #IN
0039 E0               37            movx  a, @dptr
003A F4               38            cpl   a
003B 540F             39            anl   a, #0fh
                      40     
003D 22               41            ret
                      42     
003E                  43     KeyTable:
003E 00010407         44            db    00h, 01h, 04h, 07h
0042 0F020508         45            db    0fh, 02h, 05h, 08h
0046 0E030609         46            db    0eh, 03h, 06h, 09h
004A 0D0C0B0A         47            db    0dh, 0ch, 0bh, 0ah
004E 10101010         48            db    10H,10H,10H,10H,10
0052 0A                      
0053 10101010         49            db    10H,10H,10H,10H,10H
0057 10                      
                      50     
A51 MACRO ASSEMBLER  ADZQ                                                                   30/11/03 16:24:19 PAGE     2

0058                  51     GetKey:
0058 90E101           52            mov   dptr, #OUTBIT
005B 8583A0           53            mov   P2, dph
                      54           ; mov   r0, #Low(IN)
005E 7803             55             MOV   R0,#03H;
0060 7920             56            mov   r1, #00100000b
0062 7A06             57            mov   r2, #6
0064                  58     KLoop:
0064 E9               59            mov   a, r1
0065 F4               60            cpl   a
0066 F0               61            movx  @dptr, a
0067 F4               62            cpl   a
0068 03               63            rr    a
0069 F9               64            mov   r1, a
                      65     
006A E2               66            movx  a, @r0
006B F4               67            cpl   a
006C 540F             68            anl   a, #0fh
006E 7006             69            jnz   Goon1
                      70     
0070 DAF2             71            djnz  r2, KLoop
                      72     
0072 7AFF             73            mov   r2, #0ffh
0074 800F             74            sjmp  Exit
0076                  75     Goon1:
0076 F9               76            mov   r1, a
                      77     
0077 EA               78            mov   a, r2
0078 14               79            dec   a
0079 23               80            rl    a
007A 23               81            rl    a
007B FA               82            mov   r2, a           ; r2 = (r2-1)*4
                      83     
007C E9               84            mov   a, r1
007D 7904             85            mov   r1, #4
007F                  86     LoopC:
007F 13               87            rrc   a
0080 4003             88            jc    Exit
0082 0A               89            inc   r2
0083 D9FA             90            djnz  r1, LoopC
0085                  91     Exit:
0085 90E101           92            mov   dptr, #OUTBIT
0088 E4               93            clr   a
0089 F0               94            movx  @dptr, a
                      95     
008A EA               96            mov   a, r2
008B 90003E           97            mov   dptr, #KeyTable
008E 93               98            movc  a, @a+dptr
008F 22               99            ret
                     100     
0090                 101     Start:
0090 758170          102            mov  sp, #70h
0093 90E100          103            mov  dptr,#0e100h
0096 7403            104            mov  a,#03h
0098 F0              105            movx @dptr,a
0099 758901          106            mov  TMOD, #01  ;  Timer
009C 75A882          107            mov  IE, #82h   ;  EA=1, IT0 = 1
009F                 108     MLoop:
009F 1130            109            call TestKey
00A1 60FC            110            jz   MLoop
                     111     
00A3 1158            112            call GetKey
00A5 F5F0            113            mov  b, a
00A7 60F6            114            jz   MLoop      ; = 0, < 1
                     115           ; anl  a, #!7
00A9 54F8            116             ANL  A,#0F8H
A51 MACRO ASSEMBLER  ADZQ                                                                   30/11/03 16:24:19 PAGE     3

00AB 70F2            117            jnz  MLoop      ; > 7
                     118     
00AD 15F0            119            dec  b
00AF E5F0            120            mov  a, b
00B1 23              121            rl   a          ; a = a*2
                     122     
00B2 F5F0            123            mov  b, a
00B4 900022          124            mov  dptr, #ToneTable
00B7 93              125            movc a, @a+dptr
00B8 F551            126            mov  ToneHigh, a
00BA F58C            127            mov  TH0, a
                     128     
00BC E5F0            129            mov  a, b
00BE 04              130            inc  a
00BF 93              131            movc a, @a+dptr
00C0 F552            132            mov  ToneLow, a
00C2 F58A            133            mov  TL0, a
                     134     
00C4 D28C            135            setb TR0
00C6 755064          136            mov  PulseCNT, #100
00C9                 137     Wait:
00C9 E550            138            mov  a,PulseCNT
00CB 70FC            139            jnz  Wait
00CD C28C            140            clr  TR0
00CF 02009F          141            ljmp MLoop
                     142     
                     143            end
                             
A51 MACRO ASSEMBLER  ADZQ                                                                   30/11/03 16:24:19 PAGE     4

XREF SYMBOL TABLE LISTING
---- ------ ----- -------


N A M E             T Y P E  V A L U E   ATTRIBUTES / REFERENCES

B. . . . . . . . .  D ADDR   00F0H   A      113 119 120 123 129
DPH. . . . . . . .  D ADDR   0083H   A      53
EXIT . . . . . . .  C ADDR   0085H   A      74 88 91#
GETKEY . . . . . .  C ADDR   0058H   A      51# 112
GOON1. . . . . . .  C ADDR   0076H   A      69 75#
IE . . . . . . . .  D ADDR   00A8H   A      107
IN . . . . . . . .  N NUMB   E103H   A      4# 36
KEYTABLE . . . . .  C ADDR   003EH   A      43# 97
KLOOP. . . . . . .  C ADDR   0064H   A      58# 71
LOOPC. . . . . . .  C ADDR   007FH   A      86# 90
MLOOP. . . . . . .  C ADDR   009FH   A      108# 110 114 117 141
OUTBIT . . . . . .  N NUMB   E101H   A      3# 33 52 92
P2 . . . . . . . .  D ADDR   00A0H   A      53
PSW. . . . . . . .  D ADDR   00D0H   A      17 26
PULSE. . . . . . .  N NUMB   0000H   A      6# 22 24
PULSECNT . . . . .  N NUMB   0050H   A      7# 25 136 138
SP . . . . . . . .  D ADDR   0081H   A      102
SPEAKER. . . . . .  N NUMB   00B0H   A      11# 23
START. . . . . . .  C ADDR   0090H   A      13 101#
TESTKEY. . . . . .  C ADDR   0030H   A      32# 109
TH0. . . . . . . .  D ADDR   008CH   A      19 127
TIMER0INT. . . . .  C ADDR   000BH   A      16#
TL0. . . . . . . .  D ADDR   008AH   A      20 133
TMOD . . . . . . .  D ADDR   0089H   A      106
TONEHIGH . . . . .  N NUMB   0051H   A      8# 19 126
TONELOW. . . . . .  N NUMB   0052H   A      9# 20 132
TONETABLE. . . . .  C ADDR   0022H   A      29# 124
TR0. . . . . . . .  B ADDR   0088H.4 A      18 21 135 140
WAIT . . . . . . .  C ADDR   00C9H   A      137# 139


REGISTER BANK(S) USED: 0 

ASSEMBLY COMPLETE.  0 WARNING(S), 0 ERROR(S)

⌨️ 快捷键说明

复制代码 Ctrl + C
搜索代码 Ctrl + F
全屏模式 F11
切换主题 Ctrl + Shift + D
显示快捷键 ?
增大字号 Ctrl + =
减小字号 Ctrl + -