Задача в написании макрокоманды сортировки массива.Написал.При трансляции возникает error A2005: Symbol is multidefined: M1 и error A2026: Reference to multidefined symbol...это вроде из за меток...Что в них никак не могу разобраться. Код (Text): NAME SORT DATA SEGMENT MAS1 DW 3,4,2,5,1,8,6,2,5,9 MAS2 DW 3,1,5,2,7,3,8,2,5,1 DATA ENDS STACK SEGMENT STACK DW 16 DUP(?) STKTOP LABEL WORD STACK ENDS CODE SEGMENT ASSUME CS:CODE,DS:DATA,SS:STACK SORTMAS MACRO MAS MOV DI,0 MOV CX,LENGTH MAS-1 ;индекс массива MOV SI,0 ;загрузка i-индекса M1 LABEL FAR : MOV DI,CX ;загрузка j-индекса JMP FAR PTR M2 ;переход на основное тело цикла M4 LABEL FAR : MOV BX,SI ;BX=i MOV AX,MAS[BX] ;AX=mas[i]-первый элемент массива MOV BX,DI ;BX=j CMP AX,MAS[BX] ;сравнение mas[i] c mas[j] JLE FAR PTR M3 ;переход на метку если mas[i]<mas[j] MOV DX,AX ;HD=mas[i] MOV BX,DI ;BX=j MOV AX,MAS[BX] ;AX=mas[j] MOV BX,SI ;BX=i MOV MAS[BX],AX ;mas[i]=mas[j] MOV BX,DI ;BX=j MOV AX,DX MOV MAS[BX],AX ;mas[j]=HD ;обмениваем элементы M3 LABEL FAR : DEC DI ;j-- M2 LABEL FAR : MOV AX,DI ;AX=j CMP AX,SI ;сравнить j=i JG FAR PTR M4 ;если j>i то переход на цикл обмена MEX,иначе чикл по i INC SI ;i++ CMP SI,CX ;сравниваем i с CX JL FAR PTR M1 ;i>n выход из цикла,иначе продолжаем ENDM START: MOV AX,DATA MOV DS,AX MOV AX,STACK MOV SS,AX LEA SP,STKTOP SORTMAS MAS1 SORTMAS MAS2 CODE ENDS END START Подскажите как исправить...Работаю на MASM...(
winnix Здесьреализация на MASM сортировок: пузырьковой, шейкером, пирамидальной, прямым включением, прямым выбором, Шелла, Хоара (быстрая сортировка) на примере одного и того же массива двойных слов