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

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


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

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

Выпуск № 477
от 25.01.2003, 18:20

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


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

masquer
Статус: Профессиональный
Общий рейтинг: 146.53
[Подробней >>]
Eugene
Статус: Опытный
Общий рейтинг: 109.21
URL: мощный файловый архив
[Подробней >>]
Bob Johnson
Статус: Профессиональный
Общий рейтинг: 152.61
URL: Программирование
[Подробней >>]
 
Топор
Статус: Начальный
Общий рейтинг: 112.5
[Подробней >>]
Maverick
Статус: Профессиональный
Общий рейтинг: 139.71
URL: Задачи по ассемблеру
Телефон: 89039415024 (BeeLine GSM)
[Подробней >>]
Ayl
Статус: Профессиональный
Общий рейтинг: 117.8
[Подробней >>]
 
Igoryk
Статус: Опытный
Общий рейтинг: 143.34
URL: IgorykSoft
[Подробней >>]
baldr
Статус: Профессиональный
Общий рейтинг: 113.98
URL: Сайт об ОС DOS. Всем, кто любит эту ОС!
[Подробней >>]
DiGiT[old]
Статус: Опытный
Общий рейтинг: 108.12
[Подробней >>]
 
mang
Статус: Доверительный
Общий рейтинг: 109.13
[Подробней >>]
Andrew Vext
Статус: Опытный
Общий рейтинг: 107.35
[Подробней >>]


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

Вопрос № 2453. Здравствуйте долго и без хлопот глубоко уважаемые эксперты! В вопросе 2421 я просто пошутил на счет ... (ответов: 8)
Вопрос № 2454. Привет! Ответьте пожалуйста на такой вопрос: Имеем start: .... jmp label1 .... label1 .... label2 ..... (ответов: 3)
Вопрос № 2455. Можно ли работать в С++ Bilder 5.0 с masm32? И тоже самое, только в Delphi. Так же интересует с... (ответов: 1)
Вопрос № 2456. Добрый день всем! Если есть у кого-нибудь простенькие программки по работе с FAT и NTFS (и ... (ответов: 1)
Вопрос № 2457. Доброго дня эксперты и другие жители! У меня возник такой вопрос... Возможно ли создать унив... (ответов: 3)
Вопрос № 2458. 1. Приведите примеры машинных команд с использованием различных (всех возможных) способов адресац... (ответов: 5)
Вопрос № 2459. Всем привет ..... (я,ламер) Обьясните почему асм,отличается,отдругих языков(в смысле среда ) на паск... (ответов: 6)
Вопрос № 2460. Можно попросить адресок вашего мыла? (Для Andrew Vext) Я хотел бы с вами пообщаться, плз.... (ответов: 1)
Вопрос № 2461. Здравствуйте, уважаемые эксперты. Как это ни странно, не могу установить masm. До этого использовала... (ответов: 2)

Вопросов: 9, ответов: 30


 Вопрос № 2453

Здравствуйте долго и без хлопот глубоко уважаемые эксперты!
В вопросе 2421 я просто пошутил на счет того , что дисассемблировал драйверы и перевожу их на Бейсик, уж очень меня позабавил ответ Bob Johnson к вопросу №2323, теперь когда шучу буду ставить принятый значок - :) . Я прекрасно понимаю , что Ассемблер необходим для написания драйвера под нестандартное оборудоание Win 9x, хотя для Win NT он в принципе и не нужен. Я не думаю, что язык адаптированный к процесору, а не к человеку имеет какое то будущее. К сожалению в большенстве своем ассемблер изучают и используют для взлома программ, а не для написания новых. Сильно сомневаюсь, что если собрать крякеров России они смогут создать Win 95. Написать глючный патч для взлома программы гораздо проще, чем коректное во всех отношениях пользовательское приложение. Нормальным программистам без завышеных амбиций приходится переходить на Ассемблер для защиты своих же программ! Не удивительно, что в Силиконовой долине работают 20% российских программистов.
Может я и перегибаю палку!
Росматривайте это не как вопрос, а как размышление после прошедшего дня рождения моей племяницы Насти!



Вопрос отправлен: 20.01.2003, 20:22
Отправитель: konst

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

Отвечает masquer

Доброе время суток, konst!
Хе-хе, половина вопросов в рассыку, это вопросы типа "ребята, нафиг вам этот ассемблер нужен", в той или иной форме. Это дело сугубо личное.
По поводу драйверов - команда самого богатого писателя в мире действительно сделала все возможное, чтобы драйвера для NT (KMD, WDM) проще было на си писать. Кстати, так оно и есть, в асме (пока) для работы с уникодом средств нет, извращаться приходится, ну и инклудов нормальных нет, лиьы переделывать приходится.
По поводу кракеров - только процентов 10 из них действительно классные специалисты (программист + криптоаналитик + много чего), остальные чувствуют себя крутыми спецами после изменения 75h на EBh. А не пишут ничего потому что ленивые. И вообще, я не понимаю, как программист может быть НЕ ЛЕНИВЫМ человеком :)

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


Отвечает Eugene

Приветствую Вас, konst!
Хороших программистов действительно сейчас очень трудно найти. Расплодилось всяких недоучек, которые поставят делфи или билдер и думают, что умеют программировать. Создавая бесконечные супер пупер крутые утилиты по очистке реестра или очередные "убийцы нотепада". Сейчас программистов столько же, сколько раньше было экономистов. К сожалению приходится признать, что таким программистам не по силам разбираться в работе железа. Приходиться придумывать языки, приближённые к разговорному. Что приводит к очень печальным последствиям.

Ответ отправлен: 21.01.2003, 09:37
Отправитель: Eugene


Отвечает Bob Johnson

Добрый день, konst!
> хотя для Win NT он в принципе и не нужен
вот это уже интересно... А что, Win NT - это С++ forever? Если уж использовать асм для win9x, то что мешает использовать его в таком же драйвере под winnt (он не будет сильно отличаться).
> Сильно сомневаюсь, что если собрать крякеров России они смогут создать Win 95
Ну они же крякеры... Они занимаются обратным. Но вот мне кажется, что если же все-таки собрать программистов на асме, и они смогут подружиться, то они написали бы ОС уровня win 95.


Ответ отправлен: 21.01.2003, 13:31
Отправитель: Bob Johnson


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

Приветствую Вас, konst!
С днём рождения племянницу! А насчёт адаптации языка к чему ни попадя - так ведь в UNIX-системах, например, компиляторы без передыху пашут как часть ОС, а ведь они тоже не от святого духа родятся. Всему своё начало есть, и в нашем деле оно - в Асме.


Ответ отправлен: 21.01.2003, 12:10
Отправитель: Топор


Отвечает Maverick

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


Ответ отправлен: 21.01.2003, 14:45
Отправитель: Maverick


Отвечает Ayl

Добрый день, konst!
Да уж, разыграл ты нас. :-) Молодец!
Интересно, а почему ты решил, что под Win NT он не нужен? Что, Win NT настолько умная, что знает все возможное оборудование в мире, даже то, которое не создано? Что-то ты тут прогнал, наверное, еще не отошел от дня рождения. :-)
Насчет языка, адаптированного к процессору. Пока процессор будет работать на современных принципах, ему будет нужен специализированный язык. Потому что он в состоянии выполнить только программу на этом языке. Да, мы ушли достаточно далеко от ситуации, когда для создания программ надо было вносить программу в машинных кодах. И даже от единственного языка ассемблера.
Но при разработке нового процессора вначале есть только его машинный язык и соответствующий язык ассемблера. И только потом появляются ЯВУ с учетом команд нового процессора.
И, кстати, неуверен, что если собрать российских программистов (не только крякеров), то они не смогут написать хорошую ОС. Особенно, если создать им условия, как в Microsoft. Сам же пишешь, что 20% работают в Силиконовой долине. Что, они там только защитой своих программ занимаются? А если бы у них были такие же условия, но здесь? Не думаю, что они бы туда уезжали. Посмотри на хоккей - создали у нас условия и из НХЛ стали возвращаться. Не думаю, что у программистов была бы другая ситуация.
И еще по поводу ЯВУ и ассемблера. Сейчас для винды ядро и драйвера разрабатывают в основном на Си. Со вставками на асме для особо критических кусков кода. Результат - на лице. :-) Несколько десятков мегабайт кода, не очень быстрая работа и т.п.
А еще есть такая система реального времени, как QNX. Ее ядро занимает 8К. Да, без GUI. Но ведь не десять же мегов GUI будет занимать. А все потому, что система написана на асме. Еще есть система МенуэтОС. Уже с оконным интерфейсом. И тоже занимает немного места (точно не более 2-х дискет).
Могу еще примеры привести. Была такая машина в конце 80-х годов - Yamaha MSX-2. Процессор - Z80. Хорошая машинка. Уже в те годы (разработка 1985 года) имела 2 текстовых и 6 графических режимов, причем 1 с поддержкой 256 цветов при разрешении 256*212. Напомню, что IBM XT комплектовались в основном CGA адаптером. Плюс встроенный звук (3 звуковых канала и 1 шумовой).
Так вот, процессор Z80 по системе команд проигрывал 8086 (к тому же первый - 8-миразрядный, а второй - 16-тиразрядный). Для ямашки было выпущено очень много красивых игрушек. В частности, Knight. Занимал он очень много, аж 32К. Не помню точно, когда, но для IBM тоже была написана аналогичная программа. Практически один в один (те же уровни, те же монстры). Да, графика чуть удучшена. Занимала уже около 500К. В чем дело, спросишь? А очень просто - написана была на ЯВУ. А ямашная - на чистом асме.


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


Отвечает Igoryk

Приветствую Вас, konst!
Если собрать крякеров - Windows не написать. Так же как если собрать программистов на BASIC и заставить из писать на незнакомом языке. Кряк - это только одна из широких возмоностей ассемблера. Насчет адаптированности. Ну вообще-то язык (не только программирования) должен выбираться по удобству использования. Есть задачи, которые проще решить на ассемблере - мне не давно попалась - на асме получилось 34 строки на паскале 54. Ну а о размере программ я уже не говорю.

Ответ отправлен: 21.01.2003, 21:17
Отправитель: Igoryk


Отвечает baldr

Добрый день, konst!
Мда... Так шутить - это ж каким садистом быть надо! :) Ты представь, что МЫ подумали! :)
А насчет 20% - это от всех российских или от всех, кто в Silicon Valley? :)


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


 Вопрос № 2454

Привет!
Ответьте пожалуйста на такой вопрос:
Имеем
start:
....
jmp label1
....
label1
....
label2
....
end start
Будет ли выполнятся то, что после label2?
Спасибо!



Вопрос отправлен: 20.01.2003, 22:50
Отправитель: DeathDemonA (DeathDemonA@list.ru)

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

Отвечает masquer

Приветствую Вас, DeathDemonA!
А почему нет? Будет. Только не скомпилируется, двоеточий нет

Ответ отправлен: 21.01.2003, 14:19
Отправитель: masquer


Отвечает Bob Johnson

Здравствуйте, DeathDemonA!
Из приведенного примера однозначного ответа не следует.


Ответ отправлен: 21.01.2003, 13:31
Отправитель: Bob Johnson


Отвечает Eugene

Добрый день, DeathDemonA!
Если после label1 не встречается команд завершения процедуры типа ret, или перехода в другое место. То код после метки label2 выполнится.

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


 Вопрос № 2455


Можно ли работать в С++ Bilder 5.0 с masm32? И тоже
самое, только в Delphi. Так же интересует сопряжение с
fasm & nasm.Если да, то как? Если можно, то примерчик
черкнуть.



Вопрос отправлен: 20.01.2003, 23:01
Отправитель: Анатолий

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

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

Здравствуйте, Анатолий!
Можно транслировать TASMом, а линковать майкрософтовским линкером - оптимальное совмещение их достоинств, если забыть, что TASM не держит команды выше MMX. Насколько я понимаю, в Билдере добавить в проект неродной компилятор не получится.


Ответ отправлен: 21.01.2003, 12:05
Отправитель: Топор


 Вопрос № 2456


Добрый день всем!
Если есть у кого-нибудь простенькие программки по работе с
FAT и NTFS (и другие), то буду признателен. Как работает
понимаю, а вот построить прогу на асме сложновато.



Вопрос отправлен: 20.01.2003, 23:07
Отправитель: glaxo (glaxo@mail.ru)

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

Отвечает Maverick

Здравствуйте, glaxo!
Погляди исходники доса.


Ответ отправлен: 21.01.2003, 14:46
Отправитель: Maverick


 Вопрос № 2457


Доброго дня эксперты и другие жители!
У меня возник такой вопрос... Возможно ли создать
универсальную загрузочную дискету (2 и более ОСей)?
И как можно ее руками создать? Какие универсальные
дрова надо написать на асме (или взять стандартные)?
Вообще проконсультируйте на эту тему...



Вопрос отправлен: 20.01.2003, 23:13
Отправитель: noname

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

Отвечает Bob Johnson

Здравствуйте, noname!
Что это значит? не понял вопроса что-то...
Есть программы - boot manager'ы, которые позволяют загружать несколько ОС (которые установлены). Количество ОС при этом ограничено количеством разделов. Если поместить такую прогу на дискету - получится то, что ты хочешь.
Вся фишка таких программ заключается в загрузке одного из возможных boot-секторов и передача ему управления. А уж он сам загрузит свою ОС.


Ответ отправлен: 21.01.2003, 13:32
Отправитель: Bob Johnson


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

Добрый день, noname!
Сделать-то всё можно, не расшибиться бы сдуру. Суди сам - например, ядро ДОС размером что-то около 270 килобайт, плюс самые неюбходимые настроечные приблуды к нему - и дискета полная. А ведь это самая простая ОС...


Ответ отправлен: 21.01.2003, 11:59
Отправитель: Топор


Отвечает Ayl

Приветствую Вас, noname!
Брр... Это как? Что в нее должно входить?
Что значит универсальные дрова? Они не могут быть универсальными, так как для каждой ОС свой принцип работы с драйверами.
Насколько я понял, ты хочешь грузиться с дискеты без использования винчестера. Тогда боюсь, что у тебя ничего не получится по одной простой причине - размер дискеты очень маленький (Господи, еще 10 лет назад меня за такую фразу убили бы!). Даже нормальная загрузочная дискета для ДОС (С необходимыми утилитами) в минимальном объеме занимает около 800К. Виндовая дискета - уже полностью занята. Делай выводы.

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


 Вопрос № 2458

1. Приведите примеры машинных команд с использованием
различных (всех возможных) способов адресации.
2. Что такое и для чего нужен стек?
3. Чем отличаются ближняя и дальняя (far и near) адресные
ссылки?
4. Какие ограничения имеют команды умножения и деления
процессора I8086?
5. Куда адресует указатель стека процессора I8086:
на последнюю занятую или первую свободную ячейку стека?
6. Какие побочные явления могут возникать при передаче аргументов макроопределениям? Если можно то пример.



Вопрос отправлен: 21.01.2003, 07:41
Отправитель: lalapa (lalapa@yandex.ru)

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

Отвечает DiGiT[old]

Добрый день, lalapa!
Нда прямо как препод в вузе :((.
Есть учебник Юрова, Зубкова почитай их так будет проще.
И потом чтобы не читать в рассылке по странице ответа.
1А адресации бывают регистровые, непосредственно, прямой режим, регистровый косвенный, косвенная со смещением...
2Стек -- объект в общем смысле.
3размером адреса.
4делимое 16бит делитель 8 бит
5на ту которую настроишь
6ну типа #define MIN(x1, x2) (x1)>(x2) ? (x1):(x2)
передай i++ и будет косяк ..

Ответ отправлен: 22.01.2003, 06:28
Отправитель: DiGiT[old]


Отвечает Ayl

Добрый день, lalapa!
А в книжку заглянуть никак? Мы же тут не на экзамене...
Ну да ладно.
1. Всего в процессоре 386+ 11 видов адресации:
а) регистровая - операнд находится в регистре (mov ax, bx)
б) непосредственная - операнд задается прямо в команде (mov ax, 1)
в) прямая - адрес операнда задается в команде
(mov ax, word ptr [500])
г) косвенная - адрес операнда задается в регистре
(mov ax, [bx])
д) базовая - содержимое базового регистра суммируется со смещением (mov ax, [bx+2])
е) индексная - то же самое, но используется индексный регистр (mov ax, [si+2])
ж) индексный с масштабированием - содержимое индексного регистра умножается на масштаб (1,2,4,8) и суммируется со смещением (mov ax, [esi*4+2])
з) базово-индексная - содержимое базового регистра складывается с содержимым индексного регистра
(mov ax, [bx + si])
и) базово-индексная с масштабированием - содержимое базового регистра складывается с содержимым индексного регистра, умноженному на масштаб (mov ax, [ebx + 8 * esi])
к) базово-индексная со смещением - содержимое базового регистра складывается с содержимым индексного регистра и со смещением (mov ax, [bx + si + 2])
л) базово-индексная со смещением и масштабированием - содержимое базового регистра складывается с содержимым индексного регистра, умноженному на масштаб и со смещением(mov ax, [ebx + 8 * esi + 2])
2. Стек - структура данных, организованная по принципу LIFO (Last In - First Out, последний пришел - первый ушел). Стек используется для временного хранения значений, сохранения адресов возврата при вызовах подпрограмм, для передачи параметров и т.п.
3. Количеством сохраняемых данных для адреса возврата. Для ближней адресации сохраняется только смещение, для дальней - и сегмент, и смещение. Кроме этого, при ближней адресации можно адресоваться только в текущем сегменте, при дальней ограничение - только доступная для адресации память.
4. Умножение - нет, деление - нельзя на 0, нельзя слишком большое число на слишком малое число.
5. Указатель стека адресует последнюю занятую ячейку стека.
6. Да дофига. Читай книжки.


Ответ отправлен: 21.01.2003, 13:17
Отправитель: Ayl


Отвечает Maverick

Приветствую Вас, lalapa!
А не проще ли почитать соответствующую книгу?
Того же самого Юрова, там все подробно расписано, а потом задавать вопросы о том, что не понятно...


Ответ отправлен: 21.01.2003, 15:08
Отправитель: Maverick


Отвечает Bob Johnson

Доброе время суток, lalapa!
1. Их много...
nop - никакая адресация (нулевая?)
int 56h - непосредственная
mov ax, bx - регистровая
mov ax, [bx] - косвенная базовая
mov ax, [bx + si] - косвенная базово-индексная
mov ax, [bx + 10] - косв. базовая со смещением
mov ax, [bx + si + 10] - косв. базово-индексная со смещ.
ret - стековая
lahf - неявная
и т.д.
2. Для сохранения адресов возврата из процедур и некоторых локальных данных в процедурах.
3. Ближняя представляет собой только смещение (16 бит) и может адресовать данные в пределах текущего сегмента данных, в то время как дальная представлена парой сегмент:смещение (16:16 бит) и может адресовать до 1 мб + 64 кб - 16 б.
4. Умножения - никаких, за исключением того, что один операнд должен находиться в ax, другой - в РОН, результат - dx:ax. Умножает 16 разрядные числа. Результат - 32 разрядный (dx:ax).
Деление - основное ограничение, что результат деления должен быть 16 разрядным (делимое - 32 разр., делитель - 16), иначе выдается ошибка переполнения деления.
5. На последнюю занятую ячейку, т.е.
mov bp, sp
mov ax, [bp]
эквивалентно
pop ax
push ax
6. ???


Ответ отправлен: 21.01.2003, 18:57
Отправитель: Bob Johnson


Отвечает Igoryk

Приветствую Вас, lalapa!
1. Примеров много. Ну вот например:
mov ax, bx
mov ax, cs:0000h
mov as,cs:[bx]
и т.п.
2. Стек - это динамическая организация данных. При которой можно добавлять элемент в конец и считывать конечный элемент.
3. Когда стоит near - значит метка на которую идет передача ближняя, т.е. находится в текущем сегменте, а когда far, то метка находится в другом (не текущем) сегменте.
4. Что вы подразумеваете под ограничениями? Вообще-то команды этого процессора на ноль не делят.
5. На первую с конца или последнюю сначала свободную метку.
6. Вообще-то никаких не должно.

Ответ отправлен: 21.01.2003, 21:17
Отправитель: Igoryk


 Вопрос № 2459

Всем привет .....
(я,ламер)
Обьясните почему
асм,отличается,отдругих
языков(в смысле среда )
на паскале всёпросто
и ещё,вот,я(написал программу,на,асме,как мне её запустить )
Ответьте ПЛИЗ



Вопрос отправлен: 21.01.2003, 07:57
Отправитель: .hf (_hf@tut.by)

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

Отвечает Ayl

Добрый день, .hf!
А потому что тем, кто пишет на асме, нафиг не нужны навороты, допустим, паскалевской среды. Если ты видел когда-нибудь, как работает настоящий юниксоид - у него очень редко когда можно увидеть файловую оболочку. Ему быстрее и проще набрать все в командной строке.
То же и здесь. Подсветка синтаксиса в асме не нужна, потому что команда имеет четкий синтаксис. Опции компилятора - можно написать батник. Хелп по командам - есть книжка под рукой. Надо несколько файлов редактировать - берешь, например, MultiEdit - и вперед. Заодно и расскрасит :-).
Хотя на самом деле и для асма есть оболочки. Думаю, что кто-нибудь тебе ссылки кинет.
Как запустить. Сначала ее надо откомпилировать. Для этого можно использовать, например, TASM и TLINK.
Выполняешь:
tasm prog.asm
Если ошибок не было, должен появиться файл prog.obj. Его нужно теперь слинковать:
tlink prog.obj - получаешь prog.exe
tlink prog.obj /t - получаешь prog.com


Ответ отправлен: 21.01.2003, 13:29
Отправитель: Ayl


Отвечает mang

Доброе время суток, .hf!
Смотри в ящике.Да забыл перед запуском удали proba.exe


Ответ отправлен: 21.01.2003, 15:03
Отправитель: mang


Отвечает Maverick

Доброе время суток, .hf!
Тебе нужен Tasm или Masm, чтоб ассемблировать и линковать свой исходник.
Для доса лучше Tasm.
Если у тебя Tasm:
Tasm.exe myprog.asm
где myprog.asm-твой исходник. После этого у тебя получится объектный файл, myprog.obj , теперь его нужно слинковать.
Tlink.exe myprog.obj /t
Ключ /t показывает, что тебе нужен com файл. Все, получится com'ник , сможешь запустить? :)



Ответ отправлен: 21.01.2003, 14:46
Отправитель: Maverick


Отвечает DiGiT[old]

Доброе время суток, .hf!
Ассемблер это язык псевдомашинных кодов. То есть например
для процессора поступает код команды и он знает что делать,
а в ассемблерах, чтобы не писать команды в виде кодов придуманы мнемонические обозначения. Просто потом программа ассемблер переводит данные псевдокоды в машинные коды. Посмотри твою программу на паскале в каком нибудь просмотрщике например во встроенном в nc, и все поймешь.
А вообще если нет склонности копать как все устроено, лучше не изучай асм и не забивай голову. Изучай лучше современные методы программирования от них польза большая. А асм это удел (или наказание :( ) немногих .


Ответ отправлен: 22.01.2003, 06:20
Отправитель: DiGiT[old]


Отвечает Bob Johnson

Здравствуйте, .hf!
Потому что асм напрямую понимается процессором, в то время как для паскаля между тобой (программистом) и процессором (т.е. на чем она будет выполняться) находится компилятор, который обеспечивает тебе доп. удобство.
Запустить:
tasm /m2 prog.asm
tlink /m2 prog.obj
prog.exe
P.S. Запятых столько не нужно...


Ответ отправлен: 21.01.2003, 18:57
Отправитель: Bob Johnson


Отвечает Igoryk

Приветствую Вас, .hf!
Посыпалось на тебя наверное уже много ответов типа "Ну это же в каждом выпуске есть" и т.п. Ну я отвечу по существу.
1. Команды ассемблера - это перевод команд процессора на понятный человеку язык. Среда - консоль.
2. Это смотря на каком именно ассемблере ты писал программу. Если это TASM, то так:
tasm proga.asm
tlink /t proga.obj.


Ответ отправлен: 21.01.2003, 21:17
Отправитель: Igoryk


 Вопрос № 2460

Можно попросить адресок вашего мыла? (Для Andrew Vext)
Я хотел бы с вами пообщаться, плз.



Вопрос отправлен: 21.01.2003, 09:21
Отправитель: E$h (bbroth@pochtamt.ru)

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

Отвечает Andrew Vext

Добрый день, E$h!
netlib@mail.ru
http://netlib.wallst.ru


Ответ отправлен: 21.01.2003, 12:32
Отправитель: Andrew Vext


 Вопрос № 2461

Здравствуйте, уважаемые эксперты. Как это ни странно, не могу установить masm. До этого использовала tasm, но все советуют от него отказаться.
Я добавила строки из new-conf.sys,new-sys.ini. На счет himem sys, ramdrive.sys i smartdrv - написано merge to config.sys.
Что менять в autoexec.bat и в config.sys? И надо ли это делать?
В system.ini я добавила
DEVICE=C:MASM61BINDOSXNT.386
DEVICE=C:MASM61BINCVW1.386
DEVICE=C:MASM61BINVMB.386
при перезагрузке пишет, что dosxnt не установлен,
что нет файла для запуска win( хотя он загружается), а эмуляция дос не работает. А дос, естественно нужен.
Кстати, ставить я пыталась masm611, а стоит у меня win98
Заранее благодарю



Вопрос отправлен: 21.01.2003, 11:55
Отправитель: Ольга (galateya2003@yahoo.com)

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

Отвечает Bob Johnson

Добрый день, Ольга!
> До этого использовала tasm, но все советуют от него отказаться
А ты никого не слушай... Я вот использую тасм и мне хорошо. Раньше использовал под дос, теперь под windows, и счастье у меня полное даже без шоколада "Россия".


Ответ отправлен: 21.01.2003, 18:57
Отправитель: Bob Johnson


Отвечает baldr

Здравствуйте, Ольга!
Ну и зря все так советуют отказаться от tasm! Многоуважаемый С.В.Зубков, между прочим,
примеры в своей книге почти все по умолчанию приводит для tasm, правда, в совместимом для
других компиляторов виде... В masm есть тенденция использовать invoke для вызова функций,
что облегчает написание программы, но усложняет ее переносимость. Ну, и еще он там пару
аргументов приводит...
А вообще, с установкой masm у меня проблем не возникало. Никуда ничего, по-моему, прописывать
не надо - он и без того работать будет. Правда, для dos он уже не подойдет, он, ведь, masm32!
Эти файлики - это просто модули для контроля при отладке vxd или еще каких системных сервисов.
Насчет эмуляции dos - непонятно.. :(
А если при загрузке компьютера, когда только появляется надпись "Starting Windows 98", нажать
клавишу F8 и выбрать "Command Prompt Only"?


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



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

Внимание!
Форма может работать некорректно в почтовых программах "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 (38)
C / C++ (30)
Perl (5)
Delphi (18)
Pascal (22)
Basic / VBA (12)
Java / JavaScript (10)
PHP (6)
MySQL / MSSQL (5)
Пользователю
Windows 95/98/Me (36)
Windows NT/2000/XP (29)
"Железо" (34)
Поиск информации (19)
Администратору
Windows NT/2000/XP (12)
Linux / Unix (14)
Юристу
Гражданское право (10)
Семейное право (6)
Трудовое право (5)
КоАП (4)

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




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

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


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

В избранное