Отправляет email-рассылки с помощью сервиса Sendsay
  Все выпуски  

RusFAQ.ru: программирование на языке Assembler


Информационный Канал Subscribe.Ru

RusFAQ.ru: программирование на языке Assembler

Выпуск № 706
от 14.03.2004, 18:20

Администратор:
Имя: Калашников О.А.
URL: Информационный ресурс
ICQ: 68951340
Россия, Москва
О рассылке:
Задано вопросов: 5088
Отправлено ответов: 14035
Активность: 275.8 %
[Задать вопрос >>][Регистрация эксперта >>]
[Поиск в базе][Обсудить на форуме]


 Список экспертов, ответы которых опубликованы в данном выпуске

Pawel
Статус: Профессиональный
Общий рейтинг: 163.49
[Подробней >>]
_vt
Статус: Профессиональный
Общий рейтинг: 117.63
[Подробней >>]
Foamplast
Статус: Опытный
Общий рейтинг: 158.6
URL: мой личный сайт
[Подробней >>]
 
vitya
Статус: Профессиональный
Общий рейтинг: 108.78
[Подробней >>]
Bob Johnson
Статус: Профессиональный
Общий рейтинг: 143.15
URL: Программирование
[Подробней >>]
St
Статус: Профессиональный
Общий рейтинг: 105.32
[Подробней >>]
 
Ayl
Статус: Профессиональный
Общий рейтинг: 116.54
[Подробней >>]


 Краткий перечень вопросов

Вопрос № 5060. Не могли бы Вы помочь мне разобраться с одной проблемой... Я попробовал написать загрузчик, который ... (ответов: 3)
Вопрос № 5061. Здраствуйте. А в каком заголовочно файле описана функция ShellExecute?... (ответов: 3)
Вопрос № 5062. Увыжаемые эксперты! Мне необходимо в OS DOS показать BMP картинку. С заголовком этого формата я разо... (ответов: 1)
Вопрос № 5063. Кто-нибудь программировал Atmel серии OVR, если да, то скиньте на мыло все что есть интересного, ди ... (ответов: 1)
Вопрос № 5064. Здравствуйте ! Нужна помощь по работе с COM портом. Два компьютера передают друг-другу какие-то данн... (ответов: 2)
Вопрос № 5065. Уважаемые эксперты, на мой вопрос №5035 так никто и не ответил: пожалуйста ответьте как можно послат... (ответов: 1)
Вопрос № 5066. Здраствуйте дорогие асмы! Хочу задать Вам несколько вопросов: 0. Где можно скачать книгу Зубкова? (т... (ответов: 4)
Вопрос № 5067. Здрасьте...Как я помню, в Windows строки имеют конец .То есть возврат каретки и конец строки соотв... (ответов: 2)
Вопрос № 5068. Привет эскперты, не могли вы показать самый простой код для работы с элементом диалога Edit (or Rich... (ответов: 1)
Вопрос № 5069. Как работать на ассемблере под XP, как правильно настроить DOS, в общем он (assembler) ругается на ... (ответов: 3)
Вопрос № 5070. У меня есть альфа версия IDE под названием Assembler Environment, написанная Игорем Гусевым 15.07.19... (ответов: 1)
Вопрос № 5071. Здраствуйте! Подскажите пожалуйста, где можно скачать руководство пользователя по Tasm 5 или же сойд... (ответов: 1)
Вопрос № 5073. Доброго времени суток. Мне дано задание написать класс D-триггер(mod2-не, 6 входов, 12 разряд.) в С+... (ответов: 3)

Вопросов: 13, ответов: 26


 Вопрос № 5060

Не могли бы Вы помочь мне разобраться с одной проблемой...
Я попробовал написать загрузчик, который переводит процессор
в защищенный режим.
Я пытался проверить его на вирт.маш. bochs но он вылетает, как только я
прыгаю на новый участок кода после переключения в PM.

--------------------------------------------------------------
Инструментарий:
gas, ld, bochs

--------------------------------------------------------------
Последовательность сборки:
file: Makefile
boot.img: boot.o
$(LD) -Ttext 0x0 -s --oformat binary -o $@ $^
boot.o: boot.s
$(AS) --traditional-format -ashl=$@.lst -o $@ $<
--------------------------------------------------------------
Ниже приведен код загрузчика:
file: boot.S
.code16
.text
.global _start
_start:
jmp$0x07C0,$_begin
_begin:
cli
movw%cs,%ax
movw%ax,%ds
movw%ax,%ss
movw$_start,%sp

#Вычисляем адрес для перехода к коду32
xorl%eax,%eax
movw%ds,%ax
shll$4,%eax
add$_protected,%eax
movl%eax,(go)
#Определяем линейный адрес gdt
xorl%eax,%eax
movw%ds,%ax
shll$4,%eax
add$gdt,%eax
movl%eax,(gdt_addr+2)

lgdt gd_reg

#A20
inb$0x92,%al
orb$2,%al
outb%al,$0x92

#Переключаемся в PM
movl%cr0,%eax
orb$0x01,%al
movl%eax,%cr0

#Прыгаем на начало code32
.byte 0x66, 0xea
go:.long0
.word0x08

gdt:
.byte 0, 0, 0, 0

.byte 0xFF
.byte 0xFF
.byte 0x00
.byte 0x00
.byte 0x00
.byte 0x9A
.byte 0xCF
.byte 0x00

.byte 0xFF
.byte 0xFF
.byte 0x00
.byte 0x00
.byte 0x00
.byte 0x92
.byte 0xCF
.byte 0x00

gd_reg:
.word 8192
.long 0

.code32
_protected:
movw$0x10,%ax
movw%ax,%ds
movw%ax,%ss
#Выводим символ в верхний левый угол
movb$0x33,%al
movb%al,0xB8000
end:
hlt
jmp end

.org 510
boot_flag:.word 0xAA55



Вопрос отправлен: 08.03.2004, 16:06
Отправитель: maxim

[Следующий вопрос >>] [Список вопросов]

Отвечает Pawel

Приветствую Вас, maxim!
А тестировать на компе, без вирт.машины прорбовал?


Ответ отправлен: 09.03.2004, 12:39
Отправитель: Pawel


Отвечает _vt

Добрый день, maxim!
Запускай bochsdbg.exe вместо bochs.exe и смотри, куда у тебя передается управление. Возможности отладки в bochs замечательные!
--- E-Man 1.5+ : RTFM, RTFM и RTFM (В. И. Ленин)


Ответ отправлен: 11.03.2004, 01:07
Отправитель: _vt


Отвечает Foamplast

Здравствуйте, maxim!
"Я пытался проверить его на вирт.маш." - проверь на реальной.


Ответ отправлен: 12.03.2004, 19:05
Отправитель: Foamplast


 Вопрос № 5061

Здраствуйте.
А в каком заголовочно файле описана функция ShellExecute?



Вопрос отправлен: 08.03.2004, 20:05
Отправитель: Семен

[Следующий вопрос >>] [Список вопросов]

Отвечает vitya

Добрый день, Семен!
Shellapi.h/Shell32.lib

Ответ отправлен: 09.03.2004, 08:46
Отправитель: vitya


Отвечает Pawel

Добрый день, Семен!
Это вообшето зависет от компилятора или оболочки, которой ты пользуешься. У меня это SHELL32.INC(SHELL32.lib)

Ответ отправлен: 09.03.2004, 12:41
Отправитель: Pawel


Отвечает Foamplast

Приветствую Вас, Семен!
1. ShellAPI.h
2. Скачай Platform SDK, поставь и ищи в следующий раз в каталоге include.


Ответ отправлен: 12.03.2004, 19:05
Отправитель: Foamplast


 Вопрос № 5062

Увыжаемые эксперты!
Мне необходимо в OS DOS показать BMP картинку.
С заголовком этого формата я разобрался,
непонимаю только одного:
Как можно изменить палитру VGA чтобы изображение отображалось
коректно.
Я зделал так:
mov ax,1012h ;установка регистров управления цветом
mov ax,data
mov es,ax
lea dx,color ;es:dx указавают на палитру BMP
mov bx,0
mov cx,256
int 10h
es:ds я не пеобразовал из формата BMP в формат VGA.
Подскажите пожалуйста как это можно зделать.
Если у ВАС есть какие нибудь исходники(желательно на ассемблере)
читающие и пишищие этот формат прошу тоже прислать.
Зарание благодарен. Спасибо.



Вопрос отправлен: 08.03.2004, 22:03
Отправитель: marat

[Следующий вопрос >>] [Список вопросов]

Отвечает Foamplast

Доброе время суток, marat!
Есть "исходники наоборот", то есть с экрана в BMP. Надеюсь, помогут.
Пиши на foamplast@hexx.ru, в рассылку не влезают по объёму.


Ответ отправлен: 12.03.2004, 19:06
Отправитель: Foamplast


 Вопрос № 5063

Кто-нибудь программировал Atmel серии OVR, если да, то скиньте на мыло все что есть интересного, ди и просто поделитесь опытом, проблема стоит в выборе контроллера.



Вопрос отправлен: 08.03.2004, 22:10
Отправитель: Liss (slipatov@yandex.ru)

[Следующий вопрос >>] [Список вопросов]

Отвечает Foamplast

Доброе время суток, Liss!
Есть мануалы. Эти контроллеры используются в геофизических приборах.
Пиши foamplast@hexx.ru


Ответ отправлен: 12.03.2004, 19:07
Отправитель: Foamplast


 Вопрос № 5064

Здравствуйте !
Нужна помощь по работе с COM портом.
Два компьютера передают друг-другу
какие-то данные, используя модемы.
Нужно каким-то образом подключить 3-й
компьютер к телефонному проводу для
анализиза передаваемой информации или
ее правки. (без разрыва соединения)
Нужен ли 3-му компьютеру модем или какое
нибудь другое устройство, или можно вообще
напрямую подключить к COM порту ?
Если нужен модем - получается нужно тогда
и эти клипсы лепить на концы ?!
(a)
____ / ____
| ПК |==========-=======| ПК |
|____|==========-=======|____|

(b)
Снимаем изоляцию и отводим два провода для 3-го
компьютера, куда теперь нужно подключать эти
провода a и b ? В COM порт ? И как потом считать ?
Спасибо !



Вопрос отправлен: 09.03.2004, 00:57
Отправитель: Serega

[Следующий вопрос >>] [Список вопросов]

Отвечает Pawel

Добрый день, Serega!
Оба варианта возможны. Всё зависет от програмных решений. И протоколов передачи ланных.
а)используем на одном из компов, он будет играть роль сервера, другой разъём(модем, LPT, com, USB)
Тогда на этот компишем специальную прогу передачи данных межбу портами.
b)Такое подключение возможно и будет достаточно эффективным, только снизет скорость передачи данных. Потребует подключения клем a и b к com порту 3-го компа. Прграмма должна цитать данные из порта, обрабатывать их, и писать в порт. Но нужно учесть временной лимит: если через N времени бпосылаемый байт не вернётся на 1-й комп соединение будет считаться разорванным.

Ответ отправлен: 09.03.2004, 14:30
Отправитель: Pawel


Отвечает Foamplast

Добрый день, Serega!
1. В зависимости от микросхем, применяемых в конкретном модеме, этому модему может сильно не понравиться твоё предложение номер два.
2. Предлагаю чисто програмистское решение:
Написать программу, висящую на одном из компов и передающую весь трафик СОМ-порта №1 в СОМ-порт №2. А 3-й компьютер подключать к СОМ-порту №2.
И вообще, это твои компы или ты шпионить хочешь?


Ответ отправлен: 12.03.2004, 19:07
Отправитель: Foamplast


 Вопрос № 5065

Уважаемые эксперты, на мой вопрос №5035 так никто и не ответил: пожалуйста ответьте как можно послать broadcast или multicast ping echo запрос из моей программы, какой адрес я должен указать. Мой IP в локальной сети 192.168.101.132 маска сети 255.255.255.0. Я не меняю MAC-адрес, я меняю IP адрес отправителя - это возможно если операционная система > win 2000. Или может я не указал еще какой-то опции в моем сокете?


Приложение:


Вопрос отправлен: 09.03.2004, 06:44
Отправитель: Marilyn Manson (merilyn@utmn.ru)

[Следующий вопрос >>] [Список вопросов]

Отвечает Foamplast

Приветствую Вас, Marilyn Manson!
"на мой вопрос так никто и не ответил" - ты не заметил, что пишешь в рассылку по ассемблеру?
Может здесь люди в асме понимают больше, чем в сетях.


Ответ отправлен: 12.03.2004, 19:07
Отправитель: Foamplast


 Вопрос № 5066

Здраствуйте дорогие асмы!
Хочу задать Вам несколько вопросов:
0. Где можно скачать книгу Зубкова? (только дайте пожалуйста рабочую ссылку, а то почти все мёртвые...)
1. Можете ли вы мне дать исходник простенькой проги, которая скажем выводит сообщение "hello world" на экран.
Только просьба, не могли бы Вы мне дать исходник такой программы и под dos и под linux (или др. unix систему), это мне просто для сравнения...
2. Какой компилятор лучше для linux'а? Я знаю, что по умолчанию в дистрибутив входит пакет nasm...и вообще, сильно ли отличается синтаксис языка ассемблера под линь и под вынь (тфу ты, не под вынь, а под дос)?
Большое Вам спасибо, и простите за столь глупые вопросы.



Вопрос отправлен: 09.03.2004, 16:38
Отправитель: soko1 (SokolHacker@mail.ru)

[Следующий вопрос >>] [Список вопросов]

Отвечает Bob Johnson

Доброе время суток, soko1!
1. На моей странице - http://bobjohnson.nm.ru
2. Там есть (под линукс не знаю, а под дос - точно).

* EMan1.5: ---===*** The game we play ***===---


Ответ отправлен: 09.03.2004, 17:39
Отправитель: Bob Johnson


Отвечает Pawel

Приветствую Вас, soko1!
0. У тебя на мыле книга с примерами к каждой главе.
1. Смотри книгу и примеры к ней.
2. Я предпочитаю FASM 1.51 Работает и компилет под Win, Dos,Linux. По-мойму у него самый удобный синтаксис(похож на nasm). Про отличие синтаксиса читай у Зубкова
(гл 11. Программирование на ассемблере в среде UNIX)

Ответ отправлен: 09.03.2004, 17:46
Отправитель: Pawel


Отвечает _vt

Здравствуйте, soko1!
0. У Боба Джонсона.
1. Там же.
2. Какой компилятор для linux-а лучше - не знаю, т.к. не пользуюсь. А синтаксис зависит от конкретного компилятора. Существуют два основных синтаксиса - Intel и AT&T. Второй используется в большинстве линуховых компиляторов. Существуют ассемблеры (например, fasm и nasm), которые компилируют под любую систему, используя Intel-синтаксис.
--- E-Man 1.5+ : RTFM, RTFM и RTFM (В. И. Ленин)


Ответ отправлен: 11.03.2004, 01:07
Отправитель: _vt


Отвечает Foamplast

Здравствуйте, soko1!
0. Лучше всего купить в магазине. Электронные книги, что я качал, все кривые.
1. Скачай приложение к книге Зубкова с www.dmk.ru
2. "синтаксис языка ассемблера под линь и под вынь" - и под засунь :)
Лучше пиши под 80x86. Используй nasm. Его преимущества:
а) синтаксис однозначный как AT&T
б) простой как IBM
в) директивы современного уровня
г) удобные локальные метки
д) развитый препроцессор с контекстами
е) есть версии для разных ОС
В итоге ты получишь понятный и удобочитаемый текст.


Ответ отправлен: 12.03.2004, 19:07
Отправитель: Foamplast


 Вопрос № 5067

Здрасьте...Как я помню, в Windows строки имеют конец .То есть возврат каретки и конец строки соответствено.Есть файл, который содержит строки, заканчивающиеся просто Нужно отобразить его в Edit-контроле.Появляется ОДНА строка, никак не форматированная.
Вопрос:как отформатировать строку,какие функции API использовать,если такие вообще есть?
Ответы скиньте на мыло...



Вопрос отправлен: 09.03.2004, 17:18
Отправитель: Sedric (sedric@list.ru)

[Следующий вопрос >>] [Список вопросов]

Отвечает St

Привет, Sedric!
1) >Заканчивающиеся просто ... чем?
2) Строки в Windows заканчиваются байтом с кодом ноль, а в файлах (текстовых-TXT и DOS и в Windows) действительно CR и LF. Edit сам переносит строки заканчивающиеся этими символами, но для этого его стиль должен быть ES_MULTILINE, иначе текст выводится в одну строку. Форматирование ограничивается стилями ES_LEFT, ES_CENTER и ES_RIGHT.
St

Ответ отправлен: 10.03.2004, 10:22
Отправитель: St


Отвечает Foamplast

Здравствуйте, Sedric!
" ...заканчивающиеся просто"
Надо загрузить файл в память и все вхождения "просто" заменить на пару символов с кодами 13 и 10.
Это делается безо всякого API. А затем загрузить в контрол.
P.S. а если под "заканчивающиеся просто" ты имел ввиду, что строки фиксированной длины, то убери у контрола стиль WS_HSCROLL.


Ответ отправлен: 12.03.2004, 19:07
Отправитель: Foamplast


 Вопрос № 5068

Привет эскперты, не могли вы показать самый простой код для работы с элементом диалога Edit (or RichEdit) где есть полоса вертик. прокрутки. Чтобы можно было посылать сообщения в это окно и одновременно прокручивать все собщ., если они выходят за пределы окна. Короче Ноутпад как элемент диалога. (для винд 98). Спасибо.



Вопрос отправлен: 09.03.2004, 19:58
Отправитель: dxf

[Следующий вопрос >>] [Список вопросов]

Отвечает Foamplast

Здравствуйте, dxf!
"Посылать сообщения окну ... прокручивать все собщения." А как это "прокручивать сообщения", что это - новая функция?
"Посылать сообщения в окно..." А как послать сообщение в окно? (SendMessageInWindow, что ли?)
"Короче Ноутпад как элемент диалога". Никогда не слышал про такой элемент.
Напиши попроще, чего ты хочешь, и я подробно объясню. И лучше такие вопросы в рассылку по WinAPI.


Ответ отправлен: 12.03.2004, 19:07
Отправитель: Foamplast


 Вопрос № 5069

Как работать на ассемблере под XP,
как правильно настроить DOS,
в общем он (assembler) ругается на XP.
Что нужно сделать?



Вопрос отправлен: 09.03.2004, 20:50
Отправитель: Владимир

[Следующий вопрос >>] [Список вопросов]

Отвечает _vt

Добрый день, Владимир!
Если он ругается "в общем", то тебе никто и не поможет. Приведи конфигурацию железа, программ - в первую очередь, какой ассемблер? Как он ругается?(конкретные сообщения об ошибках крайне желательны)
--- E-Man 1.5+ : RTFM, RTFM и RTFM (В. И. Ленин)


Ответ отправлен: 11.03.2004, 01:07
Отправитель: _vt


Отвечает Pawel

Добрый день, Владимир!
Прямо сам АССЕМБЛЕР и ругается?, с матом? и прямо на XP?
Ну тогда кранты. :)
Напищи версию asm и сообщение об ошибка.


Ответ отправлен: 11.03.2004, 18:39
Отправитель: Pawel


Отвечает Foamplast

Доброе время суток, Владимир!
а) "он (assembler) ругается " - что, прямо-таки сам ассемблер? Используй другой. Используй ассемблер под винду (в смысле, программу ассемблирования, которая выполнена как исполнимый файл ОС Windows).
б) Я думаю, лучше всё-таки поставить DOS, так как работа в эмуляторе всё равно рано или поздно начнёт быть неудобной.
ИТОГ:
1. Везде, где можно, используйте "родные" программы. Под DOS'ом - досовые, под Windows - виндовые, под Unix - юниксоидные и т.д.
2. Эмуляторы стоит использовать, например, когда пишете под систему, которая ещё не выпустилась (под будущий процессор), либо которая в принципе не может иметь средств разработки (игровые приставки, буровые установки и т.п.)
3. В любом случае, где бы программу не компилировать, запускать лучше "на родине". Это касается и буровых установок.


Ответ отправлен: 12.03.2004, 19:07
Отправитель: Foamplast


 Вопрос № 5070

У меня есть альфа версия IDE под названием Assembler Environment, написанная Игорем Гусевым 15.07.1996. НУЖНА НОРМАЛЬНАЯ ВЕРСИЯ. Т.е. не альфа. если кто знает, где такую можно скачать - пожалуйста напишите на мыло (обязательно на мыло). Где взял альфу - не помню, а щас даже ее в нете найти не могу. даже по имени архива (asm_env.rar). Жуть...



Вопрос отправлен: 09.03.2004, 20:57
Отправитель: Саша (5a5ha@freemail.ru)

[Следующий вопрос >>] [Список вопросов]

Отвечает Foamplast

Добрый день, Саша!
Попробуй Aditor.


Ответ отправлен: 12.03.2004, 19:08
Отправитель: Foamplast


 Вопрос № 5071

Здраствуйте!
Подскажите пожалуйста, где можно скачать руководство пользователя по Tasm 5 или же сойдёт руководство по Tasm 3?
Какие у них различия? Что нового появилось в Tasm 5?



Вопрос отправлен: 09.03.2004, 23:36
Отправитель: Антон

[Следующий вопрос >>] [Список вопросов]

Отвечает Pawel

Доброе время суток, Антон!
Подойдёт и Tasm 3, только некоторые новые возможности предётся разбирать самому.


Ответ отправлен: 11.03.2004, 18:41
Отправитель: Pawel


 Вопрос № 5073

Доброго времени суток.
Мне дано задание написать класс D-триггер(mod2-не, 6 входов, 12 разряд.) в С++. ЧТО ТАКОЕ ТРИГГЕР? Подскажите КАК РАБОТАЕТ ТРИГГЕР. Возможно Вы знаете, очень нужно.
Спасибо.



Вопрос отправлен: 10.03.2004, 18:16
Отправитель: Moom

[Следующий вопрос >>] [Список вопросов]

Отвечает Ayl

Доброе время суток, Moom!
Что же ты на лекциях-то делал, а? Ну да ладно...
Про различные виды триггеров и пр. можешь посмотреть здесь:
http://naf-st.narod.ru/re/digit/base/trigger.html

Ответ отправлен: 10.03.2004, 20:32
Отправитель: Ayl


Отвечает vitya

Приветствую Вас, Moom!
Д тиггер это один бит памяти. Все остальное какая - то загадка - по видимому придется спросить у преподавателя.

Ответ отправлен: 11.03.2004, 09:40
Отправитель: vitya


Отвечает Foamplast

Приветствую Вас, Moom!
В общем, триггер - это как бит в памяти, может быт в одном состоянии, а может быть в другом (если не ошибаюсь, то статические ОЗУ из них как раз и состоят). Для получения детального описания именно D-триггера обратитесь в рассылку "Радиоэлектроника" (http://prog.rusfaq.ru/electro).


Ответ отправлен: 12.03.2004, 19:08
Отправитель: Foamplast



Форма отправки вопроса

Внимание!
Мы рекомендуем открывать рассылку в программе Internet Explorer 5.0+ или отправлять вопросы с сайта по адресу: http://rusfaq.ru/cgi-bin/Message.cgi.

(C) 2002-2003 Команда RusFAQ.ru.

 Персональные данные

Ваше имя:

Ваш e-mail:

Опубликовать мой e-mail в рассылке


 Вопрос и дополнение

Ваш вопрос:


Приложение (если необходимо):


Получить ответов:


 Выбор рассылки

Программисту
Assembler (30)
C / C++ (22)
Perl (4)
Builder / Delphi (20)
Pascal (22)
Basic / VBA (9)
Java / JavaScript (7)
PHP (13)
Криптография (7)
WinAPI (16)
Радиоэлектроника (11)
Пользователю
Windows 95/98/Me (42)
Windows NT/2000/XP (62)
"Железо" (36)
Поиск информации (21)
Администратору
Windows NT/2000/XP (30)
Linux / Unix (13)
Юристу
Гражданское право (14)
Семейное право (12)
Трудовое право (12)
КоАП (10)

Отправить вопрос всем экспертам выбранной рассылки.




Задать вопрос | Регистрация эксперта | Поиск в базе | Чат | Форумы | Новости
Проект экспертов RusFAQ.ru | Фотоальбом | Virus.RusFAQ.ru | Администрирование
Профессиональная WEB-Студия B.I.T.


Яндекс цитирования
© 2001-2004 Россия, Москва. Авторское право: Калашников О.А.


http://subscribe.ru/
E-mail: ask@subscribe.ru
Отписаться
Убрать рекламу


В избранное