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

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


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

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

Выпуск № 334
от 04.08.2002, 02:20

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


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

masquer
Статус: Профессиональный
Общий рейтинг: 159.54
[Подробней >>]
LIFO
Статус: Доверительный
Общий рейтинг: 133.8
[Подробней >>]
igorash
Статус: Профессиональный
Общий рейтинг: 119.48
[Подробней >>]
 
Portnov
Статус: Опытный
Общий рейтинг: 121.41
[Подробней >>]
Pablo
Статус: Опытный
Общий рейтинг: 128.07
URL: Моя страничка
[Подробней >>]
Igoryk
Статус: Доверительный
Общий рейтинг: 110.82
[Подробней >>]
 
Ayl
Статус: Профессиональный
Общий рейтинг: 124.36
[Подробней >>]
AnSim
Статус: Опытный
Общий рейтинг: 109.35
[Подробней >>]
Dark_Lord
Статус: Доверительный
Общий рейтинг: 123.8
[Подробней >>]
 
baldr
Статус: Профессиональный
Общий рейтинг: 117.7
URL: Сайт об ОС DOS. Всем, кто любит эту ОС!
[Подробней >>]
Артём Шегеда
Статус: Профессиональный
Общий рейтинг: 120.93
URL: Пристанище неодинокого программиста
[Подробней >>]
Shal
Статус: Доверительный
Общий рейтинг: 107.55
[Подробней >>]
 
Gibbel
Статус: Опытный
Общий рейтинг: 109.43
URL: Страничка обо мне и моих друзьях
[Подробней >>]
Топор
Статус: Профессиональный
Общий рейтинг: 118.05
URL: Хорошая Русская Металлическая команда
Телефон: (8462)500298
[Подробней >>]
Byter
Статус: Начальный
Общий рейтинг: 151.85
[Подробней >>]
 
Broken Sword
Статус: Профессиональный
Общий рейтинг: 138.35
[Подробней >>]
kvINT
Статус: Опытный
Общий рейтинг: 111.69
[Подробней >>]
ASMодей
Статус: Доверительный
Общий рейтинг: 125.19
[Подробней >>]
 
Александр
Статус: Профессиональный
Общий рейтинг: 118.59
[Подробней >>]
Sensey
Статус: Профессиональный
Общий рейтинг: 134.44
Телефон: +38 (0572) 41-76-04 дом.
[Подробней >>]


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

Вопрос № 859. Уважаемые эксперты! Прошу вас если можно засыпать мой e-mail (morman@tut.by) любой инфой по assemble... (ответов: 4)
Вопрос № 860. ОГРАБЛЕНИЕ УНИВЕРМАГА Сегодня рано утром ограбили универмаг. Приехав на работу, управляющий увидел м... (ответов: 8)
Вопрос № 861. Hi all, дорогие эксперты и асм гуру. Я сам то програмлю на vb - кстати MCP, но в асеме очень уж парш... (ответов: 2)
Вопрос № 862. Здравствуйте, все уважаемые эксперты! У меня вопрос, а точнее просьба к эксперту LIFO, выслать мне, ... (ответов: 3)
Вопрос № 863. Добрый день (или ночь).Вопрос немного не по ассемблеру, но всё же: подскажите кто-нибудь или киньте ... (ответов: 4)
Вопрос № 865. Доброе время суток! begin writeln('Вопрос жизни и смерти: поддерживает ли MASM 386/486/586/ММХ и иж... (ответов: 8)
Вопрос № 866. Здравствуйте эксперты! Ниже я написал два алгоритма рисования прямой (Брезенхем). Какой из этих двух... (ответов: 2)
Вопрос № 867. У меня тут одна идея. Не знаю насколько это может работать? Я хочу записывать данные на магнитофон ч... (ответов: 8)
Вопрос № 868. Поправка к вопросу №866 Во втором алгоритме 0<=dy<=dx (знал ведь что что-нить не то накалякаю:))! ... (ответов: 1)
Вопрос № 869. Здрасте! Снова я с новыми вопросами. Вопрос первый: Как заставить команду "jc" прыгать дал... (ответов: 12)
Вопрос № 870. Не подскажите ли вы где можно в учебных целях взять простой пример COM объектана ассемблере, МОжет у... (ответов: 4)
Вопрос № 871. Здравствуйте.Подскажите,пожалуйста,откуда я могу скачать полностью всю рассылку.... (ответов: 2)

Вопросов: 12, ответов: 58


 Вопрос № 859

Уважаемые эксперты!
Прошу вас если можно засыпать мой e-mail (morman@tut.by) любой инфой по assembler
Самою интересную буду размещать на своем сайте www.nsys.by.ru.
Заранее благодарен.



Вопрос отправлен: 30.07.2002, 02:23
Отправитель: Roman (mroman@tut.by)

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

Отвечает masquer

Здравствуйте, Roman!
Элементарно.
Начнем с яндекса. Вводим в строке asm assembler, полученный результат загоняем в телепорт. Мало? Нет проблем, есть еще гугл. На хорошем ДСЛ канале через месяц-другой у тебя будет самая полная информация про ассемблер.

Ответ отправлен: 30.07.2002, 08:34
Отправитель: masquer


Отвечает LIFO

Здравствуйте, Roman!
Какой именно: Reverse Engeneering, вирусы, или что????????
Определись, поможем чем можем :)


Ответ отправлен: 30.07.2002, 17:22
Отправитель: LIFO


Отвечает igorash

Приветствую Вас, Roman!
Инфы разной много (и по винде и по асму и по паскалю), но вот с коннектом проблемы


Ответ отправлен: 31.07.2002, 15:45
Отправитель: igorash


Отвечает Portnov

Добрый день, Roman!
Боюсь, если вашу просьбу исполнят, на вас админ почтового сайта сильно обидится... Потому как ящик будет переполнен до сбоя сервера... Или у вас почтовый ящик на 10ГБ? ХОЧУ ТАКОЙ... ВИНЧЕСТЕР! :) (у меня скромных 4Гб HDD).
С уважением, Portnov.

Ответ отправлен: 30.07.2002, 11:04
Отправитель: Portnov


 Вопрос № 860

ОГРАБЛЕНИЕ УНИВЕРМАГА
Сегодня рано утром ограбили универмаг. Приехав на работу, управляющий увидел машину, отъезжавшую от универмага. Когда он убедился, что магазин ограбили, то он позвонил в полицию, описал автомобиль и назвал его номера. Мы нашли машину: она разбита и валяется в миле отсюда. Как оказалось, она тоже украдена. Здесь вокруг одни леса, никакого жилья нет, поэтому я уверен, что один из тех двоих, кого мы поймали сегодня, - вор. Они сейчас в участке, но допрос мало что дал. - Шериф замолчал и с надеждой взглянул на доктора Квика.
- И как же они объяснили, что делали в лесу? - спросил тот.
- Оба заявили, что отправились в лес на несколько дней. Мы обнаружили туристическую стоянку, и каждый утверждает, что эта стоянка - его. Там осталась небольшая палатка и запас продуктов. Я не могу понять, кто из них лжет.
- А как насчет отпечатков пальцев на снаряжении? - поинтересовался Квик.
- На разных предметах есть отпечатки пальцев и того и другого. Оба утверждают, что часто и надолго покидали стоянку и что в это время другой мог прийти и оставить там свои отпечатки, - ответил шериф. - При этом я не думаю, что в преступлении замешаны оба, потому что они точно незнакомы. Мы их обыскали, - продолжал шериф, но это ничего не дало. У Смита нашли бумажник, складной нож, немного мелочи, расческу, спички, сигареты и жвачку. У Джонса - бумажник, упаковку мятных конфет, расческу, складной нож и аспирин.
Кого заподозрил доктор Квик и почему?



Вопрос отправлен: 30.07.2002, 02:21
Отправитель: ?

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

Отвечает Pablo

Приветствую тебя, Крутой Меч!
Думаю Смита, такая в его принадлежностях жевачка, а с ее помощью можно открыть большениство современных замков.

Ответ отправлен: 30.07.2002, 17:54
Отправитель: Pablo


Отвечает Igoryk

Доброе время суток, ?!
Скорее всего виноват управляющий: зачем тем двум обвиняемым разбивать машину и оставаться в лесу? Скорее всего управляющий все подстроил чтобы свалили на двух туристов.
P.S. При чем здесь Ассемблер?

Ответ отправлен: 30.07.2002, 10:27
Отправитель: Igoryk


Отвечает Portnov

Здравствуйте, ?!
Вот именно, ?!. Это рассылка про асм, если вы не знали.

Ответ отправлен: 30.07.2002, 11:01
Отправитель: Portnov


Отвечает igorash

Приветствую Вас, ?!
По моему Смита - спички, сигареты... в палатке? Мелочь возможно от транспорта осталась, у Джонса аспирин - на всякий случай чтобы в лесу не загнуться...
:)


Ответ отправлен: 31.07.2002, 15:47
Отправитель: igorash


Отвечает Ayl

Приветствую Вас, ?!
Ну так как по списку выбрать одного из двоих достаточно затруднительно, то я думаю, что виноват управляющий.
Возможно, с того места, откуда, по его словам, он увидел отъезжающую машину, вообще нельзя было увидеть номеров...

Ответ отправлен: 30.07.2002, 12:04
Отправитель: Ayl


Отвечает AnSim

Здравствуйте, ?!
Вопрос 1 и главный: что делает это посьмо в рассылке по ассемблеру?


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


Отвечает Dark_Lord

Доброе время суток, ?!
Енто что?(кто?)

Ответ отправлен: 30.07.2002, 22:37
Отправитель: Dark_Lord


Отвечает baldr

Доброе время суток, ?!
Благодаря небольшому опыту программирования на ассемблере, доктор Квик обладал нестандартным
мышлением, поэтому он сразу вычислил свое смещение, поделил его на адрес сегмента стека, вычел
из результата ax, bx, cx и dx, перехватил нужные прерывания,а затем выполнил команду дальнего
вызова агентов ФБР и сдал им Шерифа, горячо раскаивающегося после увиденного... После чего
вернулся к прерванному визитом Шерифа вскрытию свежевыкопанного трупа.
Почему он решил, что преступник - Шериф? Да просто достал тот его уже подобными вопросами...
А если и ошибся - то в следующий раз пусть тот еще и к парикмахеру напротив обратится! Или устроит
социологический опрос жителей...
P.S. Broken Sword, это ты тут развлекаешься?? ;)


Ответ отправлен: 01.08.2002, 22:42
Отправитель: baldr


 Вопрос № 861

Hi all, дорогие эксперты и асм гуру. Я сам то програмлю на vb - кстати MCP, но в асеме очень уж паршиво разбираюсь, но есть 2 вопроса.
1) Как мне cделать ассемблерные вставки на visual basic? Нигде нету инфы про это... Может можно сделать сначала на асеме .obj файл - а потом вызывать из него функции??
2) Как мне обращаться к LPT порту из под WinXP или NT? опять же - чтоб обращаться к порту я хочу использовать мой асм код - но из VB - чтоб иметь GUI красивый и удобный. Говорят есть какие-то api для этого... типа copy memory... но будут ли они из под XP идти?



Вопрос отправлен: 30.07.2002, 04:35
Отправитель: greencat

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

Отвечает masquer

Здравствуйте, greencat!
Шо, опять???
Я ж уже отвечал, или не дошло. Опять распинаться не буду
1. Никак
2. Драйвер

Ответ отправлен: 30.07.2002, 08:36
Отправитель: masquer


Отвечает Pablo

Добрый день, greencat!
1. По поводу красивого интерфеса. Переходи на Дельфи/Билдер там и красивый интерфейс и вставки ассемблерные делать можно!
2. В описании по LPT порту написано, что в порт данных со смещением +4 от базового, если он поддерживает EPP, можно выводить данные с помошью инструкции rep outsb, а читать из порта с помощью инструкции rep insb т.к. в режиме EPP контроллер порта сам проводит всё квитирование, проверку установки и ответную установку сигналов на линии.
Вообще говоря, некоторые современнные контроллеры позволяют проводить 16/32 битный обмен данными с использованием регистров +4-7.
Базовые адреса LPT-портов такие: 378h, 278h и 3bch.


Ответ отправлен: 30.07.2002, 17:54
Отправитель: Pablo


 Вопрос № 862

Здравствуйте, все уважаемые эксперты!
У меня вопрос, а точнее просьба к эксперту LIFO, выслать мне, если есть возможность, справочную информацию по TASMу и MASMу (если есть, конечно, TASM 5.0, MASM 6.12).
Заранее благодарен за все возможные варианты.



Вопрос отправлен: 30.07.2002, 08:37
Отправитель: Ярослав

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

Отвечает Pablo

Приветствую тебя, Ярослав!
Вообще посмотри по ссылкам приведенным ниже, може что и пригодится тебе пр программировании в асемблере:
http://tasm.freeservers.com/
http://www.wasm.zite.ru/tutors.shtml
http://spiff.tripnet.se/~iczelion/
http://www.x86.org/secrets/intelsecrets.htm
http://wasm.ru/


Ответ отправлен: 30.07.2002, 17:53
Отправитель: Pablo


Отвечает LIFO

Доброе время суток, Ярослав!
Какой у тебя адрес почты (нигде не могу найти). Подкинь мне его - я вышлю тебе инфу.


Ответ отправлен: 30.07.2002, 17:47
Отправитель: LIFO


Отвечает Артём Шегеда

Здравствуйте, Ярослав!

Личные вопросы отправляйте, пожалуйста, лично.
А доку по TASM можно взять и на моём сайте (правда, v 3.0).

Ответ отправлен: 30.07.2002, 10:45
Отправитель: Артём Шегеда


 Вопрос № 863

Добрый день (или ночь).Вопрос немного не по ассемблеру, но всё же: подскажите кто-нибудь или киньте линк места, где можно взять достаточно полную документацию по написанию батников.
Заранее очень благодарен.



Вопрос отправлен: 30.07.2002, 09:25
Отправитель: Danil (lemnis@pisem.net)

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

Отвечает Igoryk

Здравствуйте, Danil!
Где-то года два назад написал статью программирование batch-файлов. На полность она не претендует, но кое-что можно подчерпнуть. См. приложение

Приложение:

Ответ отправлен: 30.07.2002, 10:27
Отправитель: Igoryk


Отвечает AnSim

Добрый день, Danil!
могу посоветовать только старый добрый DOSHELP из DOS 6.22 или книжку, которая к ДОС поставлялась

Ответ отправлен: 30.07.2002, 14:13
Отправитель: AnSim


Отвечает Shal

Здравствуйте, Danil!
http://www.ngasu.nsk.su/prikl/


Ответ отправлен: 30.07.2002, 19:27
Отправитель: Shal


Отвечает baldr

Приветствую Вас, Danil!
Ага... Заходи на мой сайт. http://www.dospage.by.ru.
Там есть статья по пакетным файлам. Если что непонятно - пиши...


Ответ отправлен: 01.08.2002, 00:32
Отправитель: baldr


 Вопрос № 865

Доброе время суток!
begin
writeln('Вопрос жизни и смерти: поддерживает ли MASM 386/486/586/ММХ и иже с ними?')
if да then writeln('где его качать?') else Death...



Вопрос отправлен: 30.07.2002, 14:28
Отправитель: Юра

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

Отвечает Pablo

Здравствуй, Юра!
Лучше скачай nasm или fasm.
Посмотри тут:
http://asmdev.narod.ru
http://fasm.sourceforge.net
http://tasm.freeservers.com/


Ответ отправлен: 30.07.2002, 17:53
Отправитель: Pablo


Отвечает Gibbel

Добрый день, Юра!
Да, поддерживает. Качай с мелкософта.кома

Ответ отправлен: 30.07.2002, 14:48
Отправитель: Gibbel


Отвечает masquer

Доброе время суток, Юра!
Это шутка, наверное, конечно поддерживает.
А интернет тебе зачем? В любом поисковике можно найти.

Ответ отправлен: 30.07.2002, 15:09
Отправитель: masquer


Отвечает LIFO

Добрый день, Юра!
MASM 6.12 поддерживает. Где его качать - вроде бы на
kalashnikoff.ru и http://hi-tech.nsys.by:8101/tools/ есть ( если я правильно понял вопрос)

Ответ отправлен: 30.07.2002, 18:33
Отправитель: LIFO


Отвечает Igoryk

Приветствую Вас, Юра!
end. {Забыл :-)}
Да поддерживает если в начале файла пропишешь соответственно:
.386
.486
.586
.MMX
Насколько я знаю его можно скачать с www.kalashnikoff.ru

Ответ отправлен: 30.07.2002, 19:04
Отправитель: Igoryk


Отвечает Топор

Здравствуйте, Юра!
Да, MASM 6.14 держит до P-III включительно.


Ответ отправлен: 30.07.2002, 19:36
Отправитель: Топор


Отвечает Dark_Lord

Добрый день, Юра!
Да все МАСМы поддерживают это, а также 3dNow и т.д.

Ответ отправлен: 30.07.2002, 22:41
Отправитель: Dark_Lord


Отвечает igorash

Доброе время суток, Юра!
begin
writeln ('Поддерживает...')
end.
Где скачать было раньше много раз, поройся в старых рассылках, например на http://wasm.ru/toollist.php?list=7 есть куча ассемблеров, выбирай на вкус...
з.ы. а че на паскале вопрос???


Ответ отправлен: 31.07.2002, 16:02
Отправитель: igorash


 Вопрос № 866

Здравствуйте эксперты!
Ниже я написал два алгоритма рисования прямой (Брезенхем).
Какой из этих двух лучше и почему?
x, y- начальные координаты на Ox, Oy.
x1, y1- конечные координаты на Ox, Oy.
----------1----------
Px= x1- x
if (Px<0){
incX=-1
Px= abc(Px)
}
else incX= 1
Py= y1- y
if (Py<0){
incY=-1
Py= abc(Py)
}
else incY= 1
D= Pxfor (i= D; ipoint(x, y)
ErrX+= Px
ErrY+= Py
if (ErrX>D) {
ErrX-=D
x+=incX
}
if (ErrY>D) {
ErrY-=D
x+=incX
}
}
----------2----------
0<=dy<=dx
Px= x-x1
Py= y-y1
E= 2*Py-Px
for (i= 0; ipoint(x, y)
if (E>=0) {
x= x+1
y= y+1
E= E + 2*(Py - Px)
} else
x= x+1
E= E + 2*Py
}
Почему я задал этот вопрос...? Потому, что одни рисуют «1»,
другие «2», третью «3», четвертые вообще не рисуют:)) .
Мне больше нравится «1», ИМХО проще и быстрее
(использовал для рисования «1»).
зы
Зубков назвал Брезенхема БрезенХАМОМ:) Так ему и надо...:)!
зыы
Удачи...!



Вопрос отправлен: 30.07.2002, 16:43
Отправитель: kuper

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

Отвечает Byter

Доброе время суток, kuper!
Естественно лучше 1.

Ответ отправлен: 30.07.2002, 17:12
Отправитель: Byter


Отвечает Broken Sword

Доброе время суток, kuper!
первый - быстрее, второй - меньше, потому я бы выбрал 2-ой.

Ответ отправлен: 30.07.2002, 21:06
Отправитель: Broken Sword


 Вопрос № 867

У меня тут одна идея. Не знаю насколько это может работать?
Я хочу записывать данные на магнитофон через Sound Blaster или через Com.(Стример стоит дорого). Возможно ли это? И еще сколько информации записывалось на касеты для старых компов Spectrum и т.д.?



Вопрос отправлен: 30.07.2002, 18:01
Отправитель: Merlyn Manson

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

Отвечает kvINT

Приветствую Вас, Merlyn Manson!
На одну сторону кассеты помещалось примерно 10 - 15 программ по 30 - 40 кб.

Ответ отправлен: 31.07.2002, 14:37
Отправитель: kvINT


Отвечает Byter

Приветствую Вас, Merlyn Manson!
Незнаю ,но скорее всего да.
Поищи в инети ответ на этот вопрос.


Ответ отправлен: 31.07.2002, 16:26
Отправитель: Byter


Отвечает ASMодей

Приветствую Вас, Merlyn Manson!
Через звуковую карту можно записать на магнитофон
все, что угодно, включая и данные.
Для Spectrum стандартная скорость записи была 1500 бит/с,
то есть на 90-минутную кассету влезало примерно 989 Кб.
Но были и загрузчики, читавшие и писавшие с увеличенной
скоростью.


Ответ отправлен: 31.07.2002, 09:07
Отправитель: ASMодей


Отвечает Igoryk

Здравствуйте, Merlyn Manson!
Ну через Sound Blaster разве что звук записывать, а вот если данные отправлять в COM-порт, и записывать... Но наверное придется доработать магнитофон.

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


Отвечает Артём Шегеда

Приветствую Вас, Merlyn Manson!

Это по памяти
В том формате записи, что использовал Spectrum, на 90-минутную кассету помещалось около 1.5 МБайт информации. Если применить спецкодирование, то ёмкость можно увеличить до 2.5 МБайт. Если ещё и паковать... Но я думаю ты собираешься писать уже зажатую информацию.
Так что кассета не на много круче обычной дискеты 3"5 на 1.44 МБайт.

Это уже элементарные теоретические выкладки
Допустим, каждый бит кодируется сигналом некоторой частоты постоянной длительности: 0 - 10 кГц 4 периода, 1 - 5 кГц 2 периода. Тогда "длина" одного бита равна 4/10000 = 2/5000 = 0.4 мс. В одну секунду "влазит" 2500 бит = 256 байт (с учётом бита чётности и контрольных сумм).
Итого:
90 минут = 5400 секунд. 5400 * 256 / 1024 = 1350 кБайт
Так что кассета не на много круче обычной дискеты 3"5 на 1.44 МБайт.

А вообще...
...если узнать, сигнал какой частоты записывается на плёнку без значительного ослабления (это около 15 кГц), а потом прибегнуть к непростому расчёту...
В любом случае, кассета не на много круче обычной дискеты 3"5 на 1.44 МБайт.


Ответ отправлен: 30.07.2002, 19:54
Отправитель: Артём Шегеда


Отвечает igorash

Приветствую Вас, Merlyn Manson!
Конечно возможно, но стоит ли???
Разработай защиту от ошибок для начала чтобы изменение 1 байта не валило все нафиг... А еще - 512 кбайт на кассете 90 минут.. по моему легче дискет понакупить и проще и быстрее... а вообще был какой-то проект АРВИД назывался (платка в комп) - в качестве стримера там юзался видик - до 2-3 гигов на 180-минут кассету


Ответ отправлен: 31.07.2002, 15:56
Отправитель: igorash


Отвечает Александр

Приветствую Вас, Merlyn Manson!
Лучше через SoundBlaster. Только придётся сильно извращаться, чтобы было достаточно надёжно. Какие-нибудь контрольные суммы вводить, синхропоследовательности. Купи ты себе лучше Арвид. Пишет на видак. Сколько стоит сейчас не знаю. Зато на одну видеокассету влезает пара ГБ.
P.S. А не проще за 80 гринов болванкописатель(CD-RW) и набор RW болванок для периодического Backup'а. Сейчас вон уже дисководы двойной плотности Sony выпускает, причём пишет на обычные болванки. А по весне Toshiba обещалась достичь тройной плотности записи и выпустить такие дисководы в продажу к концу текущего года...
P.P.S. Это всё злобный оффтопик. Писал бы ты в "Железо", что ли.


Ответ отправлен: 31.07.2002, 21:54
Отправитель: Александр


Отвечает Sensey

Добрый день, Merlyn Manson!
теоритически возможно... практически до... то есть много мороки.
помню, читал, когда-то выпустили платку, через которую на видеокассету записывали 9 гиг.
а спектрумовские - могу ошибаться, но по-моему до полуметра...


Ответ отправлен: 01.08.2002, 10:35
Отправитель: Sensey


 Вопрос № 868

Поправка к вопросу №866
Во втором алгоритме 0<=dy<=dx (знал ведь что что-нить не то накалякаю:))!



Вопрос отправлен: 30.07.2002, 19:17
Отправитель: kuper

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

Отвечает Byter

Доброе время суток, kuper!
Все же 1 лучше.

Ответ отправлен: 31.07.2002, 16:27
Отправитель: Byter


 Вопрос № 869

Здрасте!
Снова я с новыми вопросами.
Вопрос первый: Как заставить команду "jc" прыгать дальше,
у меня тасм выдает ошибку "Relative jump out of range by ..", пробовал ставить Near, не помогает, вообще не пойму, там между командой и меткой даже 127 байт нету а он ошибку выдает. В приложении кусок кода, работал до тех пор пока я не вставил Пять выводов строк String01,02,03,04,05.
Если не затруднит, то объясните поподробней почему не работает.
Вопрос второй: В WinXP не могу заставить модем набирать импульсом, везде где можно поставил импульс, все равно тоновым набирает.
Заранее спасибо всем экспертам.


Приложение:


Вопрос отправлен: 30.07.2002, 20:28
Отправитель: Antuan Undegro

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

Отвечает LIFO

Приветствую Вас, Antuan Undegro!
jc far ptr ErrorExit нельзя так!!!!!!
команды условного перехода действуют только в пределах
текущего сегмента ( никакие не 127 байт), поэтому с far дело не пройдет.
И вообще как я понял переход будет лишь в том случае, если произойдет критическая ошибка, но какая, без всего листинга понять нельзя.
И еще: зачем ты все время получаешь позицию курсора
ah = 3 int 21h??


Ответ отправлен: 31.07.2002, 15:36
Отправитель: LIFO


Отвечает masquer

Доброе время суток, Antuan Undegro!
А что мешает написать
jnc @@next
jmp ErrorExit
@@next:

Ответ отправлен: 31.07.2002, 11:17
Отправитель: masquer


Отвечает Igoryk

Доброе время суток, Antuan Undegro!
Да у TASM'а в этом деле возникает много проблем, но это только если переходишь на другие сегменты, а так используй:
jc ErrorExit
или
jc Short ErrorExit
(что в принципе одно и тоже)

Ответ отправлен: 31.07.2002, 12:24
Отправитель: Igoryk


Отвечает Shal

Доброе время суток, Antuan Undegro!
FAR, вместо near.


Ответ отправлен: 31.07.2002, 11:58
Отправитель: Shal


Отвечает Byter

Здравствуйте, Antuan Undegro!
Я не понял где ты вообще флаги меняешь?

Ответ отправлен: 31.07.2002, 16:32
Отправитель: Byter


Отвечает Топор

Добрый день, Antuan Undegro!
А накой ляд ты пишешь jc far ptr ErrorExit? Такой хрени в природе не существует. Это проще делается:
jc ErrorExit
Мало того, TASM может сам оптимизировать прыжок, если там будет больше 127 байт.


Ответ отправлен: 31.07.2002, 09:34
Отправитель: Топор


Отвечает ASMодей

Здравствуйте, Antuan Undegro!
Попробуй перед командой или в самом начале поставить
директиву .386


Ответ отправлен: 31.07.2002, 09:09
Отправитель: ASMодей


Отвечает Broken Sword

Доброе время суток, Antuan Undegro!
1. Слушай, что тебе не нравится? Ну 143 байта между первым jc и ErrorExit, а между вторым jc и errorexitmouse - 128 байт (всего 1 байтик лишний!), а ты тут заявляешь что "нет 127 байт"! Сначала хоть взгляни чтоли...
2.Пиши перед номером букву P (например, P449166)

Ответ отправлен: 30.07.2002, 21:25
Отправитель: Broken Sword


Отвечает Pablo

Добрый день, Antuan Undegro!
Ты всеж таки листинг посмотри, там все подробно описано какой код скомпилировал ассемблер, ну так и поймешь по какйо причине он не может создать код перехода на короткую дистанцию (jmp short).

Ответ отправлен: 31.07.2002, 21:44
Отправитель: Pablo


Отвечает Александр

Здравствуйте, Antuan Undegro!
Во-первых не может быть условный переход на far. Во-вторых в командах jumpов для обозначения короткого перехода(+-127) используется модификатор short. В-третьих, если не хочешь забивать себе голову такими вещами, то есть такая полезная директива JUMPS. Напиши её где-нибудь в начале файла и компилятор будет самостоятельно заменять условные переходы, длиннее 127 байт на пару
jnxx @N
jmp label
@@:


Ответ отправлен: 31.07.2002, 21:54
Отправитель: Александр


Отвечает baldr

Приветствую Вас, Antuan Undegro!
Команда jc может передавать управление только в пределах 127 байт (либо вперед, либо назад).
А использование, как у Вас: jc far ptr ErrorExit не предусмотрено разработчиками.
Поэтому делайте вот так:
jnc NoErrorExit1
jmp far ptr ErrorExit
NoErrorExit1:

Кстати, 127 байт, пожалуй, так и наберется в вашем коде между ними!
Что касается набора номера в XP, то в начале номера поставьте букву p и
будет вам импульсный набор.


Ответ отправлен: 01.08.2002, 00:34
Отправитель: baldr


Отвечает Sensey

Доброе время суток, Antuan Undegro!
Больше там чем 127 байт, больше. Строчка
Relative jump out of range by .."
как раз и показывает, на сколько
Сделай так
jnc __1
jmp Куда_Надо
1:


Ответ отправлен: 01.08.2002, 10:37
Отправитель: Sensey


 Вопрос № 870

Не подскажите ли вы где можно в учебных целях взять
простой пример COM объектана ассемблере,
МОжет у вас где есть, вышлите пожалуйста,
уж очень хочется познакомится с тем как они в нём
пишутся.



Вопрос отправлен: 30.07.2002, 20:34
Отправитель: Kostik (MKS@norcom.ru)

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

Отвечает masquer

Добрый день, Kostik!
смотри на сайте Iczelion-а, то же самое есть на wasm.ru

Ответ отправлен: 31.07.2002, 11:15
Отправитель: masquer


Отвечает Byter

Доброе время суток, Kostik!
Посмотри на rusdoc.ru


Ответ отправлен: 31.07.2002, 16:34
Отправитель: Byter


Отвечает LIFO

Здравствуйте, Kostik!
Начнем с того, что такое com- файл.( смотри в приложении)
1. com - программа всегда имеет размер не более 64кб.Э то объясняется тем, что код, стек и данные в com - проге занимают не более одного сегмента памяти.
2.Перед запуско объекта создается PSP ( programm segment prefix) размером в 256 байт (100h). Там хранится всякая инфа о загруженном модуле. PSP располагается в начале сегмента. Программист при создании com - проги должен сам предусмотреть место для PSP , что и делается директивой
ORG 100h
3. Регистры ds,cs,ss устанавливаются на сегмент PSP
4. Программа загружается с адреса cs:100h
5. Регистр sp устанавливается на конец сегмента, после чего в стек записывается 0000h
Теперь расскажу, как получить com - объект на асме:
1. Пишем в текстовом редакторе текст проги.
2. Транслируем так tasm.exe <имя программы> ( в результате чего получается файл <имя программы>.obj
3.Компилируем файл tlink /t <имя программы>.obj
4. Полученный файл <имя программы>.com и есть искомый.

Приложение:

Ответ отправлен: 31.07.2002, 15:38
Отправитель: LIFO


Отвечает Pablo

Доброе время суток, Kostik!
Смотри по ссылкам ниже:
http://wasm.ru/
http://www.rsdn.ru/

Ответ отправлен: 31.07.2002, 21:53
Отправитель: Pablo


 Вопрос № 871

Здравствуйте.Подскажите,пожалуйста,откуда я могу скачать полностью всю рассылку.



Вопрос отправлен: 31.07.2002, 02:04
Отправитель: valeri

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

Отвечает masquer

Добрый день, valeri!
на subscribe.ru

Ответ отправлен: 31.07.2002, 11:15
Отправитель: masquer


Отвечает Portnov

Здравствуйте, valeri!
Интере-есненько... А почему это вы имеено у меня спрашиваете? Ну да ладно, отвечу. На Subscribe.ru есть так наз. "архив рассылки", но там по отдельным выпускам. Если не лень - качайте. Файла со всеми выпусками вместе я нигде не нашел, похоже, такую возможность Калашников не предусмотрел.
С уважением, Portnov.

Ответ отправлен: 31.07.2002, 13:11
Отправитель: Portnov



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

Внимание!
Форма может работать некорректно в почтовых программах "Microsoft Outlook" и "Microsoft Outlook Express". В программе The Bat! подобные формы не работают вообще!
После нажатия на кнопку "Отправить", будет открыто второе окно. Заметьте, что в некоторых браузерах могут стоять запреты на открытие других окон, а также "чрезмерное" кэширование данных, при этом факт отправки Вашего вопроса стоит под сомнением.
Мы рекомендуем открывать рассылку в программе Internet Explorer 5.0+ или отправлять вопросы с сайта по адресу: http://rusfaq.ru/cgi-bin/Message.cgi.

© 2002 Команда RusFAQ.ru.

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

Ваше имя:

Ваш e-mail:

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


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

Ваш вопрос:


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


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


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

Программисту
Assembler (45)
C / C++ (30)
Perl (10)
Delphi (16)
Pascal (32)
Basic / VBA (11)
Java / JavaScript (11)
PHP (8)
MySQL / MSSQL (10)
Пользователю
Windows 95/98/Me (45)
Windows NT/2000/XP (31)
"Железо" (36)
Поиск информации (18)
Администратору
Windows NT/2000/XP (15)
Linux / Unix (11)
Юристу
Гражданское право (5)
Семейное право (3)
Трудовое право (4)
КоАП (2)

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




be number one Яндекс цитирования

© 2002 Россия, Москва. Авторское право: RusFAQ.ru


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

В избранное