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

📄 dianji1.lst

📁 常用子程序-61个-4.2M.zip
💻 LST
字号:
A51 MACRO ASSEMBLER  DIANJI1                                                                22/08/03 09:44:46 PAGE     1


DOS MACRO ASSEMBLER A51 X4.86
OBJECT MODULE PLACED IN DIANJI1.OBJ
ASSEMBLER INVOKED BY: C:\FLYTO\C51\COMPILER\BIN\A51.EXE DIANJI1.ASM DEBUG MACRO SYMBOLS MOD51 LIST

LOC  OBJ            LINE     SOURCE

0000                   1            ORG 0000H
0000 0130              2            AJMP MAIN
0030                   3            ORG 0030H
0030                   4       MAIN:
  BFFF                 5            ADDR8279_1 EQU    0BFFFH
  BFFE                 6            ADDR8279_2 EQU    0BFFEH
                       7       
0030 90BFFF            8            MOV      DPTR,#ADDR8279_1
0033 74D1              9            MOV      A,#0D1H
0035 F0               10            MOVX     @DPTR,A
0036 E0               11       WAIT:MOVX     A,@DPTR
0037 20E7FC           12            JB       ACC.7,WAIT
003A 7400             13            MOV      A,#00H
003C F0               14            MOVX     @DPTR,A
003D 742C             15            MOV      A,#2CH
003F F0               16            MOVX     @DPTR,A
                      17            
0040 C200             18            CLR 00H 
0042 C201             19            CLR 01H
0044 120150           20     CHAXUN:LCALL SEACH 
0047 100002           21            JBC 00H,MAIN1 
004A 80F8             22            SJMP CHAXUN 
004C D28A             23      MAIN1:SETB IT1
004E D2AF             24            SETB EA
0050 D2AA             25            SETB EX1
0052 908100           26     ADC0809:MOV DPTR,#8100H     ;;ADC0809首址
0055 F0               27            MOVX @DPTR,A        ;;启动AD转换
0056 D290             28       HERE:SETB P1.0
0058 309002           29            JNB  P1.0,SEVER1  
005B 80F9             30            SJMP HERE
005D E0               31     SEVER1:MOVX A,@DPTR
005E FB               32            MOV R3,A
005F 908000           33            MOV DPTR ,#8000H    ;D/A口地址 
0062 F0               34            MOVX @DPTR,A  
0063 7A00             35            MOV R2,#00H
0065 7F60             36            MOV R7,#60H
0067 7E09             37            MOV R6,#09H
0069 1200BF           38            LCALL MULD
006C 7FFF             39            MOV  R7,#0FFH
006E 1200E7           40            LCALL  DV31
0071 EC               41            MOV A,R4 
0072 FE               42            MOV R6,A 
0073 ED               43            MOV A,R5 
0074 FF               44            MOV R7,A 
0075 120116           45            LCALL HB2
0078 8D35             46            MOV 35H,R5 
007A 8C34             47            MOV 34H,R4 
007C 1191             48            ACALL TRANS
007E 120130           49            LCALL LED
0081 120150           50            LCALL SEACH 
0084 100102           51            JBC 01H ,NEXT  
0087 0152             52            AJMP  ADC0809 
0089 908000           53      NEXT:MOV DPTR,#8000H
008C 7400             54           MOV A,#00H
008E F0               55           MOVX @DPTR,A
008F 0130             56           AJMP MAIN   
                      57        
0091 7835             58     TRANS: MOV R0,#35H
A51 MACRO ASSEMBLER  DIANJI1                                                                22/08/03 09:44:46 PAGE     2

0093 7930             59            MOV R1,#30H
0095 7E02             60            MOV R6,#02H
0097 E6               61       LAST:MOV      A,@R0
0098 540F             62            ANL      A,#0FH
009A F7               63            MOV      @R1,A
009B E6               64            MOV      A,@R0
009C 54F0             65            ANL      A,#0F0H
009E C4               66            SWAP     A
009F 09               67            INC  R1
00A0 F7               68            MOV      @R1,A
00A1 09               69            INC  R1
00A2 18               70            DEC R0
00A3 DEF2             71            DJNZ R6,LAST
00A5 22               72            RET   
                      73        
00A6 90BFFF           74        KEY:MOV  DPTR ,#ADDR8279_1
00A9 7440             75            MOV  A,#40H
00AB F0               76                MOVX @DPTR,A
00AC 90BFFE           77                MOV DPTR,#ADDR8279_2
00AF E0               78                MOVX A,@DPTR
00B0 543F             79                ANL A,#3FH
                      80     
00B2 B40A04           81            CJNE A,#0AH,KEY1             
00B5 D200             82            SETB 00H
00B7 01BE             83            AJMP RETUN    
                      84           
00B9 B40B02           85       KEY1:CJNE A,#0BH,RETUN 
00BC D201             86            SETB 01H  
00BE 22               87      RETUN:RET   
                      88        
                      89      
                      90       
                      91       
                      92       
                      93        ;;; (5)  标号: MULD    功能:双字节二进制无符号数乘法
                      94     
                      95     ;;入口条件:被乘数在R2、R3中,乘数在R6、R7中。
                      96     ;;出口信息:乘积在R2、R3、R4、R5中。
                      97     ;;;影响资源:PSW、A、B、R2~R7    堆栈需求:  2字节
                      98     
00BF EB               99     MULD:   MOV     A,R3    ;;;计算R3乘R7
00C0 8FF0            100             MOV     B,R7
00C2 A4              101             MUL     AB
00C3 ACF0            102             MOV     R4,B         ;; ;暂存部分积
00C5 FD              103             MOV     R5,A
00C6 EB              104             MOV     A,R3      ;; ;计算R3乘R6
00C7 8EF0            105             MOV     B,R6
00C9 A4              106             MUL     AB
00CA 2C              107             ADD     A,R4       ;;;;累加部分积
00CB FC              108             MOV     R4,A
00CC E4              109             CLR     A
00CD 35F0            110             ADDC    A,B
00CF FB              111             MOV     R3,A
00D0 EA              112             MOV     A,R2    ;;;;计算R2乘R7
00D1 8FF0            113             MOV     B,R7
00D3 A4              114             MUL     AB
00D4 2C              115             ADD     A,R4    ;;;;累加部分积
00D5 FC              116             MOV     R4,A
00D6 EB              117             MOV     A,R3
00D7 35F0            118             ADDC    A,B 
00D9 FB              119             MOV     R3,A
00DA E4              120             CLR     A
00DB 33              121             RLC     A
00DC CA              122             XCH     A,R2    ;;;;计算R2乘R6
00DD 8EF0            123             MOV     B,R6
00DF A4              124             MUL     AB
A51 MACRO ASSEMBLER  DIANJI1                                                                22/08/03 09:44:46 PAGE     3

00E0 2B              125             ADD     A,R3    ;;;;累加部分积
00E1 FB              126             MOV     R3,A
00E2 EA              127             MOV     A,R2
00E3 35F0            128             ADDC    A,B
00E5 FA              129             MOV     R2,A
00E6 22              130             RET
                     131        ;; (9)  标号:  DV31    功能:三字节二进制无符号数除以单字节二进制数
                     132     
                     133     ;;;入口条件:被除数在R3、R4、R5中,除数在R7中。
                     134     ;;出口信息:OV=0 时,双字节商在R4、R5中,OV=1 时溢出。
                     135     ;;影响资源:PSW、A、B、R2~R7    堆栈需求:  2字节
                     136     
00E7 C3              137     DV31:   CLR     C
00E8 EB              138             MOV     A,R3
00E9 9F              139             SUBB    A,R7
00EA 4003            140             JC      DV30
00EC D2D2            141             SETB    OV      ;;;商溢出
00EE 22              142             RET
00EF 7A10            143     DV30:   MOV     R2,#10H       ;;;求R3R4R5/R7-→R4R5
00F1 C3              144     DM23:   CLR     C
00F2 ED              145             MOV     A,R5
00F3 33              146             RLC     A
00F4 FD              147             MOV     R5,A
00F5 EC              148             MOV     A,R4
00F6 33              149             RLC     A
00F7 FC              150             MOV     R4,A
00F8 EB              151             MOV     A,R3
00F9 33              152             RLC     A
00FA FB              153             MOV     R3,A
00FB 92D5            154             MOV     F0,C
00FD C3              155             CLR     C
00FE 9F              156             SUBB    A,R7
00FF B0D5            157             ANL     C,/F0
0101 4002            158             JC      DM24
0103 FB              159             MOV     R3,A
0104 0D              160             INC     R5
0105 DAEA            161     DM24:   DJNZ    R2,DM23
0107 EB              162             MOV     A,R3                ;;四舍五入
0108 2B              163             ADD     A,R3
0109 4003            164             JC      DM25
010B 9F              165             SUBB    A,R7
010C 4005            166             JC      DM26
010E 0D              167     DM25:   INC     R5
010F ED              168             MOV     A,R5
0110 7001            169             JNZ     DM26
0112 0C              170             INC     R4
0113 C2D2            171     DM26:   CLR     OV
0115 22              172             RET            ;;; ;商在R4R5中 
                     173       
                     174      
                     175      ;    (17)  标号: HB2   功能:双字节十六进制整数转换成双字节BCD码整数
                     176     
                     177     ;入口条件:待转换的双字节十六进制整数在R6、R7中。
                     178     ;出口信息:转换后的三字节BCD码整数在R3、R4、R5中。
                     179     ;;影响资源:PSW、A、R2~R7    堆栈需求:  2字节
                     180     
0116 E4              181     HB2:    CLR     A           ;;BCD码初始化
0117 FB              182             MOV     R3,A
0118 FC              183             MOV     R4,A
0119 FD              184             MOV     R5,A
011A 7A10            185             MOV     R2,#10H        ;;转换双字节十六进制整数
011C EF              186     HB3:    MOV     A,R7                   ;        ;从高端移出待转换数的一位到CY中
011D 33              187             RLC     A
011E FF              188             MOV     R7,A
011F EE              189             MOV     A,R6
0120 33              190             RLC     A
A51 MACRO ASSEMBLER  DIANJI1                                                                22/08/03 09:44:46 PAGE     4

0121 FE              191             MOV     R6,A
0122 ED              192             MOV     A,R5                   ;;BCD码带进位自身相加,相当于乘2
0123 3D              193             ADDC    A,R5
0124 D4              194             DA      A                         ;;;;;;十进制调整
0125 FD              195             MOV     R5,A
0126 EC              196             MOV     A,R4
0127 3C              197             ADDC    A,R4
0128 D4              198             DA      A
0129 FC              199             MOV     R4,A
012A EB              200             MOV     A,R3
012B 3B              201             ADDC    A,R3
012C FB              202             MOV     R3,A                        ;;双字节十六进制数的万位数不超过6,不用调整
012D DAED            203             DJNZ    R2,HB3                      ;   ;处理完16bit
012F 22              204             RET     
                     205        
                     206      
0130 90BFFF          207        LED:MOV      DPTR,#ADDR8279_1
0133 7490            208            MOV      A,#90H
0135 F0              209            MOVX      @DPTR,A
0136 7930            210            MOV      R1,#30H
0138 7F04            211            MOV      R7,#04H
013A 90BFFE          212            MOV      DPTR,#ADDR8279_2
013D E7              213       LOOP:MOV      A,@R1
013E 2405            214            ADD      A,#05H
0140 83              215            MOVC     A,@A+PC
0141 F0              216            MOVX     @DPTR,A
0142 09              217            INC      R1
0143 DFF8            218            DJNZ     R7,LOOP
0145 22              219            RET
0146 3F065B4F        220            DB       3FH,06H,5BH,4FH,66H,6DH
014A 666D                    
014C 7D077F6F        221            DB       7DH,07H,7FH,6FH  
0150 90BFFF          222     SEACH:MOV      DPTR,#ADDR8279_1   
0153 E0              223            MOVX     A,@DPTR
0154 5407            224            ANL A,#07H
0156 6003            225            JZ  RETUN4
0158 0200A6          226            LJMP KEY
015B 22              227     RETUN4:RET
                     228     END        
                                                   A51 MACRO ASSEMBLER  DIANJI1                                                                22/08/03 09:44:46 PAGE     5

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


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

ACC. . . . . . . .  D ADDR   00E0H   A   
ADC0809. . . . . .  C ADDR   0052H   A   
ADDR8279_1 . . . .  N NUMB   BFFFH   A   
ADDR8279_2 . . . .  N NUMB   BFFEH   A   
B. . . . . . . . .  D ADDR   00F0H   A   
CHAXUN . . . . . .  C ADDR   0044H   A   
DM23 . . . . . . .  C ADDR   00F1H   A   
DM24 . . . . . . .  C ADDR   0105H   A   
DM25 . . . . . . .  C ADDR   010EH   A   
DM26 . . . . . . .  C ADDR   0113H   A   
DV30 . . . . . . .  C ADDR   00EFH   A   
DV31 . . . . . . .  C ADDR   00E7H   A   
EA . . . . . . . .  B ADDR   00A8H.7 A   
EX1. . . . . . . .  B ADDR   00A8H.2 A   
F0 . . . . . . . .  B ADDR   00D0H.5 A   
HB2. . . . . . . .  C ADDR   0116H   A   
HB3. . . . . . . .  C ADDR   011CH   A   
HERE . . . . . . .  C ADDR   0056H   A   
IT1. . . . . . . .  B ADDR   0088H.2 A   
KEY. . . . . . . .  C ADDR   00A6H   A   
KEY1 . . . . . . .  C ADDR   00B9H   A   
LAST . . . . . . .  C ADDR   0097H   A   
LED. . . . . . . .  C ADDR   0130H   A   
LOOP . . . . . . .  C ADDR   013DH   A   
MAIN . . . . . . .  C ADDR   0030H   A   
MAIN1. . . . . . .  C ADDR   004CH   A   
MULD . . . . . . .  C ADDR   00BFH   A   
NEXT . . . . . . .  C ADDR   0089H   A   
OV . . . . . . . .  B ADDR   00D0H.2 A   
P1 . . . . . . . .  D ADDR   0090H   A   
RETUN. . . . . . .  C ADDR   00BEH   A   
RETUN4 . . . . . .  C ADDR   015BH   A   
SEACH. . . . . . .  C ADDR   0150H   A   
SEVER1 . . . . . .  C ADDR   005DH   A   
TRANS. . . . . . .  C ADDR   0091H   A   
WAIT . . . . . . .  C ADDR   0036H   A   


REGISTER BANK(S) USED: 0 

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

⌨️ 快捷键说明

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