Добавил:
Upload Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
Скачиваний:
6
Добавлен:
25.02.2016
Размер:
3.37 Кб
Скачать

TITLE MASSORT (EXE) Џа®Ја ¬¬  Їг§ламЄ®ў®© б®авЁа®ўЄЁ «Ё­Ґ©­®Ј® ¬ ббЁў 
;----------------------------------------
; ‚•Ћ„: Ї®б«Ґ¤®ў вҐ«м­®бвм н«Ґ¬Ґ­в®ў ¬ ббЁў  ў ®ЇҐа вЁў­®© Ї ¬пвЁ
; ‚›•Ћ„: гЇ®а冷祭­ п Ї®б«Ґ¤®ў вҐ«м­®бвм н«Ґ¬Ґ­в®ў ¬ ббЁў 
; ў ®ЇҐа вЁў­®© Ї ¬пвЁ (Їа®Ја ¬¬  ­Ґ ўлў®¤Ёв १г«мв в)
;----------------------------------------
STACKSG SEGMENT PARA STACK 'Stack'
DW 32 DUP (?)
STACKSG ENDS
;----------------------------------------
DATASG SEGMENT PARA 'Data'
MAS DB 14,6,0,24,1,3 ; §­ зҐ­Ёп н«Ґ¬Ґ­в®ў ¬ ббЁў 
NUM DW 6 ; Є®«ЁзҐбвў® н«Ґ¬Ґ­в®ў ¬ ббЁў 
ADR_EL DW (?) ;  ¤аҐб ­ з «м­®Ј® н«Ґ¬Ґ­в 
; ADR_EL - ЇҐаҐ¬Ґ­­ п ¤«п еа ­Ґ­Ёп ­®¬Ґа  (®в­®бЁвҐ«м­®Ј®  ¤аҐб )
; ЇҐаў®Ј® Ё§ ¤ўге н«Ґ¬Ґв®ў, Ї®¤«Ґ¦ йЁе ®Ўа Ў®вЄҐ
SWAP DB 0 ; ЇҐаҐ¬Ґ­­ п-д« ¦®Є
; SWAP - д« ¦®Є, §­ зҐ­ЁҐ Є®в®а®Ј® Ї®Є §лў Ґв, ўлЇ®«­п«Ёбм «Ё
; ЇҐаҐбв ­®ўЄЁ н«Ґ¬Ґ­в®ў ў 室Ґ Їа®б¬®ва  ¬ ббЁў :
; SWAP = 0 - ­Ґ ўлЇ®«­п«Ёбм; SWAP = 1 - ўлЇ®«­п«Ёбм
DATASG ENDS
;----------------------------------------
CODESG SEGMENT PARA 'Code'
BEGIN PROC FAR
ASSUME CS:CODESG, DS:DATASG, SS:STACKSG
PUSH DS
XOR AX,AX ; § ЇЁбм ў б⥪
PUSH AX ; ­г«Ґў®Ј®  ¤аҐб 
MOV AX,DATASG ; § бл«Є   ¤аҐб 
MOV DS,AX ; DATASG ў ॣЁбва DS
;----------------------------------------
MOV BX,NUM
; ЌЂ—Ђ‹Ћ ‚Ќ…Ќ…ѓЋ –€Љ‹Ђ
VNE: DEC BX ; зЁб«® Їа®е®¤®ў ў­Ґи­ҐЈ® жЁЄ« 
MOV CX,BX
MOV SWAP,0 ; бЎа®б д« ¦Є 
XOR SI,SI
; SI - ॣЁбва-Ё­¤ҐЄб,
; ®ЎҐбЇҐзЁў ойЁ© ЇҐаҐе®¤ Є б«Ґ¤го饬г н«Ґ¬Ґ­вг ¬ ббЁў 
MOV ADR_EL,SI ; ЇҐаўл© Ё§ ба ў­Ёў Ґ¬ле н«Ґ¬Ґ­в®ў
; ЌЂ—Ђ‹Ћ ‚Ќ“’ђ…ЌЌ…ѓЋ –€Љ‹Ђ
VNU: MOV SI,ADR_EL
MOV AH,MAS[SI] ; §­ зҐ­ЁҐ ЇҐаў®Ј® н«Ґ¬Ґ­в 
MOV AL,MAS[SI+1] ; §­ зҐ­ЁҐ ўв®а®Ј® н«Ґ¬Ґ­в 
; Ђ¤аҐб жЁп б Ё­¤ҐЄбЁа®ў ­ЁҐ¬:
; MAS[SI] - ®ЎҐбЇҐзЁў Ґв Ї®«г祭ЁҐ §­ зҐ­Ёп н«Ґ¬Ґ­в , ­®¬Ґа Є®в®а®Ј®
; ᮤҐа¦Ёвбп ў ॣЁбвॠSI.
; MAS[SI+1] - ®ЎҐбЇҐзЁў Ґв Ї®«г祭ЁҐ §­ зҐ­Ёп н«Ґ¬Ґ­в , ­®¬Ґа Є®в®а®Ј®
; а ўҐ­ ­®¬Ґаг, ᮤҐа¦Ё¬®¬г ў ॣЁбвॠSI, 㢥«ЁзҐ­­®¬г ­  1.
CMP AH,AL ; ба ў­Ґ­ЁҐ н«Ґ¬Ґ­в®ў
JNG SLED ; ЇҐаҐбв ­®ўЄ  н«Ґ¬Ґ­вл ­Ґ ­г¦­ 
XCHG AH,AL ; ЇҐаҐбв ­®ўЄ  н«Ґ¬Ґ­в®ў
; XCHG - Є®¬ ­  ®Ў¬Ґ­  ¬Ґбв ¬Ё §­ зҐ­Ё©, гЄ § ­­ле ®ЇҐа ­¤ ¬Ё
MOV MAS[SI],AH ; § Ї®¬Ё­ ­ЁҐ
MOV MAS[SI+1],AL ; ЇҐаҐбв ў«Ґ­­ле н«Ґ¬Ґ­в®ў
MOV SWAP,1 ; гбв ­®ўЄ  д« ¦Є 
; ¤®Ї®«­ЁвҐ«м­л© жЁЄ« ¤«п Їа®е®¤  Ї® ўбҐ¬ н«Ґ¬Ґ­в ¬
SLED: INC ADR_EL ; ®Ўа Ў®вЄ  б«Ґ¤го饩 Ї ал н«Ґ¬Ґ­в®ў
INC SI ; и Ј Ї® н«Ґ¬Ґ­в ¬
DEC CX ; зЁб«® ®бв «м­ле н«Ґ¬Ґ­в®ў
CMP CX,0 ; н«Ґ¬Ґ­в Ї®б«Ґ¤­Ё©?
JG VNU ; ­Ґв: Ї®ўв®а ў­гв७­ҐЈ® жЁЄ« 
; ЉЋЌ…– ‚Ќ“’ђ…ЌЌ…ѓЋ –€Љ‹Ђ
CMP SWAP,1 ; Їа®ўҐаЄ  д« ¦Є 
JE VNE ; ¤ : Ї®ўв®а ў­Ґи­ҐЈ® жЁЄ« 
; ЉЋЌ…– ‚Ќ…Ќ…ѓЋ –€Љ‹Ђ
NOP ; нвЁ Є®¬ ­¤л ¤®Ў ў«Ґ­л,
NOP ; зв®Ўл Їа®йҐ ®вб«Ґ¤Ёвм
NOP ; ®Є®­з ­ЁҐ Їа®Ја ¬¬л
NOP ; зҐаҐ§ ®в« ¤зЁЄ
RET ; § ўҐа襭ЁҐ Їа®Ја ¬¬л
BEGIN ENDP
CODESG ENDS
END BEGIN

Соседние файлы в папке 08