Консультация № 44449
28.05.2006, 04:40
0.00 руб.
0 4 2
Здраствуйте, очень нужна помощь... Нужно в кратчайшие сроки сделать дипломный проект в программе ТАСМ (под ДОС). Затормозил на создании часов. Читал много документации, но так ничего и не получается, нервы на исходеМожете ли выложить какието наработки или "намекнуть" - как сделать программу такого вида: Досовское окно в котором отображается системные часы(время как в Виндовсе) вида ЧЧ:ММ.
Как говорится "горю!!", плз помогите.
Заранее благодарен..

Обсуждение

давно
Советник
419
1012
28.05.2006, 10:26
общий
это ответ
Здравствуйте, Бородин Евгений Викторович / kain!
Очень просто. Перехватываешь таймер на каждую секунду, берёшь время и выводишь на экран.
Неизвестный
28.05.2006, 15:05
общий
это ответ
Здравствуйте, Бородин Евгений Викторович / kain!

В целях не предоставления этого кода как Лаб. Работы, код не оптимизирован и не прокомментирован.

Так же, код может не верно работать, но это мало вероятно(простоя его не компилировал и не запускал на исполнение).

CSEG segment
assume cs:CSEG,ds:CSEG,ss:CSEG,es:CSEG
org 100h
.286
Begin:
cli
;===========================
mov ah,02h
int 1ah
xor dx,dx
;===========================
@@1:
;ch = 03 (Hours)
;cl = 33 (Minute)
;Example: 03:33
mov al,ch
shr al,04h
add al,30h
int 29h
;===========================
mov al,ch
and al,0fh
add al,30h
int 29h
cmp dl,01h
je @@2
;===========================
mov al,‘:‘
int 29h
;===========================
xchg cl,ch
inc dx
jmp @@1
;===========================
@@2:
sti
;=========================
ret ;exit
;=========================
CSEG ends
end Begin

С, Уважением MnEm0n!C.
Неизвестный
28.05.2006, 15:59
общий
2Пан Павел КонстантиновичГигинское спасибо. Есть еще вопрос... А почему не выходит с ехе файлом, вроди счетчик работает, отображает, но в какойто "кодировке". Гду здесь ошибка:idealmodel smallstack 256datasegcodesegstart: climov ah,02hint 1Ahxor dx,dx@@1:mov ah,chshr al,04hadd al,30hint 29hmov al,chadd al,0fhadd al,30hint 29hcmp dl,01hje @@2mov al,‘:‘int 29hxchg cl,chinc dxjmp @@1@@2:stiexit:mov ax,4c00hint 21hend start******Заранее благодарен******
Неизвестный
29.05.2006, 00:12
общий
Извените что так долго, просто с друганом в Counter Strike рубился.Вот правельный код для *.EXE файла:.286idealmodel small stack 256 dataseg codeseg start: mov ah,02hint 1ahxor dx,dx;===========================@@1:;ch = 03 (Hours);cl = 33 (Minute);Example: 03:33mov al,chshr al,04hadd al,30hint 29h;===========================mov al,chand al,0fhadd al,30hint 29hcmp dl,01hje @@2;===========================mov al,‘:‘int 29h;===========================xchg cl,chinc dxjmp @@1;===========================@@2:stimov ax,4c00h int 21h end start Вам остаётся только сравнить этот код не правельным кодом который идёт ниже:ideal model small stack 256 dataseg codeseg start: cli mov ah,02h int 1Ah xor dx,dx @@1: mov ah,ch shr al,04h add al,30h int 29h mov al,ch add al,0fh add al,30h int 29h cmp dl,01h je @@2 mov al,‘:‘ int 29h xchg cl,ch inc dx jmp @@1 @@2: sti exit:mov ax,4c00h int 21h end start С, Уважением MnEm0n!C.
Форма ответа