Форум программистов, компьютерный форум, киберфорум
Наши страницы
Assembler, MASM, TASM
Войти
Регистрация
Восстановить пароль
 
MAXXX1
0 / 0 / 0
Регистрация: 14.11.2014
Сообщений: 6
#1

Вывести системные часы по нажатии определенной клавиши. - Assembler

13.05.2012, 19:14. Просмотров 1079. Ответов 3
Метки нет (Все метки)

В общем, тонкости такие. Вывести псевдографикой. При повторном нажатии часы должны убираться. Код считывания системного времени есть(нашел на этом же сайте, спасибо автору-не помню какой его ник). Нужно как-то сканировать это время и преобразовать определенные цифры и ":" в псевдографику.
Сразу скажу - в ассемблере ничего не понимаю. На втором курсе буду учиться на мат профиле, не на программера. Сдать бы этот проект.

Листинг вывода системного времени:
Assembler
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
CSEG SEGMENT
assume cs:cseg
org 100h
start:  mov ah,0
    int 16h
 
    push ax     
    mov ah,2ch  
    int 21h
    pop ax      
 
    cmp al,0dh
    je exit
    cmp al,'V'
    jne h
    call out_h
    call out_cln
    call out_m
    call out_cln
    call out_s
    call crlf
    jmp start
h:  cmp ah,2eh
    jne m
    call out_h
    call crlf
    jmp start
m:  cmp ah,32h
    jne s
    call out_m
    call crlf
    jmp start
s:  cmp ah,1fh
    jne start
    call out_s
    call crlf
    jmp start
 
exit:   ret
 
out_h proc      ;Выводит на экран текущий час
    mov al,ch
    call OutInt
    ret
out_h endp
 
out_m proc      ;Минуты.
    mov al,cl
    call OutInt
    ret
out_m endp
 
out_s proc      ;Секунды.
    mov al,dh
    call OutInt
    ret
out_s endp
 
out_cln proc        ;Двоеточие.
    mov ah,2
    mov dl,':'
    int 21h
    ret
out_cln endp
 
crlf proc       ;Переход в начало следующей строки.
    mov ah,2
    mov dl,0dh
    int 21h
    mov dl,0ah
    int 21h
    ret
crlf endp
 
OutInt proc     ;Вывод двузначного числа.
    push dx
        aam 
        add ax,3030h 
        mov dl,ah 
        mov dh,al 
        mov ah,02 
        int 21h 
        mov dl,dh 
        int 21h
    pop dx
    ret
OutInt endp 
    
CSEG ENDS
end start
0
Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
Similar
Эксперт
41792 / 34177 / 6122
Регистрация: 12.04.2006
Сообщений: 57,940
13.05.2012, 19:14
Я подобрал для вас темы с готовыми решениями и ответами на вопрос Вывести системные часы по нажатии определенной клавиши. (Assembler):

Сигнал о нажатии клавиши
Добрый день! Ребят помогите кто может Сигнализирующей о нажатии левой клавиши...

Завершить работу программы при нажатии клавиши q
.model tiny .code org 100h begin: mov ax,0003h int 10h ...

При нажатии клавиши I проверить и вывести на экран состояние клавиши Insert
Добрый день, помогите с заданием при нажатии клавиши I проверить и вывести на...

Вывести сообщение при нажатии клавиши F1
Помогите пожалуйста. Организовать посимвольное введение эха в цикле и анализ...

Как вывести текст на экран при нажатии какой либо клавиши?
Всем привет, поискал на форумах свою проблему- не нашел, потому пишу свой...

При нажатии любой клавиши вывести на экран просьбу нажать эту клавишу еще раз
Нужно написать программу, которая при нажатии любой клавиши на выводит на экран...

3
Charles Kludge
Клюг
7641 / 3156 / 382
Регистрация: 03.05.2011
Сообщений: 8,382
13.05.2012, 20:24 #2
Дык, есть такое. Допиливаете по вкусу.
2
MAXXX1
0 / 0 / 0
Регистрация: 14.11.2014
Сообщений: 6
17.05.2012, 15:17 #3
Чрезмерно благодарен за Ваш ответ)

Добавлено через 20 часов 41 минуту
Допилить прогу за отсутствием знаний не в состоянии. Да и Ваш код не смог запустить на emu8086. Не соизволите ли Вы допилить его с указанными в шапке условиями? Завтра сдавать((
0
Charles Kludge
Клюг
7641 / 3156 / 382
Регистрация: 03.05.2011
Сообщений: 8,382
17.05.2012, 15:56 #4
Глубокоуважаемый maxxx1.


В ответ на ваше письмо от 17.05.2012 15:17 , вх. №3, довожу до вашего сведения:
Вышеуказанные вами требования в письме от 13.05.2012 19:14, вх. №1 не могут быть выполнены по нижеизложеным причинам:
1.Отсутствия в наличии ППП "Эмо8086", равно как и умения пользоваться данным ППП, что следует из вышеизложеного;
2. Абсолютное незнание реальной системы команд древнего процессора 8086, который эмулируется на моём Core2 Duo;
3.Нежелание выполнять чью-либо работу, исходя из высоких морально-этических, а не низменных материальных побуждений.
1
MoreAnswers
Эксперт
37091 / 29110 / 5898
Регистрация: 17.06.2006
Сообщений: 43,301
17.05.2012, 15:56
Привет! Вот еще темы с решениями:

Событие при нажатии определенной клавиши
Как сделать так, чтобы при нажатии определенной кнопки, к примеру, показывалась...

Стирание линии при нажатии определенной клавиши
Здравствуйте. С большим трудом написала программу. Жизненно необходимо её...

Назначить действие при нажатии определенной клавиши
Нужна помощь! Надо чтобы при нажатии определенной клавиши выполнялось...

Выход из програмы при нажатии определенной клавиши.
Надо сделать так, что бы при нажатии кнопки "1", потом "Enter" осуществлялся...


Искать еще темы с ответами

Или воспользуйтесь поиском по форуму:
4
Ответ Создать тему
Опции темы

КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin® Version 3.8.9
Copyright ©2000 - 2018, vBulletin Solutions, Inc.
Рейтинг@Mail.ru