Рассылка закрыта
При закрытии подписчики были переданы в рассылку "RFpro.ru: Ассемблер? Это просто! Учимся программировать" на которую и рекомендуем вам подписаться.
Вы можете найти рассылки сходной тематики в Каталоге рассылок.
RusFAQ.ru: программирование на языке Assembler
Информационный Канал Subscribe.Ru |
RusFAQ.ru: программирование на языке Assembler
Выпуск № 738
от 07.06.2004, 13:00
Администратор: Имя: Калашников О.А. URL: Информационный ресурс ICQ: 68951340 Россия, Москва |
О рассылке: Задано вопросов: 5426 Отправлено ответов: 14890 Активность: 274.4 %
|
Список экспертов, ответы которых опубликованы в данном выпуске |
Стас Статус: Опытный Общий рейтинг: 128.96 [Подробней >>] |
Dragoon Статус: Доверительный Общий рейтинг: 108.3 [Подробней >>] |
Snowm@n Статус: Опытный Общий рейтинг: 111.72 [Подробней >>] |
_vt Статус: Профессиональный Общий рейтинг: 118.71 [Подробней >>] |
Евгений Иванов Статус: Профессиональный Общий рейтинг: 134.44 URL: Super Assembler Software Телефон: НСС +7 831 3107039 [Подробней >>] |
Ayl Статус: Профессиональный Общий рейтинг: 116.6 [Подробней >>] |
VOVAN Статус: Опытный Общий рейтинг: 105.52 [Подробней >>] |
Краткий перечень вопросов |
Вопрос № 5384. Здравствуйте, уважаемые эксперты! Огромное спасибо Вам за оказанную мне помощь дельными советами. Ни... (ответов: 1)
Вопрос № 5386. Здаров. Где можно скачать описание структуры файлов .jpg или .gif или .bmp или .png?... (ответов: 2)
Вопрос № 5388. Здраствуйте. 1)Хочу узнать ваш TOP X книгтуториаловрассылок... которые вы бы порекомендовали для изу... (ответов: 2)
Вопрос № 5390. Привет У меня пробела при компиляций DLL в MASM6: Из одной статьи взял код: ------------------------... (ответов: 3)
Вопрос № 5392. Как посчитать сумму главной диагонали матрицы порядка n на n... (ответов: 2)
Вопрос № 5393. Доброе время суток! К вопросу про динамическую память. Один эксперт(забыл кто, наверное Евгений Иван... (ответов: 1)
Вопрос № 5394. Здравствуйте уважаемые эксперты… С какого адреса, и до какого расположена экранная область в MS-DOS?... (ответов: 6)
Вопрос № 5395. Здравствуйте. Где я могу скачать TASM32.exe и TLINK32.exe?... (ответов: 2)
Вопрос № 5396. Здравствуйте,я программирую под DOS.У меня в программе есть цикл loop с задержкой и мне нужно чтобы ... (ответов: 5)
Вопрос № 5397. Как в защищённом режиме установить видеорежим 640x480x256 ?... (ответов: 1)
Вопросов: 10, ответов: 25
Вопрос № 5384 |
Здравствуйте, уважаемые эксперты!
Огромное спасибо Вам за оказанную мне помощь дельными советами. Никак не могу дописать программу для MicroPC (чтение данных с одного СОМ-порта, конвертирование и отправка данных на другой СОМ-порт), так как не было четкого алгоритма. Увы без алгоритма не получается, так как нет внешних устройств под рукой (счетчик газа и PLC «Yokogawa»). Но до поездки в командировку хотелось бы отладить алгоритм на месте и дописать прогу, а уж на объекте все это дело отлаживать. Поэтому я Вас «мучаю» своими вопросами, так как такого рода задача (СОМ-порт, протоколы) мне была поставлена впервые, да и на объекте я буду один, без интернета, телефона.
Уважаемые эксперты! Помогите, пожалуйста, проверьте алгоритм в приложении. Укажите мне на неточности, недоработки. Выскажите свои замечания или предложения.
Заранее благодарю всех откликнувшихся! Да продлит Аллах ваши дни!
Приложение:
Вопрос отправлен: 02.06.2004, 01:01
Отправитель: Эдуард (hied345@mail.ru)
[Следующий вопрос >>] [Список вопросов]
Отвечает Стас
Приветствую Вас, Эдуард!
Обломс, а где же программа?
Вообщем я на твоем месте полностью написал бы программу,
подменил обработчики IRQ COM портов "заглушками", а по прерыванию от клавиатуры писал в буффера ввода тестовые строки (например клавиша "E" - пишу в буффер Buffer_Answer_Ek260,клавиша "P" - пишу в буффер Buffer_Answer_Ek260) ставлю флаг приема. Смотрю как работает программа. Вывод можно отправлять на принтер (вместо COM порта).
А так по алгоритму мне судить сложно, вроде нормально, где-то разрешение прерываний я бы перенес на попойзже, где то изменил бы последовательность т.е. сначала проверяю нужность отсылки данных, а лишь затем возможность отослать.
Ну и так далее. Вообщем я бы посмотрел на программу.
Можно отдельно отлаживать COM порты, т.е. твоя программа висит на одном порту, а сцециальная тестовая (терминал) на другом, порты соединить между собой кабелем. Так можно анализировать что послал, что получил.
Ответ отправлен: 02.06.2004, 15:54
Отправитель: Стас
Вопрос № 5386 |
Здаров.
Где можно скачать описание структуры файлов .jpg или .gif или .bmp или .png?
Вопрос отправлен: 02.06.2004, 12:17
Отправитель: Петя
[Следующий вопрос >>] [Список вопросов]
Отвечает Dragoon
Добрый день, Петя!
На www.wotsit.org есть куча описаний форматов файлов. На некоторые даже по 10-ку видов! Правда по-аглицки...
Ответ отправлен: 03.06.2004, 21:20
Отправитель: Dragoon
Отвечает Snowm@n
Добрый день, Петя!
А поисковые системы на что?
Ответ отправлен: 02.06.2004, 20:32
Отправитель: Snowm@n
Вопрос № 5388 |
Здраствуйте.
1)Хочу узнать ваш TOP X книгтуториаловрассылок... которые вы бы порекомендовали для изучения асма(отдельно для ДОС и Win)
2)И также хотелось бы узнать ваш TOP X сайтов(необязательно связанные с ассемблером). - хотелось бы Избранное пополнить хорошими сайтами.
З.Ы. где X - это число... (чем больше тем лучше)
Вопрос отправлен: 02.06.2004, 13:59
Отправитель: Alkaida
[Следующий вопрос >>] [Список вопросов]
Отвечает _vt
Добрый день, Alkaida!
1) Начни с DOS, потом Windows, потом что угодно :-)
Калашников - "Ассемблер? Это просто!", Зубков - "Ассемблер для DOS,Windows,Unix", туториалы Iczelion-а - самое главное! Дальше - проще: читай потом литературу по интересующим тебя вопросам. Для DOS также необходим Ralf Brown Interrupt List, для Windows - MS Platform SDK.
2) wasm.ru, rusfaq.ru ;-)
* Origin : Life begins at 1000Mhz!
Ответ отправлен: 04.06.2004, 19:54
Отправитель: _vt
Отвечает Евгений Иванов
http://www.livejournal.com/community/_assembler/
* EMan: -=- Любовь существует! =-=
Ответ отправлен: 03.06.2004, 00:05
Отправитель: Евгений Иванов
Вопрос № 5390 |
Привет
У меня пробела при компиляций DLL в MASM6:
Из одной статьи взял код:
----------------------------------dll.asm------------------------------------------------
.386
.model flat,stdcall
option casemap:none
include masm32includewindows.inc
include masm32includeuser32.inc
include masm32includekernel32.inc
includelib masm32libuser32.lib
includelib masm32libkernel32.lib
.data
.code
DllEntry proc hInstDLL:HINSTANCE, reason:DWORD, reserved1:DWORD
mov eax,TRUE
ret
Dll*ntry Endp
;----------------------------------------------------------------------------
; Это функция-пустышка - она ничего не делает. Я поместил ее сюда, чтобы
; показать, как вставляют функции в DLL.
;----------------------------------------------------------------------------
TestFunction proc
mov eax,0
ret
TestFunction endp
End DllEntry
----------------------------------end-dll.asm------------------------------------------------
и .def файл dll.def:
----------------------------------dll.def-------------------------------------------------------
LIBRARY dll
EXPORTS TestFunction
----------------------------------end-dll.def-------------------------------------------------
Ну и на конец компилирую:
ml.exe /c /coff /Cp dll.asm
link.exe DLL /SUBSYSTEM:WINDOWS /DEF:DLL dll.def /LIBPATH:c:masm32lib dll.obj
ml: Assembling dll.asm
link: dll.def fatal error LNK1136: invalid or corrupt file 'link выдает ошибку на неправильный def-файл dll.def
Где ошибка?
Вопрос отправлен: 02.06.2004, 15:02
Отправитель: bred (bcc@xaker.ru)
[Следующий вопрос >>] [Список вопросов]
Отвечает Евгений Иванов
Здравствуйте, bred!
NAME Ini.dll
DESCRIPTION 'Работа с INI-файлами'
HEAPSIZE 65536
STACKSIZE 0
* EMan: -=- Любовь существует! =-=
Ответ отправлен: 03.06.2004, 12:04
Отправитель: Евгений Иванов
Отвечает Dragoon
Добрый день, bred!
Статьи Iczelion'a это конечно хорошо, но проверь dll.asm
на ошибки - там неправильно процедура DllEntry оканчивается
Ответ отправлен: 02.06.2004, 20:09
Отправитель: Dragoon
Отвечает Стас
Приветствую Вас, bred!
link.exe /DLL /SUBSYSTEM:WINDOWS /DEF:dll.def /LIBPATH:c:masm32lib dll.obj
А так попробуй компилировать.
Ответ отправлен: 02.06.2004, 21:59
Отправитель: Стас
Вопрос № 5392 |
Как посчитать сумму главной диагонали
матрицы порядка n на n
Вопрос отправлен: 02.06.2004, 18:37
Отправитель: Роман
[Следующий вопрос >>] [Список вопросов]
Отвечает Ayl
Здравствуйте, Роман!
А в чем проблема-то?
s = SUMM (i=1, n)(a[i, i])
Формулируйте вопрос нормально. Что именно непонятно? Что такое сумма? Или что такое главная диагональ? Или как это организовать на асме? Или вообще что такое асм?
Ответ отправлен: 03.06.2004, 12:10
Отправитель: Ayl
Отвечает Snowm@n
Доброе время суток, Роман!
s:=0;
for i:=1 to n do s:=s+a[i,i];
и все :)
Ответ отправлен: 02.06.2004, 20:42
Отправитель: Snowm@n
Вопрос № 5393 |
Доброе время суток!
К вопросу про динамическую память.
Один эксперт(забыл кто, наверное Евгений Иванов) дал следуйщий код:
Call GlobalAlloc, GPTR, 4
or eax,eax
jz err
xchg esi,eax
;... working with memory
Call GlobalReAlloc, esi, 200, GMEM_MOVEABLE
or eax,eax
jz err
xchg esi,eax
;... working with memory
Только как им пользоваться не понимаю. Объясните что и как.
Вопрос отправлен: 02.06.2004, 19:11
Отправитель: voxel
[Следующий вопрос >>] [Список вопросов]
Отвечает Евгений Иванов
Добрый день, voxel!
Им пользоваться не надо. ;)
А надо писать свой алгоритм.
Ты чего делаешь?
* EMan: -=- Любовь существует! =-=
Ответ отправлен: 03.06.2004, 12:17
Отправитель: Евгений Иванов
Вопрос № 5394 |
Здравствуйте уважаемые эксперты…
С какого адреса, и до какого расположена экранная область в MS-DOS?
Заранее благодарен…
Вопрос отправлен: 02.06.2004, 20:11
Отправитель: SEREGAA (seregaa@mail.nnov.ru)
[Следующий вопрос >>] [Список вопросов]
Отвечает Евгений Иванов
Здравствуйте, SEREGAA!
0A000h - 0C000h
* EMan: -=- Любовь существует! =-=
Ответ отправлен: 03.06.2004, 12:17
Отправитель: Евгений Иванов
Отвечает Ayl
Здравствуйте, SEREGAA!
В каком режиме? Для какого адаптера?
Все текстовые и графические для CGA начинаются с адреса b800:0000. Граница зависит от используемого режима.
Например, в текстовом 40*25 страница занимает 2000 байт, в текстовом 80*25 - 4000 байт. Для текстовых режимов отводится 16К видеопамяти, т.е. для режима 40*25 можно сформировать 8 экранных страниц, а для 80*25 - 4.
Графический экран для CGA занимает ровно 16К памяти, т.ч. доступна 1 страница и в 4-хцветном, и в 2-хцветном.
Монохромный текстовый режим для HGA начинается с адреса b000:0000.
Графические режимы EGA, VGA и SVGA начинаются с адреса a000:0000. Размер памяти сильно зависит от конкретного режима.
Ответ отправлен: 03.06.2004, 12:23
Отправитель: Ayl
Отвечает _vt
Приветствую Вас, SEREGAA!
В разных режимах - по разному.
* Origin : Life begins at 1000Mhz!
Ответ отправлен: 04.06.2004, 19:54
Отправитель: _vt
Отвечает Dragoon
Приветствую Вас, SEREGAA!
Видеопамять в ТР начинается с 0B800h. Всего восемь
страниц. Каждая весит 4000 байт. Простыми вычислениями
можно получит адрес любой страницы
Ответ отправлен: 03.06.2004, 21:11
Отправитель: Dragoon
Отвечает VOVAN
Здравствуйте, SEREGAA!
Если ты про видеопамять то с 0b800h:0000h - первая видеостраница. 0b900h:0000h - вторая видеостраница...
0bf00h:0000h - седьмая.
Ответ отправлен: 02.06.2004, 20:59
Отправитель: VOVAN
Отвечает Snowm@n
Здравствуйте, SEREGAA!
$B800:$0000 кажется ...
Ответ отправлен: 02.06.2004, 21:34
Отправитель: Snowm@n
Вопрос № 5395 |
Здравствуйте.
Где я могу скачать TASM32.exe и TLINK32.exe?
Вопрос отправлен: 02.06.2004, 20:35
Отправитель: 0010
[Следующий вопрос >>] [Список вопросов]
Отвечает _vt
Доброе время суток, 0010!
Под Windows лучше использовать MASM или FASM, которые кроме всего прочего являются бесплатными продуктами. Лучше всего скачать пакет MASM32 или Negatory Assembler Studio, в комплекте которых есть помимо компайлера и линкера другие нужные утилиты, как то: компилятор ресурсов, отладчик, IDE и пр. В комплекте MASM32 есть огромное количество примеров кода. Любой ассемблер можно найти за минуту, используя поисковик... Пакет MASM 6.11 лежит на kalashnikoff.ru.
* Origin : Life begins at 1000Mhz!
Ответ отправлен: 04.06.2004, 21:18
Отправитель: _vt
Отвечает Snowm@n
Добрый день, 0010!
Используй http://www.filesearch.ru и ищи там tasm.* и tlink.*
Ответ отправлен: 02.06.2004, 21:36
Отправитель: Snowm@n
Вопрос № 5396 |
Здравствуйте,я программирую под DOS.У меня в программе есть цикл loop с задержкой и мне нужно чтобы во время этого цикла
прога ожидала нажатия клавиши и при нажатии выполняла определенные действия, а цикл продолжал выполняца(я игруху текстовую пишу :) ).
Вопрос отправлен: 03.06.2004, 10:53
Отправитель: madnix
[Следующий вопрос >>] [Список вопросов]
Отвечает Евгений Иванов
Добрый день, madnix!
sub ah,ah
inc ah
int 22
jz keypressed
* EMan: -=- Любовь существует! =-=
Ответ отправлен: 03.06.2004, 12:18
Отправитель: Евгений Иванов
Отвечает Стас
Добрый день, madnix!
loop:
mov ah,1
int 16h
jz key_pressed
...bla bla bla делаем что хочим :)
jmp loop
key_pressed:
xor ah,ah
int 16h
...смотрим что за клавиша
Ответ отправлен: 03.06.2004, 11:50
Отправитель: Стас
Отвечает VOVAN
Приветствую Вас, madnix!
Ты хочешь организовать многозадачность, если так можно выразиться, но под ДОСом нельзя сделать так, чтоб в одно время выполнялось несколько процессов, да и под Виндой, наверное, тоже. Хотя, если подумать HT...
Ответ отправлен: 03.06.2004, 11:15
Отправитель: VOVAN
Отвечает _vt
Доброе время суток, madnix!
Перехватывай прерывание таймера - и вперед! :)
* Origin : Life begins at 1000Mhz!
Ответ отправлен: 04.06.2004, 21:18
Отправитель: _vt
Отвечает Dragoon
Доброе время суток, madnix!
Давай исходник, а задержка на клавишу пишется так
xor ax,ax
int 16h
функция 0 прерывания 16h - проверка буфера клавы и
помещение в al аски код клавиши. Если же буфер пуст, то прерывание ждет нажатия клавиши и опять же помещает ее в al
Ответ отправлен: 03.06.2004, 21:09
Отправитель: Dragoon
Вопрос № 5397 |
Как в защищённом режиме установить видеорежим 640x480x256 ?
Вопрос отправлен: 03.06.2004, 12:58
Отправитель: Ru
[Следующий вопрос >>] [Список вопросов]
Отвечает Стас
Здравствуйте, Ru!
DOS?
Проблема в вызове прерывания из защищенного режима?
Делается это через так называемые шлюзы:
ищи описание mov ax,300h; int 31h.
Ответ отправлен: 04.06.2004, 22:44
Отправитель: Стас
Форма отправки вопроса |
Мы рекомендуем открывать рассылку в программе Internet Explorer 5.0+ или отправлять вопросы с сайта по адресу: http://rusfaq.ru/cgi-bin/Message.cgi.
(C) 2002-2003 Команда RusFAQ.ru.
Вопрос и дополнение |
Ваш вопрос:
Приложение (если необходимо):
Получить ответов:
Выбор рассылки |
Программисту Assembler (22) C / C++ (14) Builder / Delphi (15) Pascal (20) Basic / VBA (4) Java / JavaScript (5) PHP (13) Криптография (8) WinAPI (10) Радиоэлектроника (9) |
Пользователю Windows 95/98/Me (36) Windows NT/2000/XP (53) "Железо" (32) Поиск информации (17) |
Администратору Windows NT/2000/XP (24) Linux / Unix (9) |
Юристу Гражданское право (12) Семейное право (9) Трудовое право (12) КоАП (8) |
Отправить вопрос всем экспертам выбранной рассылки.
Проект экспертов RusFAQ.ru | Фотоальбом | Virus.RusFAQ.ru | Администрирование
Профессиональная WEB-Студия B.I.T.
http://subscribe.ru/
E-mail: ask@subscribe.ru |
Отписаться
Убрать рекламу |
В избранное | ||