
15.01.2011, 14:46
|
Прохожий
|
|
Регистрация: 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
Админ: Пользуемся тегами!
|