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

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


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

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

Выпуск № 767
от 11.09.2004, 10:10

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


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

Стас
Статус: Опытный
Общий рейтинг: 121.88
[Подробней >>]
Алексей
Статус: Опытный
Общий рейтинг: 151.4
[Подробней >>]
Bob Johnson
Статус: Профессиональный
Общий рейтинг: 134.51
URL: Программирование
[Подробней >>]
 
Александр
Статус: Доверительный
Общий рейтинг: 145.83
[Подробней >>]
Евгений Иванов
Статус: Профессиональный
Общий рейтинг: 132.68
URL: Super Assembler Software
Телефон: НСС +7 831 3107039
[Подробней >>]
Tigran K. Kalaidjian
Статус: Профессиональный
Общий рейтинг: 184.35
URL: Персональная страничка
[Подробней >>]
 
Александр Чуранов
Статус: Начальный
Общий рейтинг: 134.37
[Подробней >>]
Василевский Александр
Статус: Начальный
Общий рейтинг: 120.51
[Подробней >>]
flasher
Статус: Доверительный
Общий рейтинг: 105.59
[Подробней >>]
 
SackTap
Статус: Доверительный
Общий рейтинг: 111.21
[Подробней >>]


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

Вопрос № 5801. Здравствуйте,у меня такой вопрос.Я открываю exe файл в дезассемблере и мне надо найти там строку кот... (ответов: 2)
Вопрос № 5802. Здраствуйте. Помогите пожалуйста. Суть программы 'prg.exe': Запускает программу test.exe и в процесс... (ответов: 2)
Вопрос № 5803. Судари и сударыни! Все, все, все! Помогите! СОС! Во всех книгах (электронных и печатных), что у мен... (ответов: 4)
Вопрос № 5804. Какую нужно почитать литературу по написанию игр в asm для начинающего? Хотя бы простейших: арканоид... (ответов: 3)
Вопрос № 5808. Есть вопросик к профессионалам... :) Описание проблемы. Есть файл exe, он вызывает библиотеку dll (в... (ответов: 1)
Вопрос № 5809. Здравствуйте!Может кто-нибудь дать пример,как в винде в определённой папке найти файл определённого... (ответов: 3)
Вопрос № 5810. Здравствуйте, уважаемые эксперты! Подскажите, пожалуйста, как осуществить непосредственное обращение... (ответов: 3)
Вопрос № 5811. Доброе время суток, уважаемые эксперты! Недавно узнал, что link.exe от Microsoft'a пишет после DOS s... (ответов: 3)
Вопрос № 5812. Приветствую всех знатоков в таком не простом, но без сомнения рульном деле, как АССЕМБЛЕР. Народ, по... (ответов: 2)
Вопрос № 5814. Здраствуйте я решил изучать язык Ассемблер,и не знаю где взять программу для работы на языке Ассембл... (ответов: 3)

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


 Вопрос № 5801

Здравствуйте,у меня такой вопрос.Я открываю exe файл в дезассемблере и мне надо найти там строку которая отвечает за проверку CRC у другой программы.И поменять CRC на нужный мне.Как это сделать,и подскажите какого вида должна быть эта строка.
Заранее спасибо всем.



Вопрос отправлен: 02.09.2004, 13:43
Отправитель: Станислав

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

Отвечает Стас

Приветствую Вас, Станислав!
Да какого угодно. Как напишет человек или компилятор.
Лучше всеже дебаггером бежать по патчу, и скорее всего, увидишь большой цикл - когда он начнет считать CRC.

Ответ отправлен: 02.09.2004, 15:56
Отправитель: Стас


Отвечает Алексей

Здравствуйте, Станислав!
эта строка может быть всякого вида. Но есть определенные зависимости. Таких строк в файле ОЧЕНЬ МНОГО. Если не лень, кинь мне на мыло сам кряк и ломаемый EXE-шник. Я погляжу, потом отвечу что к чему. А строка например так:
call ????? ; вызывает функцию сравнения CRC исходной и полученной
test ax, ax ; регистры могут быть любые, обычно al или ax, зависит от компилятора. Эта строка может быть и такой cmp al, ????
jz ??? ; в случае если нашелне нашел - условный переход. Здесь может быть все что угодно, но обычно jz, je, jnz, jne.
Тебе надо изменить jz на jnz, а je на jne. Вообщем на обратную...
Это только один из примеров... там может быть все что угодно, зависит от компилятора, от программиста и т.д.... Лучше просто пришли по мылу (см. выше). clover@fromru.com

Ответ отправлен: 02.09.2004, 14:03
Отправитель: Алексей


 Вопрос № 5802

Здраствуйте.
Помогите пожалуйста.
Суть программы 'prg.exe':
Запускает программу test.exe и в процессе работы меняет его содержимое.

hF=CreateFile("test.exe",GENERIC_READ|GENERIC_WRITE,FILE_SHARE_READ|FILE_SHARE_WRITE,NULL,OPEN_EXISTING, FILE_ATTRIBUTE_NORMAL,NULL);
...
if(!CreateProcess( NULL,"test.exe",NULL,NULL,FALSE,0,NULL,NULL,&si,&pi ))
MessageBox(0,"Не могу запустится!","Ошибка",MB_OK);
-т.к. файл уже открыт
Как сделать чтобы он запустился? И как в процессе работы test.exe можно изменять его содержимое?



Вопрос отправлен: 03.09.2004, 09:47
Отправитель: init

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

Отвечает Bob Johnson

Здравствуйте, init!
нет доступа потому, что ты указал FILE_SHARE_WRITE, т.е. ты разрешаешь изменять этот файл кому-либо еще. Но когда ты пытаешься запустить программу, файл открывается только с FILE_SHARE_READ, а поскольку он уже открыт с FILE_SHARE_WRITE, то ты получаешь ошибку.
> И как в процессе работы test.exe можно изменять его содержимое?
никак.
> Как сделать чтобы он запустился?
убрать FILE_SHARE_WRITE

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


Ответ отправлен: 03.09.2004, 23:05
Отправитель: Bob Johnson


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

Доброе время суток, init!
ЗАКРЫТЬ файл.
Никак, только выгрузив из памяти.
Александр.

Ответ отправлен: 04.09.2004, 10:56
Отправитель: Александр


 Вопрос № 5803

Судари и сударыни!
Все, все, все!
Помогите! СОС!
Во всех книгах (электронных и печатных), что у меня есть приводятся детальные описания того, как работать с ФАТ (поиск кластера и т.п.), но нигде не написано как вычислить по номеру кластера цилиндр, головку и сектор. Получается, что последовательность кластеров я определить могу, а вот данные считать (найди на диске) нет.
Кулаков не помог, т.к. указанные им формулы вообще не работают, т.к. не позволяют из одного получить другое (ошибочные). Если есть инфа пжлста киньте или напишите формулки!!!!!!!!!
Речь шла о формате CHS для НГМД, но я так полагаю, что и для винта и дискеты одно и тоже должно быть (стандарт ведь)!


Приложение:


Вопрос отправлен: 03.09.2004, 17:39
Отправитель: Protopopius

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

Отвечает Алексей

Добрый день, Protopopius!
Преобразование из CHS в LBA:
LBA = ((cylinder * heads_per_cylinder + heads ) * sectors_per_track)+ sector – 1
Преобразование из LBA в CHS:
C = LBA / (heads_per_cylinder * sectors_per_track)
temp = LBA % (heads_per_cylinder * sectors_per_track)
H= temp / sectors_per_track
S = temp % sectors_per_track + 1
Интересно, что преобразование координат из LBA в CHS не однозначно, например в IDE/ATA
дисковом драйвере v1.09(23.04.1999) ядра операционной системы linux-2.2.23-alt2, это же
преобразование реализовано следующим образом:
track = LBA / sectors_per_track
S = LBA % sectors_per_track + 1
H = track % heads_per_cylinder
C = track / heads_per_cylinder

Ответ отправлен: 03.09.2004, 17:52
Отправитель: Алексей


Отвечает Стас

Доброе время суток, Protopopius!
Для этого нужна просто логика, вот смотри:
a) Нужно найти где начинается область данных (1 кластер) на диске.
b) (Сложить его с нужным нам кластером-1)*(количество секторов в кластере(+0Dh байт(в буте))).
c) перевести полученый относительный номер сектора в физический так: RelSec/колво головок на диске = получаем цилиндр. Остаток / колво секторов на дорожку = получаем дорожку. Остаток это сектор. Получили C/H/S.
Теперь как найти начало данных? (1 кластер)
Берем все из бутсектора: количество таблиц FAT(+10h байт) * на секторов в FAT(+16h слово)+колво резервных секторов(+0Eh слово)+колво резервных скрытых секторов(+1Сh слово)+размер директории(+11h слово)/32.
Вот примерно так, если ничего не забыл...

Ответ отправлен: 03.09.2004, 23:33
Отправитель: Стас


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

Добрый день, Protopopius!
Формула такая: Logical_Sector = ( Reserved_Sectors + (Fat_Count * Sectors_Per_Fat ) + ( Sector_Bytes / (Root_Dir_Entries * 32 ) ) + ( ( Start_Cluster - 2 ) * Sectors-Per_Cluster ).
Ето даёт значение DX для Int 25/26h. ( =;-))))) ).
Сам не проверял, но книжке доверяю. Попробуй.
Александр.
p.s.
Если ты использвеш int25/26 - ты сумасшедший. Как я. =%{````.


Ответ отправлен: 04.09.2004, 10:55
Отправитель: Александр


Отвечает Евгений Иванов

Добрый день, Protopopius!
http://superforest.narod.ru/add/disk.rar
* EMan: -=- И легко перо, да на крышу не закинешь. =-=


Ответ отправлен: 04.09.2004, 12:12
Отправитель: Евгений Иванов


 Вопрос № 5804

Какую нужно почитать литературу по написанию игр в asm для начинающего? Хотя бы простейших: арканоид, змейка...



Вопрос отправлен: 03.09.2004, 20:54
Отправитель: Венко

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

Отвечает Tigran K. Kalaidjian

Добрый день, Венко!
Вообще, начинать программировать игры на ассемблере ИМХО не совсем хорошо - трудоёмко.
Найдите в поисковиках книгу:
Андрэ Ла Мот. "Программирование компьютерных игр".
В интернете она точно есть, но ссылки сейчас не припомню.


Ответ отправлен: 07.09.2004, 08:49
Отправитель: Tigran K. Kalaidjian


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

Добрый день, Венко!
Ты сначало асм изучи, а потом игры и пиши. Или попробуй на другом языке написАть ( если конечно ты на других языках программировать умееш (: ) и _отладить_ ( ;)) ), а затем перевести на асм.
IMHO: для начинающего писать игру на ASM`е с нуля ( т.е. без предварительной подготовки в виде написания простых прог ) - не по силам. Хотя, если ты гений.....
А зачем литература - только для идей. А они у тебя есть. Сам продумай структуру игры - так намного интереснее и полезнее ( уж поверь мне ).
Александр.
p.s.
Где-то ссылка была, но найти не могу т.к. всё настроено на автоочистку );.



Ответ отправлен: 04.09.2004, 10:53
Отправитель: Александр


Отвечает Алексей

Здравствуйте, Венко!
Для начала определись, под какую платформу Windows или DOS. От этого нужно отталкиватся. Далее, в зависимости от выбора, тебе нужно изучить работу с графикой под выбранную платформу. Затем литературу по использованию Input-Device, т.е. мышки и клавиатуры. После этого, литературу по простейшим алгоритмам, которые ты можешь использовать в своей игре (это может уже не понадобиться)... конкретную литературу посоветовать можно, если ты более конкретно скажешь, что ты хочешь ;)

Ответ отправлен: 04.09.2004, 13:53
Отправитель: Алексей


 Вопрос № 5808

Есть вопросик к профессионалам... :)
Описание проблемы.
Есть файл exe, он вызывает библиотеку dll (всё в коде win16)
В Win98 библиотека выдает ошибку(белое окно"Закрыть"+"Пропустить"), при нажатии на пропуск все нормально.
В WinXP стандартное окно об ошибке.
Вопрос
Можно ли перехватив функцию, перехватить исключении в этой функции?
Если да, то как?
Насчет перехвата функций это вполне понятно написано в инете, а вот насчет перехвата исключений ничего нету.
Приветствуется идеи
P.S.
Может быть лучше глобальный(системный перехватчик) - но незнаю с чего его начать



Вопрос отправлен: 06.09.2004, 11:35
Отправитель: Atlant

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

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

Добрый день, Atlant!
  1. "Насчет перехвата исключений ничего нету" - кто Вам сказал такую чушь. Есть. "Win32 Exception handling for assembler programmers" by Jeremy Gordon. http://www.GoDevTool.com
  2. Если программа написана под ДОС, то и запускать её лучше под ДОС. Либо переписать для "Виндовс".



Ответ отправлен: 09.09.2004, 19:39
Отправитель: Александр Чуранов


 Вопрос № 5809

Здравствуйте!Может кто-нибудь дать пример,как в винде в определённой папке найти файл определённого расширения(хтмл,например)?
Заранее спасибо!



Вопрос отправлен: 06.09.2004, 12:20
Отправитель: gnev

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

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

Добрый день, gnev!
Если я правильно понял, то требуется произвести поиск файлов в определённом каталоге. Для этого используется функции FindFirstFile, FindNextFile и FindClose.
FindFirstFile
HANDLE FindFirstFile(
LPCTSTR lpFileName, // имя файла
LPWIN32_FIND_DATA lpFindFileData // структура поиска
);
Данная функция начинает поиск файлов. В строке lpFileName должен быть указан папка, где ищутся файлы, и имя файла или маска (типа "*.html"). Функция возвращает INVALID_HANDLE_VALUE в случае ошибки или дескриптор поисковика.
FindNextFile
BOOL FindNextFile(
HANDLE hFindFile, // дескриптор поиска
LPWIN32_FIND_DATA lpFindFileData // структура поиска
);
Данная функция производит поиск следующего файла. hFindFile - дескриптор, который возвратила функция FindFirstFile. Функция возвращает 0, если произошла ошибка или больше подходящих файлов нет.
FindClose
BOOL FindClose(
HANDLE hFindFile // дескриптор поиска
);
Функция освобождает дескриптор, созданный FindFileFirst.
WIN32_FIND_DATA
typedef struct _WIN32_FIND_DATA {
DWORD dwFileAttributes; // аттрибуты файла
FILETIME ftCreationTime; // время создания файла
FILETIME ftLastAccessTime; // время последнего доступа
FILETIME ftLastWriteTime; // время последнего изменения
DWORD nFileSizeHigh; // размер файла (64 бита)
DWORD nFileSizeLow; // (младшая часть)
DWORD dwReserved0;
DWORD dwReserved1;
TCHAR cFileName[ MAX_PATH ]; // имя файла
TCHAR cAlternateFileName[ 14 ]; // имя файла в DOS
} WIN32_FIND_DATA, *PWIN32_FIND_DATA;
Данная структура заполняется функциями FindFirstFile и FindNextFile и содержит информацию о найденном файле.
В качестве примера, следующая программа на C++ выведет на экран список файлов в каталоге C:Windows с рас ширением *.exe.
#include
#include
void main( void )
{
HANDLE hFind; // дескриптор поисковика
WIN32_FIND_DATA w32fd; // структура поиска
// здесь путь поиска и маска файлов
const char* path = "c:\windows\*.exe";
// начинаем поиск - создаём поисковик
hFind = FindFirstFile( path, &w32fd );
// если поисковик создан - проходим по всем файлам
if ( hFind!=INVALID_HANDLE_VALUE )
do {
// здесь что-нибудь делаем с найденным файлом
printf( "%s ", w32fd.cFileName );
// ищем следующий файл
} while ( FindNextFile( hFind, &w32fd ) );
// закрываем поисковик
FindClose( hFind );
}


Ответ отправлен: 06.09.2004, 13:45
Отправитель: Василевский Александр


Отвечает flasher

Добрый день, gnev!
Юзай FindFirstFile/FindNextFile

Ответ отправлен: 06.09.2004, 13:58
Отправитель: flasher


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

Добрый день, gnev!
"Найти файл определённого расширения" - и по имени, и по дате и т.п.
Изучите следующие функции:
HANDLE FindFirstFile(LPCTSTR lpFileName, LPWIN32_FIND_DATA lpFindFileData);
BOOL FindNextFile(HANDLE hFindFile, LPWIN32_FIND_DATA lpFindFileData);
BOOL FindClose(HANDLE hFindFile);


Ответ отправлен: 09.09.2004, 19:39
Отправитель: Александр Чуранов


 Вопрос № 5810

Здравствуйте, уважаемые эксперты!
Подскажите, пожалуйста, как осуществить непосредственное обращение к портам ввода-вывода в NT, в частности обращение к BIOS. Почему не работают команды IN, OUT как в Win98?



Вопрос отправлен: 06.09.2004, 17:09
Отправитель: Ramil

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

Отвечает SackTap

Здравствуйте, Ramil!
ха! в окнах нт in out - привилегированные команды в 3-ем кольце (проги юзера) не разрешаются. драйвер надо писать.

Ответ отправлен: 06.09.2004, 19:48
Отправитель: SackTap


Отвечает Алексей

Здравствуйте, Ramil!
Доступ к портам BIOS в NT возможен только из ring0, т.е. из драйвера режима ядра. Про это можно прочитать wasm.ru - здесь.

Ответ отправлен: 07.09.2004, 17:02
Отправитель: Алексей


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

Здравствуйте, Ramil!
"Почему не работают команды IN, OUT?" - а с какого перепугу им бы там работать?

"Виндовс" - это операционная система. Одной из функций любой ОС является управление устройствами. То есть всем "железом" управляет система, а программам этого делать нельзя. Чтобы не передрались между собой из-за ресурсов. Чтобы в компьютере был порядок, ОС запрещает программам общаться напрямую с устройствами. Работать с устройством необходимо через его драйвер, которому система доверяет и разрешает обращаться к портам ввода-вывода (драйверы считаются частью ОС).

Так что для решения Вашей задачи либо используйте функции системы, либо пишите драйвер.




Ответ отправлен: 09.09.2004, 19:39
Отправитель: Александр Чуранов


 Вопрос № 5811

Доброе время суток, уважаемые эксперты!
Недавно узнал, что link.exe от Microsoft'a пишет после DOS stub'a перед собственно PE-заголовком не мусор, а что-то осмысленное. Это что-то еще каким-то ключом поXORено. Не подскажете, какая конкретно информация пишется и какой ключ на нее накладывается?
Заранее спасибо.



Вопрос отправлен: 06.09.2004, 19:29
Отправитель: Xanasu

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

Отвечает flasher

Здравствуйте, Xanasu!
Патч на MS link.exe
http://www.wasm.ru/toollist.php?list=7

Ответ отправлен: 06.09.2004, 19:51
Отправитель: flasher


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

Добрый день, Xanasu!
А ты сам[а/о] подсчитай встречаемость букв ( русского и англицкого алфАвитов ) и расщифруй ( если конечно тама XOR`ен ;-) ).


Ответ отправлен: 08.09.2004, 08:39
Отправитель: Александр


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

Здравствуйте, Xanasu!
Не знаю. Но советую пользоваться alink или FASM, потому что программу "Интернет Эксплорер" от Микрософт не раз ловили за распространением личной информации. Хотя, что касается link от Микрософт, то я слышу об этом в первый раз.


Ответ отправлен: 09.09.2004, 19:39
Отправитель: Александр Чуранов


 Вопрос № 5812

Приветствую всех знатоков в таком не простом, но без сомнения рульном деле, как АССЕМБЛЕР.
Народ, подскажите ПЛИЗЗЗЗ опять как быть с сопроцессором. Как вводить вещ. числа я вроде как-то разобралась(бесконечно благодарю Эксперта Алексея в этом!), а вот теперь у меня проблемка-то появилась в том, что при компиляции проги, в стеке я вижу нормальные числа, а уже при пересылке их в какую-либо переменную почему-то выходит совершенно что-то другое. Ну, я, конечно, поняла что это то же самое число, но в 16-ричном каком-то виде. А как же мне ему тады придать нормаьный вид? ТОлько пожалуйста не надо и на этот раз указывать мне на какие-либо там спец. написанные для этого дела ф-ции, ибо я как-то не очень хотела бы пользоваться готовым, а хотелось бы самой сделать это, но вот как.... Может кто подскажет как же сделать-то это моно самостоятельно.
Заранее благодарю.



Вопрос отправлен: 06.09.2004, 23:47
Отправитель: Tiana (ptaniya@mail.ru)

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

Отвечает Tigran K. Kalaidjian

Доброе время суток, Tiana!
Я так понимаю, что Вы пользуетесь TD. Если так, то перейдите в окошко данныхдампа, щелкните правой кнопкой мыши и выберите нужный пункт в "Display As..."
Единственное, что это может не помочь - все переменные могут иметь разную длину, поэтому может возникнуть нежелательный сдвиг и данные лево проинтерпретируются, поэтому разместите нужную переменную в начале отдельного сегмента - так будет лучше.
Готовые и прочие функции не нужны, ибо все данные в памяти машины хранятся в виде нулей и единиц ;), их надо только по-нужному проинтерпретировать.

Ответ отправлен: 10.09.2004, 21:29
Отправитель: Tigran K. Kalaidjian


Отвечает Алексей

Приветствую Вас, Tiana!
Если я правильно понял, ты хочешь вывести на экран значение, хранящееся в стёке st(0). Принцип такой: определяемся, сколько знаков после запятой мы хотим вывести. Мы имеем хорошую команду FIST, она записывает целую часть содержимого стека в переменную. После чего мы выводим на экран в десятичном формате это значение, рисуем запятую на все том же экране и... Далее необходимо вывести дробную часть. Для этого (мы уже определились с кол-вом знаков после запятой) мы умножаем наше число в стеке на 10 в степени X (где X - число знаков после запятой). А также мы умножаем наше ЦЕЛОЕ число (с прошлого шага) на 10 в степени X. После чего (все это делаем в мат. процессоре) вычитаем из первого второе... и что же мы имеем? Если мы опять поюзаем FIST, то увидим, что в переменной как раз наше число (ЦЕЛОЕ), которое необходимо вывести на экран после запятой. Вот пример: у нас есть число 123,456789 в стеке ST(0). Мы юзаем FIST, и в некой перем енной W мы имеем 123. Далее мы это выводим на экран (поочередно делим сначала на 100, потом остаток от предыдущего на 10, вообщем исходник в приложении) и выводим символ запятой. После чего мы хотим вывести 2 знака после запятой, значит 10^2 - 100. Умножаем st(0) на 100 и имеем в стеке 12345,6789. Далее умножаем W на 100 и имеем W=12300. Теперь вычитаем из st(0)-W. Имеем в st(0)=45,6789. Юзаем FIST в переменную и имеем в этой переменной 45. Это как раз те 2 числа, которые нужно вывести после запятой. ВЫВОДИМ!
Один момент - если юзаешь FIST - эта команда просто копирует в переменную st(0). Есть еще команда FISTP - она работает как и предыдущая, но еще и смещает вершину стека сопроцессора. т.е. "выталкивает" значение в переменную.

Приложение:

Ответ отправлен: 07.09.2004, 16:57
Отправитель: Алексей


 Вопрос № 5814

Здраствуйте я решил изучать язык Ассемблер,и не знаю где взять программу для работы на языке Ассемблер,в книге Калашникова (электронной)написан адрес где можно скачать но не как не могу зайти на ващ сайт:).Дайте совет с чего начать.



Вопрос отправлен: 07.09.2004, 10:02
Отправитель: jax

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

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

Доброе время суток, jax!
Я пользуюсь Ассемблером MASM 8 для Windows и скачать его можно по адресу http://www.kofein.com.ua/soft/s/098.html (ссылка работала 07.09.04).


Ответ отправлен: 07.09.2004, 15:51
Отправитель: Василевский Александр


Отвечает Алексей

Здравствуйте, jax!
Начни с того, что свыкнись с мыслью: тебе придется писать в текстовом редакторе. После чего возьми компилятор и линкер и напиши "Hello world". Будет достойное начало. Я уже говорил (извиняюсь за рекламу здесь) зайди на wasm.ru - там и компиляторы и документация... всего полно.

Ответ отправлен: 07.09.2004, 17:06
Отправитель: Алексей


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

Здравствуйте, jax!
  1. Во-первых, "язык ассемблера". Ассемблер - это программа, которая переводит автокод в машинный код. А её язык называется автокодом или языком ассемблера. То есть эта рассылка неправильно называется.
  2. Во-вторых, начинать лучше с того ассемблера, примеры для которого даны у Вас в учебнике. А вообще на сегодня лучший ассемблер - FASM. http://flatassembler.net



Ответ отправлен: 09.09.2004, 19:39
Отправитель: Александр Чуранов



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

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

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

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

Ваше имя:

Ваш e-mail:

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


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

Ваш вопрос:


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


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


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

Программисту
Assembler (26)
C / C++ (17)
Perl (6)
Builder / Delphi (12)
Pascal (20)
Basic / VBA (5)
Java / JavaScript (5)
PHP (15)
Криптография (7)
WinAPI (13)
Радиоэлектроника (11)
Пользователю
Windows 95/98/Me (47)
Windows NT/2000/XP (63)
"Железо" (41)
Поиск информации (19)
Администратору
Windows NT/2000/XP (40)
Linux / Unix (15)
Юристу
Гражданское право (10)
Семейное право (7)
Трудовое право (9)
КоАП (7)

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




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


Яндекс цитирования
© 2001-2004 Россия, Москва. Идея, дизайн, программирование: Калашников О.А. ICQ: 68951340
При перепечатке материалов ссылка на данный сайт обязательна!

http://subscribe.ru/
http://subscribe.ru/feedback/
Подписан адрес:
Код этой рассылки: comp.soft.prog.faq
Отписаться

В избранное