Форум программистов, компьютерный форум, киберфорум
Наши страницы
Assembler для начинающих
Войти
Регистрация
Восстановить пароль
 
Рейтинг 4.50/2: Рейтинг темы: голосов - 2, средняя оценка - 4.50
GrumpyMonk
0 / 0 / 0
Регистрация: 10.10.2015
Сообщений: 16
1

Вывод системного времени

06.06.2016, 19:24. Просмотров 491. Ответов 2
Метки нет (Все метки)

Программа выводит на экран время , но делает это два раза, в чем проблема -без понятия . Буду благодарен за помощь.
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
.model     tiny
        
  
        .code
        .186                            ; для shr al,4
        org        100h                 ; com- программа
start:
 
        mov        al,0Bh               ; CMOS OBh - управл¤ющий регистр ¬
        out        70h,al               ; порт 70h - индекс CMOS
        in         al,71h               ; порт 71h - данные CMOS
        
        
        mov        al,4                 ; CMOS 04h - час
        
        call       print_cmos
        
        mov        al,':'               ; 
        int        29h
       
     
        mov        al,2                 ; CMOS 02h - минута
        
        call       print_cmos
        
        mov        al,':'               ; двоеточие
        int        29h
        
        mov        al,0h        ; CMOS 00h - секунда
    
        call       print_cmos
        
        ret
 
; процедура print_cmos
; выводит на экран содержимое ¤чейки CMOS с номером в AL
; считает, что число, читаемое из CMOS, находитс¤ в формате BCD
print_cmos proc near
        out        70h,al               ; послать AL в индексный порт CMOS
        in         al,71h               ; прочитать данные
        push       ax                   ; размещение значения в стеке 
        shr        al,4                 ; выделить старшие четыре бита
        add        al,'0'               ; добавить ASCII-код цифры 0
        int        29h                  ; вывести на экран
        pop        ax                   ;  извлекает значение из стека
        and        al,0Fh               ; выделить младшие четыре бита
        add        al,30h               ; добавить ASCII-код цифры 0
        int        29h                  ; вывести на экран
        ret
print_cmos endp
        end        start
0
Изображения
 
Similar
Эксперт
41792 / 34177 / 6122
Регистрация: 12.04.2006
Сообщений: 57,940
06.06.2016, 19:24
Ответы с готовыми решениями:

Вывод системного времени на экран
Здравствуйте! Каким образом можно вывести время на экран при загрузке ОС? Этот вариант не пойму...

Изменение системного времени и даты
Программа должна выводить системное время и дату, и предложить мне поменять их Проблема в том что...

Ежесекундный вывод системного времени
Всем привет! Пишу программу, которая ежесекундно должна выводить текущее системное время, в формате...

Вывод системного времени на экран
Доброго временисуток! Помогите пожалуйста написать следующую программку: По нажатию на V вывести...

Вывод системного времени большими цифрами
Здравствуйте! Столкнулся с проблемой - не знаю как вывести на экран значения регистров большими...

2
R71MT
5788 / 1544 / 320
Регистрация: 29.07.2014
Сообщений: 2,569
Записей в блоге: 5
06.06.2016, 19:50 2
А зачем в начале считываешь с порта(71) ? Попробуй закомментировать его:
Assembler
1
2
3
  mov  al,0Bh      ; CMOS OBh - управл¤ющий регистр 
  out  70h,al      ; порт 70h - индекс CMOS
;  in   al,71h      ; порт 71h - данные CMOS
0
Charles Kludge
Клюг
7647 / 3162 / 383
Регистрация: 03.05.2011
Сообщений: 8,382
06.06.2016, 20:11 3
В консоли Хрюши выводит один раз. Если запускаете под эмулятором типа эмо86 emu8086, то может быть что угодно.
0
MoreAnswers
Эксперт
37091 / 29110 / 5898
Регистрация: 17.06.2006
Сообщений: 43,301
06.06.2016, 20:11

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

Сравнение системного времени с введенным
Надо написать программу в которую вводится временной диапазон и если время с компьютера входит в...

Чтение системного времени и перевод его в последовательность ascii
Помогите плиз Нужно выполнить чтение системного времени через функцию 2ch и перевести в...


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

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

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