|
|
Регистрация Восстановить пароль |
Повторная активизация e-mail |
Регистрация | Задать вопрос |
Заплачу за решение |
Новые сообщения |
Сообщения за день |
Расширенный поиск |
Правила |
Всё прочитано |
|
Опции темы | Поиск в этой теме |
14.05.2013, 14:50 | #1 |
Пользователь
Регистрация: 28.01.2013
Сообщений: 12
|
Секундомер asm
Добрый день!
Нужно реализовать секундомер в asm и вставить код в с++ чтобы кот-то работало. У кого есть подобные проекты или что-то в этом роде. |
14.05.2013, 15:28 | #2 |
C/C++, Asm
Участник клуба
Регистрация: 02.03.2010
Сообщений: 1,323
|
ничего готового, к сожалению, нет.
но есть такая загадочная инструкция RDTSC из которой, наверное, можно извлечь какую-нибудь пользу. |
14.05.2013, 16:33 | #3 | |
Пользователь
Регистрация: 28.01.2013
Сообщений: 12
|
Цитата:
.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 вот нешел, только не знаю как применить ... |
|
Опции темы | Поиск в этой теме |
Похожие темы | ||||
Тема | Автор | Раздел | Ответов | Последнее сообщение |
Секундомер | 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 |