📄 asm3-2.lst
字号:
A51 MACRO ASSEMBLER ASM3_2 07/20/2005 08:42:12 PAGE 1
MACRO ASSEMBLER A51 V7.09
OBJECT MODULE PLACED IN Asm3-2.OBJ
ASSEMBLER INVOKED BY: C:\Keil\C51\BIN\A51.EXE Asm3-2.asm SET(SMALL) DEBUG EP
LOC OBJ LINE SOURCE
1 ;===============================================================
2 ; 文件名称: Asm3-2.asm
3 ; 功能描述: 双字节无符号数乘法程序 R2R3*R4R5=[R0](连续4个单元)
4 ;===============================================================
5
0000 6 ORG 0000H
0000 020100 7 LJMP MAIN
0100 8 ORG 0100H
0100 7823 9 MAIN: MOV R0, #23H ;运算结果低位地址
0102 E8 10 MOV A, R0
0103 C0E0 11 PUSH ACC
0105 E4 12 CLR A
0106 7F04 13 MOV R7, #4
0108 F6 14 LP1: MOV @R0, A ;运算结果存储单元清零
0109 18 15 DEC R0
010A DFFC 16 DJNZ R7, LP1
010C D0E0 17 POP ACC
010E F8 18 MOV R0, A
010F EB 19 MOV A, R3
0110 8DF0 20 MOV B, R5
0112 A4 21 MUL AB ;计算R3*R5
0113 F6 22 MOV @R0, A ;计算的低8位保存
0114 E5F0 23 MOV A, B
0116 18 24 DEC R0
0117 F6 25 MOV @R0, A ;保存运算的高8位
0118 EA 26 MOV A, R2
0119 8DF0 27 MOV B, R5
011B A4 28 MUL AB ;计算R2*R5
011C 26 29 ADD A, @R0 ;此次运算低8位+R3*R5运算的高8位
011D F6 30 MOV @R0, A
011E 18 31 DEC R0
011F E5F0 32 MOV A, B
0121 3400 33 ADDC A, #00H ;R2*R5的高8位加进位位
0123 F6 34 MOV @R0, A
0124 08 35 INC R0
0125 EB 36 MOV A, R3
0126 8CF0 37 MOV B, R4
0128 A4 38 MUL AB ;计算R3*R4
0129 26 39 ADD A, @R0
012A F6 40 MOV @R0, A
012B E5F0 41 MOV A, B
012D 18 42 DEC R0
012E 36 43 ADDC A, @R0
012F F6 44 MOV @R0, A
0130 18 45 DEC R0
0131 E4 46 CLR A
0132 3400 47 ADDC A, #00H
0134 E6 48 MOV A, @R0
0135 EA 49 MOV A, R2
0136 8CF0 50 MOV B, R4
0138 A4 51 MUL AB ;计算R2*R4
0139 08 52 INC R0
013A 26 53 ADD A, @R0
013B F6 54 MOV @R0, A
013C E5F0 55 MOV A, B
013E 18 56 DEC R0
013F 36 57 ADDC A, @R0
0140 F6 58 MOV @R0, A
A51 MACRO ASSEMBLER ASM3_2 07/20/2005 08:42:12 PAGE 2
0141 00 59 NOP
0142 020100 60 LJMP MAIN ;设置断点查看运算结果
61 ;如需进行下一次运算, 可修改R2R3,R4R5的值
62 END
A51 MACRO ASSEMBLER ASM3_2 07/20/2005 08:42:12 PAGE 3
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
LP1. . . . . . . . C ADDR 0108H A
MAIN . . . . . . . C ADDR 0100H A
REGISTER BANK(S) USED: 0
ASSEMBLY COMPLETE. 0 WARNING(S), 0 ERROR(S)
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -