Рассылка закрыта
При закрытии подписчики были переданы в рассылку "RFpro.ru: Ассемблер? Это просто! Учимся программировать" на которую и рекомендуем вам подписаться.
Вы можете найти рассылки сходной тематики в Каталоге рассылок.
RusFAQ.ru: программирование на языке Assembler
Информационный Канал Subscribe.Ru | - www.lycos.ru |
RusFAQ.ru: программирование на языке Assembler
Выпуск № 257
от 30.04.2002, 04:20
Администратор: Имя: Калашников О.А. URL: Информационный ресурс ICQ: 68951340 Россия, Москва |
О рассылке: Задано вопросов: 49 Отправлено ответов: 86 Активность: 175.5 %
|
Список экспертов, ответы которых опубликованы в данном выпуске |
Dream Статус: Начальный Общий рейтинг: 127.27 [Подробней >>] |
freeseacher Статус: Опытный Общий рейтинг: 156.52 Телефон: 8(3832)366362 [Подробней >>] |
Ayl Статус: Профессиональный Общий рейтинг: 180.44 [Подробней >>] |
masquer Статус: Опытный Общий рейтинг: 176.62 [Подробней >>] |
Топор Статус: Опытный Общий рейтинг: 166.91 URL: Хорошая Русская Металлическая команда Телефон: (8462)160302, 162918 [Подробней >>] |
Артём Шегеда Статус: Опытный Общий рейтинг: 168.06 URL: Пристанище неодинокого программиста [Подробней >>] |
DiGiT Статус: Профессиональный Общий рейтинг: 184.44 [Подробней >>] |
Samodelkin Статус: Опытный Общий рейтинг: 153.33 [Подробней >>] |
Dron Статус: Профессиональный Общий рейтинг: 184.93 URL: Операционная система с нуля! [Подробней >>] |
kostik Статус: Опытный Общий рейтинг: 162.68 Телефон: (4212)393-276 [Подробней >>] |
Beeblebrox Статус: Опытный Общий рейтинг: 166.12 URL: Beeblebrox / TMA HomePage [Подробней >>] |
Sensey Статус: Профессиональный Общий рейтинг: 184.19 URL: Моя работа Телефон: (0572) 41-76-04 дом. [Подробней >>] |
root Статус: Опытный Общий рейтинг: 140.65 URL: Когда-то будет homepage Телефон: (8-632) 77-97-02 [Подробней >>] |
Broken Sword Статус: Профессиональный Общий рейтинг: 188.95 [Подробней >>] |
v4D Статус: Доверительный Общий рейтинг: 147.43 [Подробней >>] |
GL Статус: Опытный Общий рейтинг: 146.34 [Подробней >>] |
baldr Статус: Профессиональный Общий рейтинг: 170.42 URL: Сайт об ОС DOS. Всем, кто любит эту ОС! [Подробней >>] |
Краткий перечень вопросов |
Вопрос № 12. гДПЮБЯРБСИРЕ ЩЙЯОЕПРШ. мЕЛНЦКХ АШ БШ ОНДЯЙЮГЮРЭ ЙЮЙ Б БХМДЮУ МЮ ПЮАНВХИ ЯРНК БШБЕЯРХ ЙЮПРХМЙС (МЮОПХ... (ответов: 1)
Вопрос № 14. Помогите студенту здать ассемблер ? Наш препод задал написать прогу " дано двумерный масив 3Х3... (ответов: 2)
Вопрос № 16. Конкурс… Это письмо я уже отправлял вчера, не сохранив, но подтверждения не приходило, т.ч. он... (ответов: 2)
Вопрос № 17. Привет всем ! Подскажите пожалуйста, что значит "uses ebx" в объявлении процедуры MyProc p... (ответов: 7)
Вопрос № 18. Люди, помогите инфой по работе с TCP/IP на Асме (прям на мыло).... (ответов: 2)
Вопрос № 19. Уважаемые эксперты У меня возникло желание начать учить Java, - можно сказать что на это решение по... (ответов: 6)
Вопрос № 20. Я ещё ламер, но пытаюсь учится! Мой вопрос: В com программе при опредиление переменных нужно задават... (ответов: 12)
Вопросов: 7, ответов: 32
Вопрос № 12 |
гДПЮБЯРБСИРЕ ЩЙЯОЕПРШ.
мЕЛНЦКХ АШ БШ ОНДЯЙЮГЮРЭ ЙЮЙ Б БХМДЮУ МЮ ПЮАНВХИ
ЯРНК БШБЕЯРХ ЙЮПРХМЙС (МЮОПХЛЕП ЙЮЙ ЯЙПЕОЙЮ -
ОНДЯЙЮГЙЮ Б НТХЯЕ). еЯКХ ЛНФМН РН ХЯУНДМХЙ МЮ ЮЯЛЕ
гЮПЮМЕЕ АНКЭЬНЕ ЯОЮЯХАН.
Вопрос отправлен: 26.04.2002, 06:46
Отправитель: mooon (mooon@beep.ru)
[Следующий вопрос >>]
Отвечает Dream
Здравствуйте, mooon!
Зачем тебе Assembler?
Все это можно сделать средствами обыкновенного Java skript!!
- да-да не удивляйся!
Дело в том что вместо обыкновенного рисунка на рабочем
столе можно поставить HTML страницу, - а следовательно и
Java skript,Flesh,Java,DHTML и т.д....
R.S.- смени кодировку...
С наилучшими пожеланиями....
Ответ отправлен: 26.04.2002, 22:48
Отправитель: Dream
Вопрос № 14 |
Помогите студенту здать ассемблер ?
Наш препод задал написать прогу
" дано двумерный масив 3Х3 целых положительных числ. Отсортировать 2 ряд масива по уменшению. Результат вывести на экран"
Вопрос отправлен: 26.04.2002, 10:26
Отправитель: SERGEY
[Следующий вопрос >>]
Отвечает freeseacher
Здравствуйте, SERGEY!
знаешь так дело не пойдет если учишься, то учись, а не..
Ответ отправлен: 27.04.2002, 12:58
Отправитель: freeseacher
Отвечает Ayl
Доброе время суток, SERGEY!
А вы правила читали? Здесь не пишут программы, здесь отвечают на вопросы! В вашем случае никакого вопроса нет, кроме первой строки. Но так как кто-нибудь из экспертов вряд ли пойдет на сдачу ассемблера к вашему преподу, то он похож на риторический :)
Теперь по сути. Могу предложить несколько рекомендаций:
1. Возможная сложность - определить на асме 2-мерный массив. Тут есть несколько вариантов. Первое - трансформировать его в одномерный и пересчитывать индекс. В вашем случае это, пожалуй, самое оптимальное. Второе - определить массив для цказателей на строки массива и далее заполнять построчно. Но это слишком сложно.
2. Сортировка. В вашем примере самое оптимальное - это "пузырек". Организуете 2 вложенных цикла. Первый (i) - по индексам от 1 до N-1 (N - количество элементов в строке). Второй (j) - от i + 1 до N. Сравниваем элементы с индексами i и j. Если Ai > Aj, то меняем их местами. Все.
3. Для вывода потребуется процедура перевода числа в последовательность десятичных знаков (можно найти в прошлых выпусках рассылок). Ну и потом вывести массив.
Если что непонятно - задавай конкретные вопросы!
Ответ отправлен: 27.04.2002, 19:07
Отправитель: Ayl
Вопрос № 16 |
Конкурс…
Это письмо я уже отправлял вчера, не сохранив, но подтверждения не приходило, т.ч. оно могло не дойти, поэтому еще раз посылаю – по памяти восстанавливаю что я писал, поэтому не сочтите за сумашествие.
Главная новость – нашего полку прибыло!
Эксперту BlackBeast (или для тех, кто в танке...
Программа должна складывать два числа, представленных в ASCII-коде (например, chislo1 db ‘1234567890’ и chislo2 db ‘449166’) и выводить результат на экран.
Важное условие: РАЗМЕР СЛАГАЕМЫХ (и суммы есесно) – ВЕЛИЧИНА РЕЗИНОВАЯ (ДИНАМИЧЕСКАЯ), т.е. в проге активно юзим значки бакса. Конечно, на конкурс выставляется код с наименьшими возможными (однознаковыми) слагаемыми, но прога ДОЛЖНА корректно складывать числа с большим кол-вом знаков.
Слагаемые НЕ ВООДЯТСЯ, а задаются в самой проге. РЕЗУЛЬТАТ ВЫВОДИТЬ ОБЯЗАТЕЛЬНО!!!
Дополнительное условие – любое из слагаемых (и сумма) могут дополняться слева произвольным количеством нулей (и это очевидно)
Эксперту User-у
Давай, сдавай поскорее свои сессии и присоединяйся! Чем нас больше, тем азартнее играть.
Эксперт Beeblebrox прислал следующее:
“Как это ни прискорбно, все варианты с com-файлами надо забраковать, так как они противоречат условию задачи, где максимальное число длиной 65535, соответственно два числа 131070, что выходит за рамки com”
Да, это так… чето я этот момент протупил! Но если абстрагироваться от форматов файлов, то вообще к чему я приплел эти 65 тыщ. – чтобы в цикле перевода числа из ASCII задействовать именно 16-разр. регистр (чтобы не было потом что ктото юзил 32-разр. и у него оттого больше код), это все не важно, потом все варианты можно скосить под одну гребенку, поэтому условие по макс. размеру в 65 тыщ. убирается как нафиг никому не нужное.
Эксперту Артему Шегеде.
98 байт. Отлично! Еще порезать можно… Только у меня вопрос ко всем: почему «динамическая» длина воспринялась как то неоднозначно? Или может я просто термин немного неподходящий выбрал ? я всего лишь имел ввиду
chislo1 db ‘123456...........’
chislo2 db ‘234234...........’
chislo_len db $-chislo2
rezultat db chislo_len dup (?)
Не забывайте про возможность дополнить любое число нулями слева (и сделать их одинаковой длины
Вот и все…
Эксперту Пуля
Чего вдруг ты решил скончаться в такой ответственный момент??? И не вздумай даже!!! Доживи хотя б до конца этого конкурса…
Итак, итоги на сегодняшний момент таковы:
Эксперт Пуля – 128 байт
Эксперт Шегеда – 98 байт
Эксперт Dron - ???? (по заявкам – 50 байт), пока есть только вариант на 209
Эксперт Broken Sword – 54 байт
Ожидаются поступления еще от 4-5 экспертов!
А ты еще не записался добровольцем ?! К участию допускаются ВСЕ желающие и не очень!!!
P.S. Кстати, принимаются также ваши варианты заданий для будущих (я надеюсь) конкурсов подобного роду племени..
Шлите свои шедевры на brokensword@mail.ru в любое удобное для вас время!!!
Ждем-с...
Вопрос отправлен: 26.04.2002, 16:08
Отправитель: Broken Sword (brokensword@mail.ru)
[Следующий вопрос >>]
Отвечает masquer
Добрый день, Broken Sword!
К сожалению я пропустил начало этой увлекательной затеи, поэтому всех условий не знаю. Ниже привожу пример для МАСМ под виндами. Размер кода до месадж бокса - 90 байт. (Это со второй попытки). Вообще если подумать - можно и меньше написать - если убрать определение максимальной длины - то можно меньше 50 байт сделать.
Приложение:
Ответ отправлен: 26.04.2002, 21:35
Отправитель: masquer
Отвечает Топор
Доброе время суток, Broken Sword!
Слушай, а пойдёт тебе такой вариант - процедура со входом, например, DS:BX - строка первого числа, ES:DX - второго, и посаженная на какое-нить свободное прерывание? Это я к тому, чтобы сами числа в код не включать, заодно и экскре...тьфу ты, эксперимент чище, и кода меньше.
Ответ отправлен: 27.04.2002, 08:08
Отправитель: Топор
Вопрос № 17 |
Привет всем !
Подскажите пожалуйста, что значит "uses ebx" в объявлении процедуры
MyProc proc uses ebx, myParam : DWORD
До встречи !
P.S. Почему-то не получается поставить оценку ?
Вопрос отправлен: 26.04.2002, 19:09
Отправитель: Alexey
[Следующий вопрос >>]
Отвечает masquer
Добрый день, Alexey!
Это означает, что регистр будет резервироваться, т.е. в начале процедуры сохраняться в стеке, а в конце - восстанавливаться
Ответ отправлен: 26.04.2002, 19:27
Отправитель: masquer
Отвечает Артём Шегеда
Доброе время суток, Alexey!
Ответ на свой вопрос ты можешь найти в документации по TASM (можешь взять на моём сайте). Но от себя скажу (чтобы не подумал, что "эксперты только ссылки давать могут"): "uses" используется компилятором для принятия решения о том, какие жизненно важные регистры (с точки зрения языка программирования, под который "заточена" процедура) будут модифицироваться процедурой. Если указанные регистры попадают под определение "жизненно важные", то компилятор на входе сгенерирует push, а на выходе - pop. И программа не пострадает. Но иногда это не нужно.
Если компилятор начинает умничать и указывать, что какой-то регистр был модифицирован и его нужно сохранить, а потом восстановить - то это плохой компилятор. Но это уже совсем другой разговор...
Ответ отправлен: 26.04.2002, 19:37
Отправитель: Артём Шегеда
Отвечает Топор
Здравствуйте, Alexey!
Регистры, объявленные в uses, сохранятся в стеке. В данном случае транслятор просто вставит в нужном месте push ebx и в конце соответствующую форму команды ret.
Ответ отправлен: 27.04.2002, 07:59
Отправитель: Топор
Отвечает DiGiT
Приветствую Вас, Alexey!
значит что регистр сохраняется в стеке при входе и выпихивается при выходе , насколько я помню так.
Ответ отправлен: 27.04.2002, 08:04
Отправитель: DiGiT
Отвечает Samodelkin
Добрый день, Alexey!
даже странно отвечать на такой вопрос...
uses с аглицкого - использовать ....
у тебя и ответ написан вроде
использовать ebx, myParam : DWORD
Ответ отправлен: 27.04.2002, 09:27
Отправитель: Samodelkin
Отвечает Dron
Здравствуйте, Alexey!
Это вероятно означает что ebx может измениться при выполнении процедуры.
Ответ отправлен: 27.04.2002, 11:23
Отправитель: Dron
Отвечает kostik
Добрый день, Alexey!
Означает сие, что регистр ebx в ходе выполнения процедурки изменяется и необходимо сохранить его в стеке.
Ответ отправлен: 29.04.2002, 11:04
Отправитель: kostik
Вопрос № 18 |
Люди, помогите инфой по работе с TCP/IP на Асме (прям на мыло).
Вопрос отправлен: 26.04.2002, 19:38
Отправитель: Нуждающийся (_archive@mail.ru)
[Следующий вопрос >>]
Отвечает Beeblebrox
Добрый день, Нуждающийся!
На мыло не буду, так как эта инфа понравится всем. Зайдите на http://book.itep.ru/1/intro1.htm и прозрейте :)
Ответ отправлен: 29.04.2002, 10:02
Отправитель: Beeblebrox
Отвечает DiGiT
Приветствую Вас, Нуждающийся!
Асм, что понимать под асмом вообще!!!
Это ж ведь не язык программирования, а язык псевдомашинных кодов.
А сокеты, или там другой интерфейс для работы с TCP не реализуешь никак. Ведь это стек протоколов, набор правил и т.п. Но можно заюзать АПИ ОС и спокойно написать на асме. Так вот твоя проблема разрешается в доке по следующим функциям: socket, bind, accept, connect, .... , closesocket.
Ответ отправлен: 27.04.2002, 08:02
Отправитель: DiGiT
Вопрос № 19 |
Уважаемые эксперты
У меня возникло желание начать учить Java,
- можно сказать что на это решение повлияло то что Java
является передовой технологией в переносимости программ
на другие платформы плюс то что этот язык очень похож
на язык С++, и программисты пишушие на Java наиболее
востребованы на рынке труда...
Так вот вопрос состоит в том возможно ли в Java делать вставки на ассемблере(дело в том что к асму настолько прывык что учить язык не поддерживающий ассемблер нет никакого желания)- информации по этой теме найти нигде
к сожалению не удалось :(((
Возможно есть среди экспертов которые пишут на ассемблере
те которые знают Java...
С наилучшими пожеланиями...
Вопрос отправлен: 26.04.2002, 20:31
Отправитель: Dream (andrey@zp.ukrtel.net)
[Следующий вопрос >>]
Отвечает Sensey
Приветствую Вас, Dream!
Я не знаю вопроса, но поррасуждаю
Если Ява настолько переносимый язык, насколько я слышал, а он очень переносимый, то откуда вставки на Асме, если Асм - аппаратно зависимый язык
ЗЫ Если меня поправят, а обижатся не бцудуЁ!
Удачи!
ЗЗФЫ Мзвини шо по клаве6 не попадал - день рожднения как никак бывл
Ответ отправлен: 26.04.2002, 20:49
Отправитель: Sensey
Отвечает masquer
Здравствуйте, Dream!
Ты в вопросе ответил - переносимость. Ассемблер язык не переносимый, поэтому увы.
Ответ отправлен: 26.04.2002, 21:38
Отправитель: masquer
Отвечает root
Доброе время суток, Dream!
По моим скромным данным - нельзя. Java работает под управлением JVM, которая интерпретирует его и проверяет не только ошибки(читать - исключения) времени выполнения, но также права данной программы выполнить некоторые действия в системе. За ассемблерным кодом проследить она не может. Причем, ты же сам написал - МЕЖПЛАТФОРМЕНАЯ ПЕРЕНОСИМОСТЬ. А какая переносимость ассемблера. Я его очень люблю, но ее нет. Пример: 1) х86 регистры AX, BX, CX, DX; 2) Макинтошевые регистры R0, R1, R2, R3, R4, R5, R6, R7 etc.
Ответ отправлен: 27.04.2002, 08:01
Отправитель: root
Отвечает DiGiT
Добрый день, Dream!
не видел никогда яву. Но думаю что нет, нельзя. Перл не может с чего бы это яве вдруг. К тому же как написать кроссплатформенное приложение с асмовскими вставками под ПС и потом юзать на спарках например.
Ответ отправлен: 27.04.2002, 08:15
Отправитель: DiGiT
Отвечает Артём Шегеда
Здравствуйте, Dream!
Что касается передовых технологий, то .NET - более передовая, чем Java (и это говорит человек, "почти враждебно" настроенный к Microsoft!). Почитай http://www.dotsite.spb.ru/Publications/PublicationDetails.aspx?ID=71 по этому поводу.
А что касается смеси ассемблера и Java - то это возможно, но, может быть, не так, как бы тебе хотелось. На асме нужно писать DLL, которые при выполнении программ на Java будут подгружаться. Об этом есть литература - и много.
Ответ отправлен: 27.04.2002, 12:28
Отправитель: Артём Шегеда
Отвечает freeseacher
Здравствуйте, Dream!
нет не держит он вставок на асме....
А где это Асматиков не любят и предпочитают им Явистов??? Я такого не знаю..... любят нынче VC++, Delphi, а они держат вставки.
Хоца делать вставки на асм в java делай dll
Ответ отправлен: 27.04.2002, 13:10
Отправитель: freeseacher
Вопрос № 20 |
Я ещё ламер, но пытаюсь учится! Мой вопрос:
В com программе при опредиление переменных нужно задавать только смещение, так как сегмент там один, насколько я понял! А в ехе программах, на сколько я понимаю надо задавать и сегмент переменной. А как енто делается? смещение offset, а сегмент!?
Вопрос отправлен: 26.04.2002, 20:49
Отправитель: Dark_Lord (Dark_Lord@land.ru)
[Следующий вопрос >>]
Отвечает Beeblebrox
Доброе время суток, Dark_Lord!
Ты понял все неправильно. В COM файле только лишь при старте один сегмент, а дальше - сколько угодно
Для того, чтобы "определить" переменную, в программе достаточно указать ее имя и db, dw и тому подобное. Для того, чтобы работать с такой переменной, надо тоже использовать ее имя. Понадобится адрес переменной - тогда offset, понадобится сегмент - тогда seg.
Но COM и EXE здесь совершенно ни при чем
Ответ отправлен: 29.04.2002, 10:11
Отправитель: Beeblebrox
Отвечает Broken Sword
Приветствую Вас, Dark_Lord!
Ой, чето ты такое спросил... Ты имеешь ввиду, как "обратиться к переменной в exe-проге" ?
Да очень просто:
mov reg, size ptr seg:var
где reg - любой регистр, size - соотв. регистру размер (byte, word и т.п.) seg - нужный тебе сегм. регистр (по умолчанию - подразумевается всегда DS), var - название переменной
Например, mov ah,byte ptr bukva, для компиллятора равносильно mov ah,byte ptr ds:bukva
Но если тебе нужно, например, достать bukva из сегмента es, то какие проблемы? пишешь mov ah,byte ptr es:bukva (но это уже на байт длиннее) вот и все...
Ответ отправлен: 26.04.2002, 21:23
Отправитель: Broken Sword
Отвечает masquer
Добрый день, Dark_Lord!
Дай-ка вспомнить, в экзешнике кажись так пишеться
mov ax, @data
mov ds, ax
и все, пользуйся смещениями
Ответ отправлен: 26.04.2002, 21:43
Отправитель: masquer
Отвечает v4D
Приветствую Вас, Dark_Lord!
Привожу пример в приложении
Приложение:
Ответ отправлен: 26.04.2002, 23:39
Отправитель: v4D
Отвечает Топор
Приветствую Вас, Dark_Lord!
Если у тебя один сегмент кода, то в ЕХЕ его тоже задавать не надо. Ну уж если очень надо, то, например, так:
mov ax, dword ptr ds:[offset var]
Ответ отправлен: 27.04.2002, 07:50
Отправитель: Топор
Отвечает DiGiT
Доброе время суток, Dark_Lord!
все переменные(если в асме их так можно назвать) адресуются через ds. В нем может быть адрес любого сегмента. Если нужно явно адресовать через другой сегмент, то пиши например es:variable
Ответ отправлен: 27.04.2002, 07:56
Отправитель: DiGiT
Отвечает Dron
Добрый день, Dark_Lord!
вообще-то сегмент проще задавать в сегментных регистрах.
про адресацию не буду ничего говорить, давно уже не программлю под ДОС... :)
Ответ отправлен: 27.04.2002, 11:26
Отправитель: Dron
Отвечает Артём Шегеда
Приветствую Вас, Dark_Lord!
Неправильное понимание проблемы. Попробуем разобраться...
Основное отличие .EXE от .COM в том, что первый содержит море дополнительной информации, в том числе и так называемые fixup, т.е. коррекции. Эти коррекции указывают на то, что какое-то слово программы после загрузки необходимо откорректировать, т.е. к существующему значению прибавить сегмент посадки программы в память (программы могут размещаться в любой области памяти). Таким образом, можно, не напрягаясь, получить реальное значение сегмента какой-либо переменной или процедуры. Для получения сегмента какого-то объекта программы необходимо использовать функцию SEG.
Если тебе захочется узнать сегмент какого-то объекта в .COM-прграмме, то придётся отталкиваться только от CS. А fixup в .COM отловится ещё на этапе линкования - ты получишь ошибку "segment-relocatable items present".
Ответ отправлен: 27.04.2002, 12:06
Отправитель: Артём Шегеда
Отвечает freeseacher
Здравствуйте, Dark_Lord!
нет.
Cseg ends
dseg segment
bla
bla
bla
dseg ends
cseg segment
На asm .exe делают только очень редкие извращенцы... :-)))
Ответ отправлен: 27.04.2002, 13:13
Отправитель: freeseacher
Отвечает GL
Доброе время суток, Dark_Lord!
Адресация в ехе почти такая же как и в сом, только надо учитывать, что имеется несколько сегментов и перед обращением к "переменной" настраивать используемые при адресации сегментные регистры. По умолчанию при адресации к данным используется регистр DS (Data Segment) и если "переменные" находятся в сегменте данных и DS настроен на сегмент данных, то и адресуешься как в обычной сом-программе (например mov di offset metka).
Удобно также пользоваться специальными командами, например:
lds si,metka - адрес метки в ds:si
les di,metka - адрес метки в es:di
Ответ отправлен: 27.04.2002, 19:14
Отправитель: GL
Отвечает Ayl
Здравствуйте, Dark_Lord!
Ну так и будет - seg:
mov ax, seg My_Var
mov es, ax
mov di, offset My_Var
В результате в es:di - адрес переменной My_Var
Ответ отправлен: 27.04.2002, 19:19
Отправитель: Ayl
Отвечает baldr
Приветствую Вас, Dark_Lord!
Если ты уже загрузил вначале программы в DS или ES сегмент:
MOV AX, SEG @DATA
MOV DS, AX
то ничего указывать чаще всего не надо... То есть, если ты будешь использовать переменную из
сегмента данных, тебе достаточно указать просто:
MOV AX, MyVar
Но если ты обращаешься, например к переменной из своего сегмента кода, то надо в явном виде
указать сегмент, если, опять же, DS настроен не на него:
MOV AX, CS:BadVar
В общем, если не указано имя сегмента, автоматически используется DS или ES (зависит от
команды).
Если же тебе надо, например, передать в процедуру (вывод строки - INT 21h (AH=9h)) адрес
строки, то загружаешь как обычно, в DX - смещение (OFFSET peremennaya), а DS должен быть уже
настроен на тот сегмент, где эта peremennaya находится... Вот и все!
Ответ отправлен: 27.04.2002, 23:51
Отправитель: baldr
Форма отправки вопроса |
Форма может работать некорректно в почтовых программах "Microsoft Outlook" и "Microsoft Outlook Express". В программе The Bat! подобные формы не работают вообще!
После нажатия на кнопку "Отправить", будет открыто второе окно. Заметьте, что в некоторых браузерах могут стоять запреты на открытие других окон, а также "чрезмерное" кэширование данных, при этом факт отправки Вашего вопроса стоит под сомнением.
Мы рекомендуем открывать рассылку в программе Internet Explorer 5.0+ или отправлять вопросы с сайта по адресу: http://rusfaq.ru/cgi-bin/Message.cgi.
© 2002 Команда RusFAQ.ru.
Вопрос и дополнение |
Ваш вопрос:
Приложение (если необходимо):
Получить ответов:
Выбор рассылки |
Программисту Assembler (81) C / C++ (28) Perl (11) Delphi (21) Pascal (29) Basic / VBA (12) Java / JavaScript (13) PHP (11) MySQL / MSSQL (6) |
Пользователю Windows 95/98/Me (73) Windows NT/2000/XP (64) "Железо" (65) Поиск информации (19) |
Администратору Windows NT/2000/XP (12) Linux / Unix (6) |
Юристу Гражданское право (24) Уголовное право (3) Семейное право (4) Трудовое право (4) КоАП (3) |
Отправить вопрос всем экспертам выбранной рассылки.
© 2002 Россия, Москва. Авторское право: RusFAQ.ru |
http://subscribe.ru/
E-mail: ask@subscribe.ru |
Отписаться
Убрать рекламу |
В избранное | ||