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

📄 fourbyte.lst

📁 在做项目时要用51实现4个字节的除法
💻 LST
字号:
A51 MACRO ASSEMBLER  FOURBYTE                                                             09/02/2006 20:56:52 PAGE     1


MACRO ASSEMBLER A51 V7.09
OBJECT MODULE PLACED IN FOURBYTE.OBJ
ASSEMBLER INVOKED BY: C:\Keil\C51\BIN\A51.EXE FOURBYTE.ASM SET(SMALL) DEBUG EP

LOC  OBJ            LINE     SOURCE

                       1     
0000                   2     ORG 0
0000 758170            3     MOV  SP,#70H
0003 750C00            4     LOOP0:    MOV 0CH, #00h    ;除数低字节
0006 750D00            5               MOV 0DH, #00h
0009 750E61            6               MOV 0EH, #061h    ;除数高字节
000C 750FA8            7               MOV 0FH, #0A8H
000F 750801            8               MOV 08H, #01H
0012 7509C9            9               MOV 09H, #0C9H
0015 750AC3           10               MOV 0AH, #0C3H
0018 750B80           11               MOV 0BH, #080H
001B 1121             12               ACALL  CHU40
001D                  13     LOOP1:
001D 00               14             NOP
001E 00               15             NOP
001F 011D             16             AJMP LOOP1
                      17     ;4字节除4字节商为4字节除法子程序CHU40
                      18     ;被除数放在内部08H.09H.0AH.0BH 单元中,除数放在0C.0D.0E.0F单元中
                      19     ;商数放在内部R4.R5.R6.R7单元中,余数放在10H.11H.12H.13H单元中.
                      20     ;溢出时商为零。余数为被除数
                      21     ;资源影响;R0--16H共24字节  PSW      运行总时间1.977毫秒
                      22     
                      23     
0021 7820             24     CHU40:    MOV R0, #20H
0023 751000           25               MOV 10H, #00H
0026 751100           26               MOV 11H, #00H
0029 751200           27           MOV 12H, #00H
002C 751300           28               MOV 13H, #00H
002F C3               29     CHU47:    CLR C
0030 E50B             30               MOV A, 0BH
0032 33               31               RLC A
0033 F50B             32               MOV 0BH, A
0035 E50A             33               MOV A, 0AH ;被除和扩充位左移
0037 33               34               RLC A
0038 F50A             35               MOV 0AH, A
003A E509             36               MOV A, 09H
003C 33               37               RLC A
003D F509             38               MOV 09H, A
003F E508             39               MOV A, 08H
0041 33               40               RLC A
0042 F508             41               MOV 08H, A
0044 E513             42           MOV A, 13H
0046 33               43               RLC A
0047 F513             44               MOV 13H, A
0049 E512             45               MOV A, 12H
004B 33               46               RLC A
004C F512             47               MOV 12H, A
004E E511             48               MOV A, 11H
0050 33               49               RLC A
0051 F511             50               MOV 11H, A
0053 E510             51               MOV A, 10H
0055 33               52               RLC A
0056 F510             53               MOV 10H, A
0058 EF               54               MOV A, R7 ;商数左移
0059 33               55               RLC A
005A FF               56               MOV R7, A
005B EE               57               MOV A, R6
005C 33               58               RLC A
A51 MACRO ASSEMBLER  FOURBYTE                                                             09/02/2006 20:56:52 PAGE     2

005D FE               59               MOV R6, A
005E ED               60               MOV A, R5
005F 33               61               RLC A
0060 FD               62               MOV R5, A
0061 EC               63               MOV A, R4
0062 33               64               RLC A
0063 FC               65               MOV R4, A
0064 C3               66               CLR C
0065 E513             67               MOV A, 13H ;判断
0067 950F             68               SUBB A, 0FH
0069 F9               69               MOV R1, A
006A E512             70               MOV A, 12H ;判断
006C 950E             71               SUBB A, 0EH
006E F514             72               MOV 14H, A
0070 E511             73               MOV A, 11H
0072 950D             74               SUBB A, 0DH
0074 F515             75               MOV 15H, A
0076 E510             76           MOV A, 10H ;判断
0078 950C             77               SUBB A, 0CH
007A F516             78               MOV 16H, A
007C 400C             79               JC  LOP490
007E 0F               80               INC R7
007F 8913             81               MOV 13H,R1 ;建立余数
0081 851412           82               MOV 12H,14H 
0084 851511           83               MOV 11H,15H 
0087 851610           84               MOV 10H,16H
008A D8A3             85     LOP490:  DJNZ R0, CHU47
008C 22               86               RET
                      87     
                      88             END
A51 MACRO ASSEMBLER  FOURBYTE                                                             09/02/2006 20:56:52 PAGE     3

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


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

CHU40. . . . . . .  C ADDR   0021H   A   
CHU47. . . . . . .  C ADDR   002FH   A   
LOOP0. . . . . . .  C ADDR   0003H   A   
LOOP1. . . . . . .  C ADDR   001DH   A   
LOP490 . . . . . .  C ADDR   008AH   A   
SP . . . . . . . .  D ADDR   0081H   A   


REGISTER BANK(S) USED: 0 

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

⌨️ 快捷键说明

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