Поиск:

Ответ в темуСоздание новой темы Создание опроса
> Вывод содержимого регистров. 
:(
    Опции темы
Qixing
Дата 16.4.2008, 06:07 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Новичок



Профиль
Группа: Участник
Сообщений: 4
Регистрация: 16.4.2008

Репутация: нет
Всего: нет



Учусь програмировать на ассамблере.
Делаю задачу про Систменый таймер.
После использовании функции прерывания.ЗНачения времени помещаются в регистры.
И я например хочу вывести время на экран HH:MM:SS
Как вывести содержимое регистров на экран ,например в com программе.
Пробывал вторую функцию и шестую.Но на экране пусто.Помогите пожалкйста.
PM MAIL   Вверх
JAPH
Дата 16.4.2008, 18:23 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Опытный
**


Профиль
Группа: Участник
Сообщений: 312
Регистрация: 8.1.2007
Где: Ленобласть

Репутация: 5
Всего: 23



Как "пробывали"?


--------------------
Что непонятно - спрашиваем smile
PM MAIL ICQ   Вверх
Qixing
Дата 17.4.2008, 05:56 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Новичок



Профиль
Группа: Участник
Сообщений: 4
Регистрация: 16.4.2008

Репутация: нет
Всего: нет



masm
.model tiny
.code
org 100h
start:    
mov ah,6
mov bx,1
mov dl,al ;в регистр данных помещаем тот регистр который хотим вывести.
int 21h
end  start


Предложите ваши варианты.


PM MAIL   Вверх
Severyanin
Дата 17.4.2008, 09:48 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Исследователь
**


Профиль
Группа: Участник
Сообщений: 554
Регистрация: 31.7.2007
Где: Россия, Омск

Репутация: нет
Всего: 9



для начала, время нужно достаь из регистров и сделать десятичную коррекцию. потом - через прерывание 10h вывести посимвольно с разделителем ":". Вот и все. Почитай Абеля. или любую книгу по ассемблеру


--------------------
"Звонким вереском скроются наши следы, и не вспомнят о них. Кто поверит нам, рыцарям павшей звезды из отвергнутых книг? Пусть в узоре времен ни стихов. ни имен, но напомнит забывшим их полуночный крик." Тэм Гринхилл
"Ужели суслик твоего коварства нагадит в плов доверья моего?". Л.Филатов 
PM MAIL WWW ICQ   Вверх
Qixing
Дата 17.4.2008, 12:18 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Новичок



Профиль
Группа: Участник
Сообщений: 4
Регистрация: 16.4.2008

Репутация: нет
Всего: нет



Хм.
Десятичная коррекция это понятно.
А вот  "потом - через прерывание 10h вывести "
Конкретнее.ПРимер.
Допустим у нас в регистре cx-какое то значение.
PM MAIL   Вверх
HackVan
Дата 22.5.2008, 15:30 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Новичок



Профиль
Группа: Участник
Сообщений: 1
Регистрация: 22.5.2008

Репутация: нет
Всего: нет



Попробуй вот это  smile 

Код

; Процедура вывода числа.
; Входной параметр пердаеться в ax
outp proc
        push    ax
        push    cx
        push    dx
        push    bx
        xor     cx,cx    ;Количество цифр
        mov     bx,000Ah ;Основание системы счисления, в которой выводим число
 cont:  xor     dx,dx
        div     bx       ;Получаем крайнюю справа цифру
        push    dx       ;Запоминаем
        inc     cx
        or      ax,ax    ;Если получили не все цифры, продолжаем
        jnz     cont
    ;Итак, сохранились все цифры, справа налево.
    ;Сохраняли в стэке => цифры будут извлекаться слева направо, что и требуется при выводе
        mov     ah,02h   ;Функция вывода символа
 next:  pop     dx       ;Восстанавливаем цифру
        add     dl,30h   ;Переводим её в символ
        int     21h      ;Выводим
        loop    next
        pop     bx
        pop     dx
        pop     cx
        pop     ax
        ret
outp endp

PM MAIL   Вверх
  
Ответ в темуСоздание новой темы Создание опроса
Правила форума "Asm для начинающих"
MAKCim
  • Проставьте несколько ключевых слов темы, чтобы её можно было легче найти.
  • Не забывайте пользоваться кнопкой КОД.
  • Телепатов на форуме нет! Задавайте чёткий, конкретный и полный вопрос. Указывайте полностью ошибки компилятора и компоновщика.
  • Новое сообщение должно иметь прямое отношение к разделу форума. Флуд, флейм, оффтопик запрещены.
  • Категорически запрещается обсуждение вареза, "кряков", взлома программ и т.д.

Если Вам понравилась атмосфера форума, заходите к нам чаще! С уважением, MAKCim.

 
 
0 Пользователей читают эту тему (0 Гостей и 0 Скрытых Пользователей)
0 Пользователей:
« Предыдущая тема | Asm для начинающих | Следующая тема »


 




[ Время генерации скрипта: 0.0747 ]   [ Использовано запросов: 22 ]   [ GZIP включён ]


Реклама на сайте     Информационное спонсорство

 
По вопросам размещения рекламы пишите на vladimir(sobaka)vingrad.ru
Отказ от ответственности     Powered by Invision Power Board(R) 1.3 © 2003  IPS, Inc.