Помогите!!! Очень нужно!!!

Низкоуровневое программирование портов, микроконтроллеров и т.д.

Модератор: Andy

AntiMoD
Сообщения: 4
Зарегистрирован: 15 окт 2007, 15:19
Контактная информация:

Не буду плодить новые темы, задам свой (наверное глупый :) ) вопрос тут.

Надо написать подпрограмму для вывода на экран содержимого регистра BX но! без использования прерываний (BIOS и DOS).

Сижу, читаю Kalashnikoff... темный лес и везде пресутствуют прерывания, мозг кипит, надеюсь на вашу помощь.
Аватара пользователя
somewhere
Сообщения: 1858
Зарегистрирован: 31 авг 2006, 17:14
Откуда: 71 RUS
Контактная информация:

Для вывода символов используй прямой доступ к текстовой памяти заместо прерываний. Вот и все, остальное математика и здесь есть.
It's a long way to the top if you wanna rock'n'roll
AntiMoD
Сообщения: 4
Зарегистрирован: 15 окт 2007, 15:19
Контактная информация:

somewhere писал(а):Для вывода символов используй прямой доступ к текстовой памяти заместо прерываний. Вот и все, остальное математика и здесь есть.
Можно по подробнее ? Ничего похожего не нахожу в литературе, а время утекает :(
Аватара пользователя
somewhere
Сообщения: 1858
Зарегистрирован: 31 авг 2006, 17:14
Откуда: 71 RUS
Контактная информация:

В текстовом режиме, то, что видно на экране находится в видеопамяти по абсолютному адресу 0B8000h (режим реальной адрессации). Т.е. по сегменту/смещению 0B800h:0000h. Каждое слово в этой памяти представляет собой символ с аттрибутами. Т.е. если мы хотим вывести символ в 5 строку, 7 столбец то надо писать по адресу: 0B800h: (80*5 + 7)*2
It's a long way to the top if you wanna rock'n'roll
AntiMoD
Сообщения: 4
Зарегистрирован: 15 окт 2007, 15:19
Контактная информация:

Честно, мало что понял, видимо не дано мне такие вещи делать :)
somewhere, Огромное спасибо за помощь!
mariva
Сообщения: 2
Зарегистрирован: 21 дек 2009, 13:41

Очень прошу, помогите мне! У меня похожие задачи.
1.Составить программу вычитания двух чисел с тройной точностью, результат поместить на место вычитаемого.
Указания: Приводится программа , написанная на языке Ассемблер для МП КР580, приводится программа в машинных кодах. Область используемой памяти начинается с адреса 0800h.
2. Составить программу, пересылающую все положительные числа, делящиеся на 4 из области с адресами с ADDR1 по ADDR2 включительно в область с начальным адресом ADDR3. Программу составить на языке ASM80.
mariva
Сообщения: 2
Зарегистрирован: 21 дек 2009, 13:41

Помогите мне кто - нибудь! Пожалуйста!!!
Ответить