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

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

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

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

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

Ответ
 
Опции темы Поиск в этой теме
Старый 14.05.2013, 14:50   #1
Turboman
Пользователь
 
Регистрация: 28.01.2013
Сообщений: 12
По умолчанию Секундомер asm

Добрый день!
Нужно реализовать секундомер в asm и вставить код в с++ чтобы кот-то работало.
У кого есть подобные проекты или что-то в этом роде.
Turboman вне форума Ответить с цитированием
Старый 14.05.2013, 15:28   #2
f.hump
C/C++, Asm
Участник клуба
 
Аватар для f.hump
 
Регистрация: 02.03.2010
Сообщений: 1,323
По умолчанию

ничего готового, к сожалению, нет.

но есть такая загадочная инструкция RDTSC из которой, наверное, можно извлечь какую-нибудь пользу.
f.hump вне форума Ответить с цитированием
Старый 14.05.2013, 16:33   #3
Turboman
Пользователь
 
Регистрация: 28.01.2013
Сообщений: 12
По умолчанию

Цитата:
Сообщение от f.hump Посмотреть сообщение
ничего готового, к сожалению, нет.

но есть такая загадочная инструкция RDTSC из которой, наверное, можно извлечь какую-нибудь пользу.
.386
.model flat, stdcall
option casemap :none
include \masm32\include\windows.inc
include \masm32\include\user32.inc
include \masm32\include\kernel32.inc
include \masm32\include\masm32.inc
include \masm32\include\msvcrt.inc
includelib \masm32\lib\user32.lib
includelib \masm32\lib\kernel32.lib
includelib \masm32\lib\masm32.lib
includelib \masm32\lib\msvcrt.lib


Main PROTO
localtime PROTO cWORD
time PROTO cWORD
.data

lf db 13,10,0
template db "Time is: %d:%d:%d",13,10,0;шаблон для вывода тек. времени
syst SYSTEMTIME <> ;структура с нормальным временем

Error_time db "Error localtime() ",13,10,0

tm STRUCT
tm_sec DWORD ? ; seconds after the minute - [0,59]
tm_min DWORD ? ; minutes after the hour - [0,59]
tm_hour DWORD ? ; hours since midnight - [0,23]
tm_mday DWORD ? ; day of the month - [1,31]
tm_mon DWORD ? ; months since January - [0,11]
tm_year DWORD ? ; years since 1900
tm_wday DWORD ? ; days since Sunday - [0,6]
tm_yday DWORD ? ; days since January 1 - [0,365]
tm_isdst DWORD ? ; daylight savings time flag
tm ENDS
out_data db 123 dup(0)

.data?
this_time LONG ? ; long(4 Byte) так надо
New_Time tm <>
lpNew_Time DWORD ? ;указатель на структуру типа tm
TextBuf db 64 dup( ? );для вывода тек.времени


.code
start:
invoke Main
invoke ExitProcess,0
; ################################### ######################### #############

Main proc
LOCAL timeBuffer[128]:BYTE

_next:
invoke crt_time,NULL
mov this_time,eax

invoke crt_localtime,ADDR this_time
.IF eax == NULL
invoke StdOut,ADDR Error_time
ret
.ENDIF
mov lpNew_Time,eax

invoke MemCopy,lpNew_Time,ADDR New_Time,sizeof New_Time

add New_Time.tm_year,1900
add New_Time.tm_mon,1

invoke wsprintf,ADDR TextBuf,ADDR template,\
New_Time.tm_hour,\
New_Time.tm_min,\
New_Time.tm_sec
invoke Sleep, 1000
invoke StdOut,ADDR TextBuf
jmp _next
ret
Main endp
end start

вот нешел, только не знаю как применить ...
Turboman вне форума Ответить с цитированием
Ответ


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

Опции темы Поиск в этой теме
Поиск в этой теме:

Расширенный поиск


Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
Секундомер shinydo Visual C++ 0 01.03.2012 14:54
Передача параметров asm-asm Maksimall89 Assembler - Ассемблер (FASM, MASM, WASM, NASM, GoASM, Gas, RosAsm, HLA) и не рекомендуем TASM 0 22.12.2011 11:54
Секундомер Ins1De Общие вопросы C/C++ 3 26.05.2010 22:14
Секундомер aesoem Общие вопросы Delphi 10 28.01.2008 19:25