Вход на сайт
Ассемблер
1057
NEW 01.12.08 18:25
Товарищи, подскажите какую-н литературу, желательно на русском языке, для самостоятельного изучения языка ассемблера под Windows.
NEW 01.12.08 20:17
в ответ taksos 01.12.08 18:25
NEW 16.12.08 20:23
привет , я знаю точно что ты можеш ето скачать в инете бесплатно , толко скажи у тебя ассемблер от microsoft (масм) или просто (насм), хотя разнитзы почти нет там только linkers надо другие прописать, я тебе впринзипе могу показать некоторые книги на немезком очен толковые , а так же могу показать как ето делаетца в linux (unter GNU)
вот например нашол сразу две ссылки, качай наздорове, только осторожно если вирусы я неотвечаю :0)
http://www.proklondike.com/contentview.php?content=6
http://yandex.ru/yandsearch?text=%D0%B0%D1%81%D1%81%D0%B5%D0%BC%D0%B1%D0%BB%D0%B5%D1%80+%D0%BA%D0%BD%D0%B8%D0%B3%D0%B0+%D1%81%D0%BA%D0%B0%D1%87%D0%B0%D1%82%D1%8C+%D0%B1%D0%B5%D1%81%D0%BF%D0%BB%D0%B0%D1%82%D0%BD%D0%BE+&stpar2=%2Fh0%2Ftm69%2Fs2&stpar4=%2Fs2
вот например нашол сразу две ссылки, качай наздорове, только осторожно если вирусы я неотвечаю :0)
http://www.proklondike.com/contentview.php?content=6
http://yandex.ru/yandsearch?text=%D0%B0%D1%81%D1%81%D0%B5%D0%BC%D0%B1%D0%BB%D0%B5%D1%80+%D0%BA%D0%BD%D0%B8%D0%B3%D0%B0+%D1%81%D0%BA%D0%B0%D1%87%D0%B0%D1%82%D1%8C+%D0%B1%D0%B5%D1%81%D0%BF%D0%BB%D0%B0%D1%82%D0%BD%D0%BE+&stpar2=%2Fh0%2Ftm69%2Fs2&stpar4=%2Fs2
NEW 18.12.08 11:56
debbuger он довольнотаки универсальный установи его себе на linux ( ubuntu: apt-get install kdbg под другие linuxs: gdb) при компиляции в linux ubuntu (k(x)buntu) -> ddd <filename> или kdbg <filename> , еще надо научитца пользоваться Linker
Вообшем:
0. открываешь терминал
1. входиш как суперюзер (команда: su)
2. пароль
3. инсталируешь ассемблер: apt-get install nasm потом debugger: (ubuntu: apt-get install kdbg под другие linuxs: gdb)
4. пишишь в терминале vim <filename.nasm> ето конешно пишетца везде без скобок (<>)
5. там описиваеш программу
(vim редактор работает очень просто если нет литератури тогда попробуй просто следуюшее:
1. когда зашол нашми на кнопки shift+A , послее етого ти сможишь там вводить данные.
2. после того как ввел все, нажимаем esc и тепер надо сохранить и выдти , пишим внизу в левом углу (курсор туда автоматически прыгает) следующее: :wq
и нажимаем интер, (w-write, q-quit) )
пример как описиваетца программа здесь:
;<filename>.nasm
section .data
; описываешь переменные константи и т.п.
...
section .bss
;еще пока точно незнаю :0)
....
;например: filename resb 0x20
........
section .text
;здесь собственно тело программы (главная программа) , но только после метки старта (_start:)
global _start
;стартуем ничего описивать больше ненадо все уже показали (метку)
_start: ; метка старта
;тело программы
......
; в конзе ненадо ставить end или еще что похожее
Вообшем:
0. открываешь терминал
1. входиш как суперюзер (команда: su)
2. пароль
3. инсталируешь ассемблер: apt-get install nasm потом debugger: (ubuntu: apt-get install kdbg под другие linuxs: gdb)
4. пишишь в терминале vim <filename.nasm> ето конешно пишетца везде без скобок (<>)
5. там описиваеш программу
(vim редактор работает очень просто если нет литератури тогда попробуй просто следуюшее:
1. когда зашол нашми на кнопки shift+A , послее етого ти сможишь там вводить данные.
2. после того как ввел все, нажимаем esc и тепер надо сохранить и выдти , пишим внизу в левом углу (курсор туда автоматически прыгает) следующее: :wq
и нажимаем интер, (w-write, q-quit) )
пример как описиваетца программа здесь:
;<filename>.nasm
section .data
; описываешь переменные константи и т.п.
...
section .bss
;еще пока точно незнаю :0)
....
;например: filename resb 0x20
........
section .text
;здесь собственно тело программы (главная программа) , но только после метки старта (_start:)
global _start
;стартуем ничего описивать больше ненадо все уже показали (метку)
_start: ; метка старта
;тело программы
......
; в конзе ненадо ставить end или еще что похожее
NEW 18.12.08 12:12
далее:
6. Linker описываю:
сначало надо проверить на наличее ошибок (но ето не компиляция), для етого пишим в терминале после того как создали через vim редактор фаил ето:
nasm -g -f elf -o <filename.o> <filename.nasm>
поеснение: -g ето для Debugger , которий будет проверят точнеее компилировать нашу прогу
-f elf проверка на наличия ошибок , -o что-бы фаил наш подогнать для linker (ld)
тепер запускаем linker
ld -g -o <filename> <filename.o>
теперь сам Debugger запускаем и компилируем (предворительно его установив конешно :0) )
ddd &
в ubuntu -> kdbg <filename>
если хочеш посмотрет как программка роботает , тогда после всех етих шагов в терминале напиши ето:
./<filename>
вот и все, ну а там дело за ручками что хочешь, то и программируй
6. Linker описываю:
сначало надо проверить на наличее ошибок (но ето не компиляция), для етого пишим в терминале после того как создали через vim редактор фаил ето:
nasm -g -f elf -o <filename.o> <filename.nasm>
поеснение: -g ето для Debugger , которий будет проверят точнеее компилировать нашу прогу
-f elf проверка на наличия ошибок , -o что-бы фаил наш подогнать для linker (ld)
тепер запускаем linker
ld -g -o <filename> <filename.o>
теперь сам Debugger запускаем и компилируем (предворительно его установив конешно :0) )
ddd &
в ubuntu -> kdbg <filename>
если хочеш посмотрет как программка роботает , тогда после всех етих шагов в терминале напиши ето:
./<filename>
вот и все, ну а там дело за ручками что хочешь, то и программируй
NEW 18.12.08 13:14
после линкер(1. и 2. шага) можно посмотреть с помоши команды: ls -a , сколко у нас в наличие файлов собралось потом просто запустить файл в терминале командой ./u1 и посмотреть работает ли у нас програмка
NEW 31.12.08 17:45
в ответ taksos 01.12.08 18:25
http://tams-www.informatik.uni-hamburg.de/publications/onlineDoc/index.php?content=01-lehre#prakRech
здесь есть программа для windows
WinT3asm Assembler für Windows (neue Version 01.06.2007)
здесь есть программа для windows
WinT3asm Assembler für Windows (neue Version 01.06.2007)
Не стоит принимать доброту за слабость, грубость за силу, а подлость за умение жить.
14.01.09 12:18
в ответ Elwiss 18.12.08 12:12
Извините меня, но я надеюсь, вы не придете работать в нашу компанию с такими знаниями 
-g деиствительно, генерирoвать дебаг инфромацию
-f elf формат обжект/выходного файла -f bin для COMa MS-DOSa; -f obj для ms; -f win32 для ms linker в windows; ваш -f elf для создания ELF для Linuxa
-o как всегда, имя выходного файла (хотя у вас и совпадает (.asm в .o)
дебаггер вы запускаете, но уже все скомпилированно и слинкованно
1) Будьте точнее в терминах
2) Если не хотите, чтоб вас заваливали на всех рабочих интервью, то читайте больше дополнительной документации (например погуглите "nasm command line options" , etc)
В остальном, удачи!

В ответ на:
сначало надо проверить на наличее ошибок (но ето не компиляция), для етого пишим в терминале после того как создали через vim редактор фаил ето:
nasm -g -f elf -o <filename.o> <filename.nasm>
Это как раз таки компиляциясначало надо проверить на наличее ошибок (но ето не компиляция), для етого пишим в терминале после того как создали через vim редактор фаил ето:
nasm -g -f elf -o <filename.o> <filename.nasm>
В ответ на:
поеснение: -g ето для Debugger , которий будет проверят точнеее компилировать нашу прогу
-f elf проверка на наличия ошибок , -o что-бы фаил наш подогнать для linker (ld)
поеснение: -g ето для Debugger , которий будет проверят точнеее компилировать нашу прогу
-f elf проверка на наличия ошибок , -o что-бы фаил наш подогнать для linker (ld)
-g деиствительно, генерирoвать дебаг инфромацию
-f elf формат обжект/выходного файла -f bin для COMa MS-DOSa; -f obj для ms; -f win32 для ms linker в windows; ваш -f elf для создания ELF для Linuxa
-o как всегда, имя выходного файла (хотя у вас и совпадает (.asm в .o)
В ответ на:
тепер запускаем linker
ld -g -o <filename> <filename.o>
теперь сам Debugger запускаем и компилируем (предворительно его установив конешно :0) )
тепер запускаем linker
ld -g -o <filename> <filename.o>
теперь сам Debugger запускаем и компилируем (предворительно его установив конешно :0) )
дебаггер вы запускаете, но уже все скомпилированно и слинкованно

1) Будьте точнее в терминах
2) Если не хотите, чтоб вас заваливали на всех рабочих интервью, то читайте больше дополнительной документации (например погуглите "nasm command line options" , etc)
В остальном, удачи!