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

📄 距离计算.lst

📁 本科优秀毕业设计,倒车雷达,用单片机和c51实现的!
💻 LST
字号:
A51 MACRO ASSEMBLER  綺离计算                                                             05/21/2008 08:55:33 PAGE     1


MACRO ASSEMBLER A51 V8.00
OBJECT MODULE PLACED IN 距离计算.OBJ
ASSEMBLER INVOKED BY: E:\Program Files\KeiL\C51\BIN\A51.EXE 距离计算.ASM SET(SMALL) DEBUG EP

LOC  OBJ            LINE     SOURCE

                       1     ;显示缓冲单元在40H~43H
                       2     ;使用内存44H、45H、46H用于计算距离
                       3     ;20H用于标志
                       4     
                       5     ;&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&
                       6     ;显示缓冲单元在44H~47H
                       7     ;使用内存50H、51H、52H用于计算距离
                       8     ;20H用于标志
                       9     ;&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&
                      10     
                      11     ;**************************************************
                      12     ;*     距离计算程序(=计算值×17/1000cm)  近似     *
                      13     ;**************************************************
0000                  14                ORG 0000H
0000 8000             15                JMP MAIN
                      16     
0002                  17     MAIN:
0002 755105           18           MOV  51H,#05H
0005 75509F           19               MOV  50H,#9FH
                      20     
                      21     
                      22     
0008 C0E0             23     WORK:PUSH       ACC
000A C0D0             24              PUSH   PSW
000C C0F0             25          PUSH       B
000E 75D018           26              MOV    PSW, #18H                       ;RS1=1,RS0=1
0011 AB51             27              MOV    R3, 51H
0013 AA50             28              MOV    R2, 50H
0015 7900             29              MOV    R1, #00D 
0017 7811             30              MOV    R0, #17D                    ;与17相乘
0019 12006C           31              LCALL  MUL2BY2                         ;R7R6R5R4<=R3R2*R1R0
001C 7B03             32              MOV    R3, #03H
001E 7AE8             33              MOV    R2, #0E8H
0020 12009B           34              LCALL  DIV4BY2                         ;R7R6R5R4/R3R2=R7R6R5R4(商)......R1R0(余数)
0023 12009B           35              LCALL  DIV4BY2                         ;R7R6R5R4/R3R2=R7R6R5R4(商)......R1R0(余数)
0026 8C44             36              MOV    44H, R4 
0028 E544             37              MOV    A, 44H
002A 7003             38              JNZ    JJ0                                     ;A不等于0时,跳转
002C 75440A           39              MOV    44H, #0AH           ;最高位为0,不点亮
                      40     
002F E8               41     JJ0: MOV        A,  R0
0030 FC               42              MOV    R4, A
0031 E9               43              MOV    A,  R1
0032 FD               44              MOV    R5, A
0033 7B00             45              MOV    R3, #00D
0035 7A64             46              MOV    R2, #100D
0037 12009B           47              LCALL  DIV4BY2
003A 8C45             48              MOV    45H, R4
003C E545             49              MOV    A, 45H
003E 7009             50              JNZ    JJ1
0040 E544             51              MOV    A, 44H              ;此高位为0,先看最高位是否为不亮
0042 940A             52              SUBB   A, #0AH
0044 7003             53              JNZ    JJ1
0046 75450A           54              MOV    45H, #0AH           ;最高位不亮,次高位也不亮
                      55     
0049 E8               56     JJ1: MOV        A, R0
004A FC               57              MOV    R4, A
004B E9               58              MOV    A, R1
A51 MACRO ASSEMBLER  綺离计算                                                             05/21/2008 08:55:33 PAGE     2

004C FD               59              MOV    R5, A
004D 7B00             60              MOV    R3, #00D
004F 7A0A             61              MOV    R2, #10D
0051 12009B           62              LCALL DIV4BY2
0054 8C46             63              MOV    46H, R4
0056 E546             64              MOV    A,  46H 
0058 7009             65              JNZ    JJ2
005A E545             66              MOV    A, 45H         ;次高位为0,先看次高位是否为不亮
005C 940A             67              SUBB   A, #0AH
005E 7003             68              JNZ    JJ2
0060 75460A           69              MOV    46H, #0AH      ;次高位不亮,次高位也不亮
                      70     
0063 8847             71     JJ2: MOV        47H, R0
0065 D0F0             72              POP    B
0067 D0D0             73              POP    PSW
0069 D0E0             74              POP    ACC
                      75             
006B 22               76             RET  
                      77     
                      78     ;************************************
                      79     ;*      两字节无符号数乘法程序          *
                      80     ;************************************
                      81     ;R7R6R5R4<=R3R2*R1R0
                      82     
006C E4               83     MUL2BY2: CLR    A
006D FF               84                  MOV        R7, A
006E FE               85                      MOV    R6, A
006F FD               86                      MOV    R5, A
0070 FC               87                      MOV    R4, A
0071 755210           88                      MOV    52H, #10H
0074 C3               89     MULLOOP1:CLR    C
0075 EC               90                      MOV    A, R4
0076 33               91                      RLC    A
0077 FC               92                      MOV    R4, A
0078 ED               93                      MOV    A,      R5
0079 33               94                      RLC    A
007A FD               95                      MOV    R5, A
007B EE               96                      MOV    A, R6
007C 33               97                      RLC    A
007D FE               98                      MOV    R6, A
007E EF               99                      MOV    A, R7
007F 33              100                      RLC    A
0080 FF              101                      MOV    R7, A
0081 E8              102                      MOV    A, R0
0082 33              103                      RLC    A
0083 F8              104                      MOV    R0, A
0084 E9              105                      MOV    A, R1
0085 33              106                      RLC    A
0086 F9              107                      MOV    R1, A
0087 500E            108                      JNC    MULLOOP2
0089 EC              109                      MOV    A, R4
008A 2A              110                      ADD    A, R2
008B FC              111                      MOV    R4, A
008C ED              112                      MOV    A, R5
008D 3B              113                      ADDC   A, R3
008E FD              114                      MOV    R5, A
008F EE              115                      MOV    A, R6
0090 3400            116                      ADDC   A, #00H
0092 FE              117                      MOV    R6, A
0093 EF              118                      MOV    A, R7
0094 3400            119                      ADDC   A, #00H
0096 FF              120                      MOV    R7, A
0097 D552DA          121     MULLOOP2:DJNZ   52H, MULLOOP1
                     122             
009A 22              123             RET
                     124     
A51 MACRO ASSEMBLER  綺离计算                                                             05/21/2008 08:55:33 PAGE     3

                     125     
                     126     ;**************************************
                     127     ;*   四字节/两字节无符号数除法程序        *
                     128     ;**************************************
                     129     ;R7R6R5R4/R3R2=R7R6R5R4(商)......R1R0(余数)
                     130     
009B 755220          131     DIV4BY2: MOV    52H, #20H
009E 7800            132                      MOV    R0,     #00H
00A0 7900            133                      MOV    R1, #00H
                     134     
00A2 EC              135     DIVLOOP1:MOV    A, R4
00A3 33              136              RLC    A
00A4 FC              137                      MOV    R4, A
00A5 ED              138                      MOV    A, R5
00A6 33              139                      RLC    A
00A7 FD              140                      MOV    R5, A
00A8 EE              141                      MOV    A, R6
00A9 33              142                      RLC    A
00AA FE              143                      MOV    R6, A
00AB EF              144                      MOV    A, R7
00AC 33              145                      RLC    A
00AD FF              146                      MOV    R7, A
00AE E8              147                      MOV    A, R0
00AF 33              148                      RLC    A
00B0 F8              149                      MOV    R0, A
00B1 E9              150                      MOV    A, R1
00B2 33              151                      RLC    A
00B3 F9              152                      MOV    R1, A 
00B4 C3              153                      CLR    C
00B5 E8              154                      MOV    A, R0
00B6 9A              155                      SUBB   A, R2
00B7 F5F0            156                      MOV    B, A
00B9 E9              157                      MOV    A, R1
00BA 9B              158                      SUBB   A, R3
00BB 4003            159                      JC             DIVLOOP2
00BD A8F0            160                      MOV    R0, B
00BF F9              161                      MOV    R1, A
                     162             
00C0 B3              163     DIVLOOP2:CPL    C
00C1 D552DE          164                      DJNZ   52H, DIVLOOP1
00C4 EC              165                      MOV    A, R4
00C5 33              166                      RLC    A
00C6 FC              167                      MOV    R4,     A
00C7 ED              168                      MOV    A,      R5
00C8 33              169                      RLC    A
00C9 FD              170                      MOV    R5,     A
00CA EE              171                      MOV    A, R6
00CB 33              172              RLC    A
00CC FE              173                      MOV    R6, A
00CD EF              174                      MOV    A, R7
00CE 33              175                      RLC    A
00CF FF              176                      MOV    R7, A
                     177             
00D0 22              178             RET
                     179     
                     180     
                     181     
                     182     END
A51 MACRO ASSEMBLER  綺离计算                                                             05/21/2008 08:55:33 PAGE     4

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


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

ACC. . . . . . . .  D ADDR   00E0H   A   
B. . . . . . . . .  D ADDR   00F0H   A   
DIV4BY2. . . . . .  C ADDR   009BH   A   
DIVLOOP1 . . . . .  C ADDR   00A2H   A   
DIVLOOP2 . . . . .  C ADDR   00C0H   A   
JJ0. . . . . . . .  C ADDR   002FH   A   
JJ1. . . . . . . .  C ADDR   0049H   A   
JJ2. . . . . . . .  C ADDR   0063H   A   
MAIN . . . . . . .  C ADDR   0002H   A   
MUL2BY2. . . . . .  C ADDR   006CH   A   
MULLOOP1 . . . . .  C ADDR   0074H   A   
MULLOOP2 . . . . .  C ADDR   0097H   A   
PSW. . . . . . . .  D ADDR   00D0H   A   
WORK . . . . . . .  C ADDR   0008H   A   


REGISTER BANK(S) USED: 0 

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

⌨️ 快捷键说明

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