Assembly Language for x86 Processors Kip R Irvine

Кип ирвин язык ассемблера для процессоров intel 7 е издание

Это сообщение отредактировал(а) bajik — 8.1.2008, 14:03

Профиль
Группа: Участник Клуба
Сообщений: 685
Регистрация: 7.4.2002
Где: Украина, Харьков

Репутация: нет
Всего: 5

MAKCim, мне кажется,то тему можно закрепить.

Это сообщение отредактировал(а) remax — 8.1.2008, 15:30

Профиль
Группа: Участник
Сообщений: 171
Регистрация: 13.3.2007

Репутация: нет
Всего: нет

Профиль
Группа: Участник
Сообщений: 2
Регистрация: 16.2.2008

Репутация: нет
Всего: нет

Цитата
Ассемблер для процессоров Intel PentiumИздание посвящено вопросам программирования на языке ассемблера для процессоров Intel Pentium.  Рассмотрен широкий круг вопросов, начиная с основ программирования на ассемблере и заканчивая применением самых современных технологий обработки данных, таких как MMS, SSE и SSE2.  Материал книги раскрывает методику оптимизации программного кода для всех поколений процессоров Intel Pentium, включая Intel Pentium 4.  Теоретический материал подкреплен многочисленными примерами программного кода.  Для широкого круга читателей, от студентов до опытных разработчиков программного обеспечения.

Профиль
Группа: Участник
Сообщений: 125
Регистрация: 17.10.2006
Где: Baku

Репутация: нет
Всего: нет

Привет всем.
Ищу книгу про Ассемблера.
Основноя критерия для меня:
1. для начинаюших!
2. независимо от операционного система (не типа: Ассемблер для 'Windows', 'Win32', 'Linux')
3. важно поучиться читать и понять код ассемблера (коды Дизассемблера)

Философия Ассемблера.
ПС. Не важно практика, много о теории, но для начинаюшего пользователя.

Профиль
Группа: Участник
Сообщений: 1
Регистрация: 5.8.2008

Репутация: нет
Всего: нет

Профиль
Группа: Участник
Сообщений: 1
Регистрация: 13.10.2008

Репутация: нет
Всего: нет

Профиль
Группа: Участник
Сообщений: 300
Регистрация: 30.11.2008

Репутация: нет
Всего: 1

Искусство программирования на Ассемблере
user posted image
В книге дано описание основных элементов языка Ассемблера семейства IBM PC: системы счисления, машинное представление данных и команд, основы 16- и 32-разрядного программирования, программирование сопроцессора, ввод-вывод информации в DOS и Windows, использование макросредств. Подробно, шаг за шагом на многочисленных примерах законченных программ рассматриваются идеи и принципы организации вычислений на Ассемблере от простого к сложному, используя аналогию и прямую поддержку со стороны алгоритмических языков Pascal (Borland Pascal-7.0, Delphi-5) и C/C++ (Borland C/C++3.1, 4.5, 5.02, Borland C++Builder 5, Visual C++6.0).
Искусство программирования на Ассемблере

Assembler. Учебник для вузов. 2-е издание
user posted image
Размер файла: 7.69 мб
Тип файла: Pdf
Язык: Русский
Автор: В. И. Юров
В учебнике рассматриваются вопросы программирования на языке ассемблера для компьютеров на базе микропроцессоров фирмы Intel. Основу книги составляет материал, являющийся частью курса, читаемого автором в высшем учебном заведении и посвященного вопросам системного программирования. По сравнению с первым изданием учебник существенно переработан. Исправлены ошибки и неточности. Добавлено описание команд для Intel-совместимых процессоров (до Pentium IV включительно). Книга будет полезна студентам вузов, программистам и всем желающим изучить язык Assembler. Допущено Министерством образования Российской Федерации в качестве учебного пособия для студентов высших учебных заведений, обучающихся по направлению подготовки дипломированных специалистов «Информатика и вычислительная техника».
Assembler. Учебник для вузов. 2-е издание

Assembler. Практикум
user posted image
Автор: Юров В.И.
Формат: djvu
Качество: хорошее
Цель книги — дополнить учебник "Assembler" того же автора практическим материалом, используя который можно разрабатывать сложные полнофункциональные программы для различных операционных платформ. Каждая из двенадцати глав практикума посвящена определенной прикладной теме. Исчерпывающе рассмотрены вопросы организации взаимодействия программ на ассемблере с внешним миром. Приведены варианты ассемблерной реализации многих известных и востребованных на практике алгоритмов. Изложение базовых вопросов прикладного программирования сопровождается рассмотрением ряда интересных примеров. Книга предназначена для студентов и специалистов, применяющих ассемблер для решения задач прикладного и системного программирования.
Assembler. Практикум

Изучаем Ассемблер
user posted image
Авторы: Крупник А. Б.
Серия: КомпАс
Тема: Assembler. Язык низкоуровневого программирования
Книга посвящена основам программирования на Ассемблере в системах Windows и Dos. Знание Ассемблера необходимо профессиональному программисту для понимания работы операционной системы и компилятора. Ассемблер позволяет написать программу (или ее часть)
так, что она будет быстро выполняться и при этом занимать мало места. Это любимый язык хакеров; его знание позволяет менять по своему усмотрению программы, имея только исполнимый файл без исходных текстов. В основу изложения положены короткие примеры на ассемблере Masm фирмы Microsoft, вводящие читателя в круг основных идей языка, знание которых позволяет не только писать простые программы, но и самостоятельно двигаться дальше.
Изучаем Ассемблер

Профиль
Группа: Участник
Сообщений: 35
Регистрация: 6.3.2009

Репутация: нет
Всего: нет

Скачав и прочитав издание, вы познакомитесь с языком программирования низкого уровня Ассемблер. Язык является основой языков программирования высокого уровня, таких как C++, Delphi. Каждый программист должен знать этот язык. С помощью него можно создавать части приложений, чтобы они быстрее выполнялись. Этот язык очень универсален, с помощью него можно изменять текст чужой программы, в то время как она недоступна для языков высокого уровня. Поэтому все хакеры в совершенстве знают язык Ассемблер. Обучение построено очень логично, начиная с простых примеров для ассемблера MASM, заканчивая уже создание приложений для Windows и DOS[/SIZE

user posted image
Название: Изучаем Ассемблер
Автор: А. Крупник
Издательство: Питер Год издания: 2008
Страниц: 256 Язык: русский
Тип файла: DJVU Размер: 3.62 Мб
Аннотация:
Авторы издание рассказывают про основы программирования на языке Assembler для ОС Windows и DOS. Чтобы понять работу любой ОС программист должен знать язык Ассемблер. С помощью этого языка можно создавать приложения, которые будут быстро выполняться и занимать мало место на жестком диске. Чтобы лучше освоить материал присутствует большое количество примеров на ассемблере MASM, с помощью которых можно понять главные идеи языка

Читайте также:  Выбор редакции Процессор AMD FX 6300 OEM

Это сообщение отредактировал(а) Tof — 25.9.2009, 14:38

Профиль
Группа: Участник
Сообщений: 9
Регистрация: 20.10.2009

Репутация: нет
Всего: нет

Посоветуйте книги для начинающих не для программирования под Dos или Windows, а по программированию RISC-процессоров

Профиль
Группа: Участник
Сообщений: 5
Регистрация: 13.10.2010

Репутация: нет
Всего: нет

Профиль
Группа: Участник
Сообщений: 36
Регистрация: 18.2.2010

Репутация: нет
Всего: нет

Профиль
Группа: Участник
Сообщений: 220
Регистрация: 17.2.2012
Где: г. Чебоксары

Репутация: нет
Всего: 1

Профиль
Группа: Участник
Сообщений: 429
Регистрация: 6.1.2008
Где: Санкт-Петербург

Репутация: нет
Всего: 1

Доброго времени суток.
У меня комп с процессором Core i7, т.е. процессор x64 :((((. Операционка установлена Windows 7 x64. Основная масса книг относится к программированию на ассемблере под x86. Соответственно мне нужно делать виртуальную x86 машинку. Насколько я понял, просматривая книги в инете — они ориентированы на старые процессоры, причём архитектуры x86.

Есть ли книги по ассемблеру для новых процессоров? Ведь новые процессоры имеют кучу новых команд и наверняка — различных новых возможностей. Из "свежих" книг я смог найти на эту тему только "Программирование на ассемблере на платформе x86-64" — автор Аблязов Р. З. Но отзывов по ней не видел, поэтому не знаю, насколько она хороша. Если книга хорошая, то я бы пошел и купил её сегодня.

Скачивал различные Hex-редакторы, но они опять же под x86, а мне бы хотелось учить и для x64, тем более, что сейчас x64 распространяется всё больше. В данном топике указано множество книг, но мне хотелось бы понять, какие из них актуальны на сегодняшний день? На сайте Калашникова когда-то были ссылки на программы (ассемблеры, hex-редакторы) — сейчас я их (ссылки) там уже не нашел.

Когда компания выпускает новый процессор, в котором присутствуют новые команды, она создаёт под него новую версию ассемблера, чтобы с его помощью можно было компилировать код с использованием новых команд? Или же она ограничивается лишь текстовым описанием команд, отдавая разработку ассемблеров на откуп пользователям? На сайте Intel я вижу тяжеловесный (по объёму) софт для разработки ПО. Однако не вижу ни слова об ассемблере.

В инете нашел, что под x86/x64 компилирует Yasm, но мол он ещё сыроват. Насколько верна эта информация на сегодняшний день? Является ли сегодня Yasm стабильным и поддерживающим команды современных процессоров ассемблером? В инете не нашел информации по написанию кода на языке ассемблера под x64.

Профиль
Группа: Завсегдатай
Сообщений: 1017
Регистрация: 5.5.2008
Где: Киев / Italy

Источник



Assembly Language for x86 Processors. Kip R. Irvine

Assembly Language for x86 Processors, Seventh Edition, teaches assembly language programming and architecture for x86 and Intel64 processors. It is an appropriate text for the following types of college courses:
Assembly Language Programming
Fundamentals of Computer Systems
Fundamentals of Computer Architecture Students use Intel or AMD processors and program with Microsoft Macro Assembler (MASM), running on recent versions of Microsoft Windows. Although this book was originally designed as a programming textbook for college students, it serves as an effective supplement to computer architecture courses. As a testament to its popularity, previous editions have been translated into numerous languages. Emphasis of Topics This edition includes topics that lead naturally into subsequent courses in computer architecture, operating systems, and compiler writing:
Virtual machine concept
Instruction set architecture
Elementary Boolean operations
Instruction execution cycle
Memory access and handshaking
Interrupts and polling
Hardware-based I/O
Floating-point binary representation
Other topics relate specially to x86 and Intel64 architecture:
Protected memory and paging
Memory segmentation in real-address mode
16-Bit interrupt handling
MS-DOS and BIOS system calls (interrupts)
Floating-point unit architecture and programming
Instruction encoding
Certain examples presented in the book lend themselves to courses that occur later in a computer science curriculum:
Searching and sorting algorithms
High-level language structures
Finite-state machines
Code optimization examples

Источник

unixforum.org

Посоветуйте книгу по ассемблеру (Ирвин Кип?)

Посоветуйте книгу по ассемблеру

Re: Посоветуйте книгу по ассемблеру

Re: Посоветуйте книгу по ассемблеру

Сообщение t.t » 11.08.2005 11:42

Re: Посоветуйте книгу по ассемблеру

Re: Посоветуйте книгу по ассемблеру

50% посвящены программированию под DOS/Windows, тогда как я хотел бы начать изучение языка под FreeBSD.
У Пирогова на ozon.ru есть "Ассемблер. Учебный курс" и "Ассемблер для Windows", тоже немного не та специализация. Jan2ary, какую имено книгу Вы имеете ввиду?

Re: Посоветуйте книгу по ассемблеру

Сообщение t.t » 11.08.2005 13:58

50% посвящены программированию под DOS/Windows, тогда как я хотел бы начать изучение языка под FreeBSD.

Re: Посоветуйте книгу по ассемблеру

Re: Посоветуйте книгу по ассемблеру

Re: Посоветуйте книгу по ассемблеру

Re: Посоветуйте книгу по ассемблеру

Re: Посоветуйте книгу по ассемблеру

Сообщение Rohan » 11.08.2005 22:09

Re: Посоветуйте книгу по ассемблеру

По первому — выянил, что gas на самом деле не использует исключительно AT&T-синтаксис, а имеет два режима работы (Intel и AT&T). Интересно Ваше мнение о gas. Может мне не с NASM начинать работать, а с gas?

Соотвественно по второму пункту — т.е. неужели ассемблерный код для NASM, представленный в Developers Handbook, Intel-синтаксиса? Я считал, что NASM наследует только некоторые аспекты Intel-синтаксиса.

Читайте также:  Замена процессора и добавление оперативки на материнской плате asus P5B V

И, наверное, глупейший вопрос, есть ли различия синтаксиса кода на NASM для Linux/FreeBSD/Window? Я так вовсе не думал, пока не прочитал здесь такое: "NASM subroutine will assemble and be usable under every operating system that NASM supports". Эта фраза словно намекает, что и работа по переносу кода между этими системами требуется минимальная.

И, наконец, хочу знать Ваше мнение о HLA, если кто-то работал с ним.
Благодарю.

Источник

Компиляция примеров к книге Кип Р. Ирвин "Язык ассемблера для процессоров Intel"

ОС windows 10 64 бита
учу Ассемблер по книге кипа ирвина
Использую MASM32 кажется версии 6.15 другие асмы не запускаются и не ставятся даже с учетом совместимости
в бат файле использую такой сценарий
G:\masm32\bin\ml /c /coff G:\masm32\Programs\1.asm
G:\masm32\bin\link /SUBSYSTEM:CONSOLE G:\masm32\Programs\1.obj
сам obj файл получается, а вот дальше error LNK2001: unresolved external symbol _ExitProcess@4
можете подсказать в чем дело или на какой асм лучше бы заменить
в нете пишут, что нету каких то сишных библиотек
а вот сам код:

Помощь в написании контрольных, курсовых и дипломных работ здесь.

Работа по книге Кип Р. Ирвин "Язык ассемблера для процессоров Intel": поделитесь SmallWin.inc
Привет всем! Выбрал для проработки Ассемблера книгу Кипа Ирвина "Язык Ассемблер для процессоров.

Ищу таблицу тиков каждой команды ассемблера для современных процессоров Intel
Приветствую всех! Есть ли у кого ссылки на таблицу тиков каждой команды ассемблера для современных.

Есть ли аппаратное различие процессоров INTEL с Hyper-threading и процессоров без него?
Всем привет, меня интересует такой вопрос. Есть ли аппаратное различие процессоров INTEL с.

Ассемблер для процессоров и Intel, и AMD
Если я буду использовать набор команд архитектуры x86 — значит ли это, что программа будет работать.

Записывайтесь на профессиональные IT-курсы здесь

Замените пути на реально существующие к этим файлам.

Конкретно ExitProcess, согласно MSDN, располагается в "Kernel32.dll" и описан в "Kernel32.lib".
Значит для этой функции нужно подключение "kernel32.inc" и "kernel32.lib".

Добавлено через 40 минут
Поискал "Irvine32.inc".
Что сделал.
1. Скопировал файлы *.inc в папку \Irvine\include
2. Скопировал файлы *.lib в папку \Irvine\lib
3. в программе после INCLUDE Irvine32.inc добавил строки

Добавлено через 59 минут
Можно совсем обойтись без изменения исходников. Дело в том, что в примерах у автора книги имеется файл make32.bat . Компиляция в нём выполняется

Видно, что компоновщик использует те самые недостающие библиотеки, которые я указал среди добавленных в исходник строк.

Тут на ваше личное усмотрение — или указать компоновщику или править исходник.

Источник

Список ресурсов для изучения Ассемблера

Доброго времени суток!
Некоторым программистам иногда приходит в голову мысль «а не изучить ли мне ассемблер?». Ведь на нем пишут самые (с некоторыми оговорками) маленькие и быстрые программы, да и охота ощутить вкус низкоуровневого программирования берет свое. Ну и для общего развития не повредит.
Мысль эта не обошла стороной и меня. Вдохновившись историей одного байта, я ринулся в бой…

… но оказалось, что найти материал по интересующей теме не так просто, как хотелось бы. Посему решено было создать на хабре пополняющийся пост-индекс статей/книг/мануалов/etc. об этом, несомненно, великом языке.
Под катом находится, собственно, список с краткими комментариями, разбитый по категориям.

UPD
В список начали добавляться ресурсы по программингу микроконтроллеров.

Для начала

    — ассемблер (не тоже самое, что «язык ассемблера», хотя эти понятия почти слились) в википедии — язык ассемблера там же — история одного байта — дневники чайника, довольно простые и интересные уроки для начинающих — книга об основах ассемблера на английском языке — несложная книга на английском языке. Рекомендация megabrain — учебник по Ассемблеру «для квалифицированных чайников» — блог, в котором, надеюсь, будет много статей об ассемблере

Ресурсы

    — наверное, самый крупный русскоязычный ресурс по Ассемблеру. Огромное количество статей, живой форум, новости — огромный ресурс по исследованию/крэкингу программ — огромнейшее собрание статей Криса Касперски — курс asm&&win32 — мини-библиотека книг по ассемблеру — большое количество заметок о reverse engineering на русском языке для начинающих и тех кто хочет научиться понимать создаваемый C/C++ компиляторами код — Уроки Iczelion’а переведенные — пособие начинающей технокрысы или как писать вирусы

Книги

    — архив книг Криса Касперски
  • Галисеев Г. В. Ассемблер для Win 32. Самоучитель
  • Зубков С. В. Ассемблер для DOS, Windows и UNIX
  • Кип Ирвин. Язык ассемблера для процессоров Intel = Assembly Language for Intel-Based Computers
  • Калашников О. А. Ассемблер? Это просто! Учимся программировать
  • Крис Касперски. Искусство дизассемблирования
  • Владислав Пирогов. Ассемблер для Windows
  • Владислав Пирогов. Ассемблер и дизассемблирование
  • Ричард Саймон. Microsoft Windows API Справочник системного программиста
  • Фрунзе А. В. Микроконтроллеры? Это же просто!
  • Юров В., Хорошенко С. Assembler: учебный курс
  • Абель — Ассемблер. Язык и программирование для IBM PC
  • Эндрю Таненбаум — «Архитектура компьютера» — рекомендация lefty
  • Чарльз Петцольд — «Код» — рекомендация lefty
  • Юрий Ревич «Практическое программирование микроконтроллеров Atmel AVR на языке ассемблера» — рекомендация Ryav
  • Нортон П., Соухе Д. «Язык ассемблера для IBM PC» — рекомендация maotm
  • Григорьев В. Л. «Микропроцессор i486. Архитектура и программирование.» — рекомендация Ghost_nsk
  • Нортон П., Уилтон Р. «IBM PC и PS/2.руководство по программированию» — описана работа с прерываниями и простыми железками, рекомендация Ghost_nsk
Читайте также:  Конструкции радиаторов для процессоров

Англоязычные ресурсы

    — Ассемблер под Linux — Ассемблер под Mac — Различные заметки о reverse engineering, security research, Oracle RDBMS internals, и т.д. — огромная база знаний по технологиям Windows от Microsoft — мануалы по Intel’овским инструкциям — аналогичные доки для AMD — Уроки Iczelion’а, домашняя страница — GDB Manual — видеокурс Windows Assembly Language Megaprimer — видеокурс Assembly Language Megaprimer for Linux — подборка доков из теплых ламповых времен — Software optimization resources — x86-x64 manuals — Ralf Brown Interrupt List with over 9000 linked pages and 350 indexes making the process of searching much easier

Инструменты

    — MASM32 SDK — flat assembler (FASM) — The Netwide Assembler (NASM) — OllyDbg, отладчик для Windows — IDA — интерактивный дизассемблер и отладчик — русская страница IDA — Библиотека от Microsoft Research для инъекции Dll и перехвата управления на себя — отладчик командной строки для выполнения простых отладочных задач

Программинг микроконтроллеров

    — тематический блог на хабре, с количеством постов несколько большим, чем в блоге по ассемблеру — сайт по контроллерам семейства PIC — сайт роботостроения, по ссылке статьи о микроконтроллерах AVR — МК AVR — AVR

Прочее

    — форум ZX Spectrum — форум по reverse engineering на китайском языке (спасибо KollinZ). Чтобы можно было понять о чем речь, можно воспользоваться кнопкой «перевести» в хроме (спасибо за совет mexanism) — крупнейший в Рунете архив старых программ

Заключение

Надеюсь эта статья будет полезна как новичкам, так и тем, кто ищет новых знаний. Если вы знаете какие-либо интересные ресурсы по теме, смело пишите в комментарии, пост создавался, чтобы пополняться.

P.S.: И, да, я очень надеюсь не увидеть в комментариях холивар Assembler vs. %anything% (или «стоит ли изучать ассемблер?»).

AdBlock has stolen the banner, but banners are not teeth — they will be back

Popular right now

Editorial Digest

We email you the best articles monthly

You’ll get an email soon at this address. Confirm the subscription if you didn’t change your mind.

  • Copy link
  • Facebook
  • Twitter
  • VK
  • Telegram
  • Pocket

Similar posts

External Interrupts in the x86 system. Part 3. Interrupt routing setup in a chipset, with the example of coreboot

External Interrupts in the x86 system. Part 2. Linux kernel boot options

Writing a wasm loader for Ghidra. Part 1: Problem statement and setting up environment

AdBlock has stolen the banner, but banners are not teeth — they will be back

Please pay attention

Comments 46

Интересно, а какое количество таких вот неофитов, вдохновленных историей одного байта в конечном итоге хоть как-то связывают свою жизнь с низкоуровневым програмированием?

1) А где же Абель, классика как-никак? Абель — Ассемблер. Язык и программирование для IBM PC.

2) Так же в комплекте с masm32 идет просто отличная подборка хелпов, туторов и примеров — \masm32\.

3) Уроки Iczelion’а

4) Введение в крэкинг с нуля, используя OllyDbg (by Рикардо Нарваха)

5) gdb manual / gdb HOW-TO

6) На сайте securitytube.net есть 2 неплохих видеокурса:
securitytube — Windows Assembly Language Megaprimer
securitytube — Assembly Language Megaprimer for Linux

Приветствую, брат по Lisp. Согласен по всем пунктам. Имею дополнение: знание языков ассемблера для архитектур, для которых пишешь код, бывает незаменимо для детального анализа кода и когда сталкиваешься с багами компилятора. Последнее у меня как-то случилось на работе: мы с напарником писали игру и там был цикл отрисовки объектов на экране, что-то типа этого:
objects — это отсортированный массив указателей на рисуемые объекты, если что. И вот, как-то этот код начал глючить — не отрисовывались объекты. Отладили всё это дело вдоль и поперёк, а ошибку не нашли. Вставили отладочный вывод в логи — объекты рисуются, убрали — не рисуются. Более того, прекрасно работал идентичный изначальному код:
Заглянули в дизассемблированный код изначального варианта — оказалось, компилятор тело цикла вообще выкинул из кода. Даже если перед отрисовкой поставить бессмысленное
то код будет работать.

Такие вот дела. Вся эта муть была в VisualStudio 2008, а в VS2010 баг не проявлялся. Без знания ассемблера мы могли искать это не час-полтора, а целый день или дольше.

И еще, по-моему, перед тем как браться за непосредственно кодинг стоит проштудировать труды Таненбаума, ну как минимум его «Архитектура компьютера».

Кому в тягость академический стиль изложения Таненбаума рекоммендую просто отличну книгу Чарльза Петцольда — «Код».

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

>> Интересно, а какое количество таких вот неофитов, вдохновленных историей одного байта в конечном итоге хоть как-то связывают свою жизнь с низкоуровневым програмированием?

Не знающий ассемблера программист на С подобен переводчику не знающего языка с/на который он переводит. Компилятору стоит доверять ещё меньше чем google translate.

Источник