汇编编写冒泡排序

您所在的位置:网站首页 冒泡法汇编语言排序 汇编编写冒泡排序

汇编编写冒泡排序

2024-07-15 22:09| 来源: 网络整理| 查看: 265

DATA SEGMENT DATA1 DB 40,0,40 DUP(0) STR DB 0DH,0AH,"Please input 8 number:",0DH,0AH,"$" RANKED DB 0DH,0AH,'Ordered numbers:',0dh,0ah,"$" INSERT DB 0DH,0AH,"Please input a number you want to insert:",0DH,0AH,"$" DATA2 DB 10,0,10 DUP(0) COUNT=8DATA ENDS

CODE SEGMENT ASSUME DS:DATA,CS:CODE START:MOV AX,DATA MOV DS,AX

CALL INPUT MOV CX,COUNT CALL RANK CALL DISPLAY CALL INSERTDA COUNT=COUNT+1 MOV CX,COUNT CALL RANK CALL DISPLAY MOV AH,4CH INT 21H

INPUT PROC MOV SI,0 MOV AH,09H MOV DX,OFFSET STR INT 21H MOV AH,0AH MOV DX,OFFSET DATA1 INT 21H RETINPUT ENDP

RANK PROC MOV AH,02H MOV DL,COUNT ADD DL,30H INT 21H S1: PUSH CX MOV SI,0 MOV BX,OFFSET DATA1 ADD BX,2 MOV CX,COUNT-1 S2:MOV DL,[BX+SI] CMP DL,[BX+SI+3] JA EXCH JNZ S3 MOV DL,[BX+SI+1] CMP DL,[BX+SI+4] JC S3EXCH:MOV DL,[BX+SI] XCHG DL,[BX+SI+3] MOV [BX+SI],DL MOV DL,[BX+SI+1] XCHG DL,[BX+SI+4] MOV [BX+SI+1],DL S3: NOP ADD SI,3 LOOP S2 POP CX LOOP S1 RETRANK ENDP

DISPLAY PROC LEA DX,RANKED MOV AH,09H INT 21H LEA DX,DATA1 MOV CL,DATA1+1 XOR CH,CH ADD DX,CX MOV BX,DX MOV BYTE PTR[BX+2],"$" LEA DX,DATA1 ADD DX,2 INT 21H RETDISPLAY ENDP

INSERTDA PROC PUSH CX PUSH DX MOV AH,09H LEA DX,INSERT INT 21H MOV AH,0AH LEA DX,DATA2 INT 21H MOV DX,OFFSET DATA1 MOV CL,DATA1+1 XOR CH,CH ADD DX,CX MOV BX,DX LEA DX,DATA2 MOV SI,OFFSET DATA2 MOV BYTE PTR[BX+2],20H MOV CL,[SI+2] MOV [BX+3],CL MOV CL,[SI+3] MOV [BX+4],CL MOV DX,OFFSET DATA1 MOV BX,DX ADD BYTE PTR[BX+1],3 POP DX POP CX RETINSERTDA ENDP

CODE ENDSEND START



【本文地址】


今日新闻


推荐新闻


CopyRight 2018-2019 办公设备维修网 版权所有 豫ICP备15022753号-3