📄 data sorting.lst
字号:
A51 MACRO ASSEMBLER DATA_SORTING 07/21/2006 15:47:32 PAGE 1
MACRO ASSEMBLER A51 V8.00
OBJECT MODULE PLACED IN Data Sorting.OBJ
ASSEMBLER INVOKED BY: E:\Keil\C51\BIN\A51.EXE Data Sorting.asm SET(SMALL) DEBUG EP
LOC OBJ LINE SOURCE
0000 1 ORG 00H
000A 2 SIZE EQU 10 ;数据个数
0050 3 ARRAY EQU 50H ;数据起始地址
0000 4 FLAG BIT 00H ;交换标志
0000 5 SORT:
0000 7850 6 MOV R0,#ARRAY ;首地址输入到R0
0002 7F09 7 MOV R7,#SIZE-1 ;数据个数减一输入到R7
0004 C200 8 CLR FLAG ;交换标志置零
0006 9 COON:
0006 E6 10 MOV A,@R0 ;将首地址中的内容读到A
0007 FA 11 MOV R2,A ;将数据写入到R2中
0008 08 12 INC R0 ;首地址加一
0009 86F0 13 MOV B,@R0 ;将首地址中的内容读到B
000B B5F002 14 CJNE A,B,NOTEQUAL ;不相等则跳转
000E 8008 15 SJMP NEXT
0010 16 NOTEQUAL:
0010 4006 17 JC NEXT ;前小后大,不交换
0012 D200 18 SETB FLAG ;前大后小,置交换标志
0014 C6 19 XCH A,@R0 ;交换
0015 18 20 DEC R0 ;R0减1
0016 C6 21 XCH A,@R0
0017 08 22 INC R0
0018 23 NEXT:
0018 DFEC 24 DJNZ R7,COON ;R7不等于0时转到GOON(即没有交换完)
001A 2000E3 25 JB FLAG,SORT ;FLAG=1时转到SORT使FLAG清零
001D 80FE 26 SJMP $
27 END
A51 MACRO ASSEMBLER DATA_SORTING 07/21/2006 15:47:32 PAGE 2
SYMBOL TABLE LISTING
------ ----- -------
N A M E T Y P E V A L U E ATTRIBUTES
ARRAY. . . . . . . N NUMB 0050H A
B. . . . . . . . . D ADDR 00F0H A
COON . . . . . . . C ADDR 0006H A
FLAG . . . . . . . B ADDR 0020H.0 A
NEXT . . . . . . . C ADDR 0018H A
NOTEQUAL . . . . . C ADDR 0010H A
SIZE . . . . . . . N NUMB 000AH A
SORT . . . . . . . C ADDR 0000H A
REGISTER BANK(S) USED: 0
ASSEMBLY COMPLETE. 0 WARNING(S), 0 ERROR(S)
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -