Справочник функций

Ваш аккаунт

Войти через: 
Забыли пароль?
Регистрация
Информацию о новых материалах можно получать и без регистрации:

Почтовая рассылка

Подписчиков: -1
Последний выпуск: 19.06.2015

Ввод-вывод 21 прерывания в АСМ

518
02 октября 2004 года
Andreika
101 / / 14.02.2003
Народ, подскажите как делается вывод текста и чисел. Вернее, текста я знаю. Как вывести например целое двухбайтовое число? ф-я 02h выводит только один байт, вернее однозначное число, как я понял... А вот как вывести, например, число 0A9Ch? какой номер функции, какие регистры используются и т.д.

Заранее спасибо
8.3K
02 октября 2004 года
aegnor
9 / / 27.09.2004
ne podskajesh kak tekst vivesti na ekran, a potom polnos'tyu vso 4to est' na ekrane poslat' na 378h port?
8.6K
03 октября 2004 года
skif
3 / / 01.10.2004
Цитата:
Originally posted by Andreika
Народ, подскажите как делается вывод текста и чисел. Вернее, текста я знаю. Как вывести например целое двухбайтовое число? ф-я 02h выводит только один байт, вернее однозначное число, как я понял... А вот как вывести, например, число 0A9Ch? какой номер функции, какие регистры используются и т.д.

Заранее спасибо


//==========================
Этой же функцией в цикле можешь вывести по байтам ,и если число более чем однобайтное нужно преобразование типа в байтовый(Оператор PTR). Что-типа:
cislo dw 0A9Ch
;=============
cicl: mov bx,(byte PTR cislo)+i
;i-длина числа в байтах
;тут выводишь bx своей функцией (но если она выводит в ASCII, то нужно будет тебе преобразовывать в этот формат. )
LOOP cicl
Более красивой функции не вспомню - у меня АСМ был в прошлом семестре :)

518
04 октября 2004 года
Andreika
101 / / 14.02.2003
Цитата:
Originally posted by skif

//==========================
Этой же функцией в цикле можешь вывести по байтам ,и если число более чем однобайтное нужно преобразование типа в байтовый(Оператор PTR). Что-типа:
cislo dw 0A9Ch
;=============
cicl: mov bx,(byte PTR cislo)+i
;i-длина числа в байтах
;тут выводишь bx своей функцией (но если она выводит в ASCII, то нужно будет тебе преобразовывать в этот формат. )
LOOP cicl
Более красивой функции не вспомню - у меня АСМ был в прошлом семестре :)



Нет, это не то. ф-я 02р выводит символ на экран, в зависимости от кода, т.е. если попытаться её вывести число FF, например, она выведет "я". А вот как числа выводить, чисто числа?

511
06 октября 2004 года
AntonI/O
29 / / 20.08.2000
Цитата:
Originally posted by Andreika


Нет, это не то. ф-я 02р выводит символ на экран, в зависимости от кода, т.е. если попытаться её вывести число FF, например, она выведет "я". А вот как числа выводить, чисто числа?


Как мне помнится, нет такой фу-ции которая преобразовывает число в ASCII и выводит его.
Это надо писать свою процедуру преобразования.
По моему она есть у Зубкова в книге.

5.1K
09 октября 2004 года
DEHUNTER
17 / / 12.03.2004
Для начала нужно преобразовать в АСКИ формат а потом выводить. Преобразование производится так-
есть число(128 для примера)
Делим его на 10, прибавляем к остатку 30H и суём в
SI байт масива. Далее Dec SI. Повторяем процедуру.
Ну вобшем гдето так -
Код:
;----- itoa
    Xor DX, DX
    Mov DL, Max_Chars
    Mov SI, 1
itoa_1 :
    Mov AX, DX
    Mov BH, 10
    Div BH
    Add AH, 30H
    Mov CurLevelA[SI], AH
    Dec SI
    Mov DL, AL
    Cmp AL, 1
    JNB itoa_1

Где Max_Chars - число которое нужно перевести, а CurLevelA - это масив для числа.
Далее вывод делается довольно просто.
Реклама на сайте | Обмен ссылками | Ссылки | Экспорт (RSS) | Контакты
Добавить статью | Добавить исходник | Добавить хостинг-провайдера | Добавить сайт в каталог