:D как оценить скорость работы массива?? програмы??
---
сточность до мл секунд
---
на ASM
--
т.к. уменя две программы написаные на ASM
;sorting matrix the save addres index
;
;
.MODEL SMALL
.STACK 100H
.DATA
; 1 2 3 4 5 6 7
mas db 01,56,01,25,01,02,45 ;1
db 56,02,59,02,95,03,89 ;2
db 12,01,08,12,17,89,89 ;3
db 05,50,15,47,34,54,45 ;4
db 01,99,99,99,99,34,03 ;5
db 04,15,56,41,14,15,03 ;6
Db 56,02,59,02,95,03,89 ;2
db 12,01,08,12,17,89,89 ;3
db 05,50,15,47,34,54,45 ;4
db 01,99,99,99,99,34,03 ;5
db 04,15,56,41,14,15,03 ;12
db 56,02,59,02,95,03,89 ;2
db 12,01,08,12,17,89,89 ;3
db 05,50,15,47,34,54,45 ;4
db 01,99,99,99,99,34,03 ;5
db 04,15,56,41,14,15,03 ;6
db 56,02,59,02,95,03,89 ;2
db 12,01,08,12,17,89,89 ;3
db 05,50,15,47,34,54,45 ;4
db 01,99,99,99,99,34,03 ;5
db 04,15,56,41,14,15,03 ;24
db 56,02,59,02,95,03,89 ;2
db 12,01,08,12,17,89,89 ;3
db 05,50,15,47,34,54,45 ;4
db 01,99,99,99,99,34,03 ;5
db 04,15,56,41,14,15,03 ;6
db 04,15,56,41,14,15,03 ;6
db 56,02,59,02,95,03,89 ;2
db 12,01,08,12,17,89,89 ;3
db 05,50,15,47,34,54,45 ;4
db 01,99,99,99,99,34,03 ;5
db 04,15,56,41,14,15,03 ;6
db 56,02,59,02,95,03,89 ;2
db 12,01,08,12,17,89,89 ;3
db 05,50,15,47,34,54,45 ;4
db 01,99,99,99,99,34,03 ;5
db 04,15,56,41,14,15,03 ;6
db 56,02,59,02,95,03,89 ;2
db 12,01,08,12,17,89,89 ;3
db 05,50,15,47,34,54,45 ;4
db 01,99,99,99,99,34,03 ;5
db 04,15,56,41,14,15,03 ;48
db 04,15,56,41,14,15,03 ;1
db 56,02,59,02,95,03,89 ;2
db 12,01,08,12,17,89,89 ;3
db 05,50,15,47,34,54,45 ;4
db 01,99,99,99,99,34,03 ;5
db 04,15,56,41,14,15,03 ;6
db 56,02,59,02,95,03,89 ;2
db 12,01,08,12,17,89,89 ;3
db 05,50,15,47,34,54,45 ;4
db 01,99,99,99,99,34,03 ;5
db 04,15,56,41,14,15,03 ;60
db 56,02,59,02,95,03,89 ;2
db 12,01,08,12,17,89,89 ;3
db 05,50,15,47,34,54,45 ;4
db 01,99,99,99,99,34,03 ;5
db 04,15,56,41,14,15,03 ;1
db 04,15,56,41,14,15,03 ;6
db 56,02,59,02,95,03,89 ;2
db 12,01,08,12,17,89,89 ;3
db 05,50,15,47,34,54,45 ;4
db 01,99,99,99,99,34,03 ;5
db 04,15,56,41,14,15,03 ;72
db 56,02,59,02,95,03,89 ;2
db 12,01,08,12,17,89,89 ;3
db 05,50,15,47,34,54,45 ;4
db 01,99,99,99,99,34,03 ;5
db 04,15,56,41,14,15,03 ;6
db 56,02,59,02,95,03,89 ;2
db 12,01,08,12,17,89,89 ;3
db 05,50,15,47,34,54,45 ;4
db 01,99,99,99,99,34,03 ;5
db 04,15,56,41,14,15,03 ;84
db 04,15,56,41,14,15,03 ;1
db 56,02,59,02,95,03,89 ;2
db 12,01,08,12,17,89,89 ;3
db 05,50,15,47,34,54,45 ;4
db 01,99,99,99,99,34,03 ;5
db 04,15,56,41,14,15,03 ;6
db 56,02,59,02,95,03,89 ;2
db 12,01,08,12,17,89,89 ;3
db 05,50,15,47,34,54,45 ;4
db 01,99,99,99,99,34,03 ;5
db 04,15,56,41,14,15,03 ;96
db 56,02,59,02,95,03,89 ;2
db 12,01,08,12,17,89,89 ;3
db 05,50,15,47,34,54,45 ;4
db 01,99,99,99,99,34,03 ;5
db 04,15,56,41,14,15,03 ;6
db 04,15,56,41,14,15,03 ;1
db 56,02,59,02,95,03,89 ;2
db 12,01,08,12,17,89,89 ;3
db 05,50,15,47,34,54,45 ;4
db 01,99,99,99,99,34,03 ;5
db 04,15,56,41,14,15,03 ;108
db 56,02,59,02,95,03,89 ;2
db 12,01,08,12,17,89,89 ;3
db 05,50,15,47,34,54,45 ;4
db 01,99,99,99,99,34,03 ;5
db 04,15,56,41,14,15,03 ;6
db 56,02,59,02,95,03,89 ;2
db 12,01,08,12,17,89,89 ;3
db 05,50,15,47,34,54,45 ;4
db 01,99,99,99,99,34,03 ;5
db 04,15,56,41,14,15,03 ;120*7=840
db 'яя'
db 10,13
db '$'
fl_wr db ?,'$'
time_h dw ?,10,13,'$'
time_s dw ?,10,13,'$'
time_h1 dw ?,10,13,'$'
time_s1 dw ?,10,13,'$'
.CODE
START:
mov ax,@data ;init data DS segment
mov ds,ax ;/
xor ax,ax ;ax in zero
mov al,0
mov ah,2ch
mov al,0
int 21h
; mov time_h,cx
mov time_s,dx
xor dx,dx
xor cx,cx
mov ax,03
int 10h
mov dx,offset mas
call _out_text
; call _wait_key
xor ax,ax
xor dx,dx
mov bp,offset mas
rep:
mov ax,ds:[bp] ;in ax number ds:[bp] addres
cmp ax,'яя' ;if ax='255255' then exit this sign end mas
je exit ;goto exit
cmp al,ah ;if al>ah then
ja over_write ;goto over write
cmp fl_wr,1 ;
je d_ad_m ;
inc bp ;
jmp rep ;
over_write:
xchg al,ah ;overal
mov ds:[bp],ax ;
; push bp ;saver addres
cmp bp,0 ;if bp=0 then
je d_ad_m ;go to d_ad_m
push bp
mov fl_wr,1 ;init flag
dec bp ;else decrement bp
jmp rep
d_ad_m:
pop bp ;
inc bp ;
mov fl_wr,0 ;
jmp rep ;
exit:
mov ah,2ch
int 21h
mov time_h1,cx;
mov time_s1,dx
xor cx,cx
xor dx,dx
mov dx,offset time_s
call _out_text
mov dx,offset time_s1
call _out_text
call _wait_key
mov dx,offset mas
call _out_text
call _wait_key
call _exit
;
;
;
_out_text proc near
mov al,0
mov ah,9
int 21h
ret
_out_text endp
_wait_key proc near
mov ah,0
int 16h
ret
_wait_key endp
_exit proc near
mov ah,4ch ;|
mov al,0 ;| -EXIT to DOS;
int 21h ;|/
_exit endp
END START