📄 fourbyte.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 + -