Форум программистов
 

Восстановите пароль или Зарегистрируйтесь на форуме, о проблемах и с заказом рекламы пишите сюда - alarforum@yandex.ru, проверяйте папку спам!

Вернуться   Форум программистов > Низкоуровневое программирование > Assembler - Ассемблер (FASM, MASM, WASM, NASM, GoASM, Gas, RosAsm, HLA) и не рекомендуем TASM
Регистрация

Восстановить пароль
Повторная активизация e-mail

Купить рекламу на форуме - 42 тыс руб за месяц

Ответ
 
Опции темы Поиск в этой теме
Старый 07.04.2012, 12:28   #1
komesergey
Новичок
Джуниор
 
Регистрация: 07.04.2012
Сообщений: 1
По умолчанию Тест скорости оперативной памяти.

Нужно было написать тест скорости записи данных в оперативную память и чтения данных из памяти, результат вывести на экран в десятичном коде.
Вот этот вариант не работает, задолбался ошибку искать. Также прошу помочь переписать процедуру перевода из 16 сс в 10 сс и вывод в виде макроса как OutStr

Цитата:
OutStr macro str ;макрос вывода строки
push dx
mov ah,09h
lea dx,str
int 21h
pop dx
endm


.model small
.stack 256
.data
M1 DB ':$'
M3 DB 'Finish time in ms....$'
SEC DB 0
SEC1 DB 0
g DB 0
i DW 0
x db 10242 dup(1)
long dw 10000

.code
start:
mov ax,@DATA ;инициализация
mov ds,ax
xor ax,ax

mov ah,2ch ; запуск таймера- узнаем текущие мс
int 21h
mov sec,dl

mov si, 0

for_start: ;забиваю 10кб памяти нулями в цикле
mov dword [i],0
for_loop:
mov x[si],'0'
inc si
inc dword [i]
cmp dword [i],10240
jnz for_loop
for_finish:

mov ah,2ch ;запуск второй раз системного таймера, получаю мс конца
int 21h
mov sec1,dl


xor ax,ax ; вывожу начальные мс
mov ax, offset sec
Call OutInt
OutStr M1

xor ax,ax ;вывожу конечные мс
mov ax, offset sec1
Call OutInt
OutStr M1

xor ax,ax ; вычитаю, получаю в мс сколько загружались 10кб
mov cl,sec
sub sec1,cl
mov ax, offset sec1
Call OutInt
OutStr M1


xor dx,dx
mov ax,@DATA
mov ds,ax

xor cx,cx ;деление 10000кб на этот самый период
xor ax,ax
xor dx,dx
mov ax, long
mov cx, offset sec1
div cx

Call OutInt

OutStr M1
xor ax,ax

OutInt proc ;это процедура перевода и вывода на экран из 16 сс в 10 сс
xor cx, cx
mov bx, 10 ; основание сс. 10 для десятеричной и т.п.
oi2:
xor dx,dx
div bx
push dx
inc cx
test ax, ax
jnz oi2
mov ah, 02h
oi3:
pop dx
add dl, '0'
int 21h
loop oi3
ret
OutInt endp
OutStr M1

MOV AH,08h
INT 21h
mov ax,4C00h
int 21h
END start
komesergey вне форума Ответить с цитированием
Ответ


Купить рекламу на форуме - 42 тыс руб за месяц



Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
папка в оперативной памяти goluzov Софт 6 22.02.2012 12:44
Объем оперативной памяти Alexandr555 Win Api 9 07.10.2011 20:09
Hibernate+EHCache=Тест скорости ganibal110 Java Базы данных (JDBC, JPA, Hibernate) 1 09.11.2010 10:10
Тест скорости инета и вывод скрипта bionicle12 PHP 6 06.09.2010 10:28
Ремонт оперативной памяти. С.М.С Компьютерное железо 6 06.06.2009 17:20