Показать сообщение отдельно
  #5  
Старый 15.01.2011, 14:46
mandarinka mandarinka вне форума
Прохожий
 
Регистрация: 28.12.2010
Сообщения: 17
Репутация: 10
По умолчанию

я не могу найти метода вычисления(
но у меня есть листинг на Ассемблере:

Код:
STACKS SEGMENT STACK	 
  ARR DB 128 DUP (?)                	 
STACKS ENDS                                    

SAMPLESIZE EQU 100                      

DATASG SEGMENT                           
DW SAMPLESIZE DUP (?)                 

DATASG ENDS                                  

CODES SEGMENT                              
ASSUME CS: CODESG                       
ASSUME DS: DATASG                      

ASSUME SS: STACKSG                     


FILLA PROC                                        
PUSH AX
PUSH BX
PUSH CX
PUSH DX
MOV BX, 0                                           
MOV CX, SAMPLESIZE                     
MOV DX, 200h                                     
INL: IN AX, DX                                    

MOV ARR[BX], AX                             
ADD BX, 2                                            
LOOP INL                                         
POP DX 
POP CX
POP BX 
POP AX
RET                                                        
FILLA ENDP                                         

AVERW PROC                                     
PUSH BX
PUSH CX
XOR AX, AX                                        
XOR DX, DX                                        
MOV CX, SAMPLE SIZE                    
L: ADDAX, [BX]                                  
ADD BX, 2                                            
LOOP L                                                 
MOV CX, SAMPLESIZE                     
DIV CX                                                 
POP CX
POP BX
RET                                                    
AVERW ENDP                                  
MINMAX PROC                     

PUSH BX                                        
PUSH CX                                       
MOV CX, SAMPLESIZE                
MOV DX, [BX]                                
MOV AX, DX                                 

ADD BX, 2                                        
PUSH BX                                          
MINL: CMP [BX], DX                     
JAE L1                                              
MOV DX, [BX]                                
L1: ADD BX, 2                                 
LOOP MINL                                     
POP BX                                             

MOV CX, SAMPLESIZE                
MAXL; CMP [BX], AX                   
JBE L2                                              
MOV AX, [BX]	  
L: ADD BX, 2	
LOOP MAXL	
POP CX	
POP BX	
RET                                                     
MINMAX ENDP	  

S: MOV AX, DATASG                      
MOV DS, AX	
LEA BX, ARR                                    
CALL FILL                                         
CALL AVERW                                   
PUSH DX	 
MOV DX, 220h	 
OUT DX, AX	 
POP AX	
OUT DX, AX	
CALL MINMAX                                 
PUSH DX	   
MOV DX, 220h                                   
OUT DX, AX	   
POP AX	   
OUT DX, AX	  
CODESG ENDS	 

END S
Админ: Пользуемся тегами!
Ответить с цитированием