Поиск:

Ответ в темуСоздание новой темы Создание опроса
> Актуальная архитектура Intel для Ассемблера 
:(
    Опции темы
TriggerWoods
Дата 30.10.2009, 12:57 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Новичок



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

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



купил себе книгу по ассемблеру. По мне хорошую, однако там уяснены детали ассемблера для архитектуры IA-32 - сегодня уже пошли в оборот другие архитектуры (2хядерные - и т.п). актуально-ли учить архитектуру для IA-32?
PM MAIL   Вверх
FCM
Дата 30.10.2009, 15:31 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Опытный
**


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

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



Насчет ассемблера не знаю, а что касается самой архитектуры, в т.ч. новейшей, см. pdf-документацию на сайте Intel.
PM MAIL   Вверх
piritus
Дата 30.10.2009, 17:47 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Бывалый
*


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

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



Вобще у большинства, как мне кажется, сейчас 32-х битные ОС, и если будешь писать 64-х битные приложения, то они будут работать только на 64-х битных ОС, а 32-х битные могут работать 64-х битных ОС в режиме совместимости.

Как я понял, IA-64 (процессоры Itanium) сейчас используются в основном в серверах (отсутствует совместимость с x86-64) и синтаксис при программировании на asm под них существенно отличается от 32-х битного.
Пример кода и описание можно посмотреть аттаче.

Затем интел выпестил EM64T, "совместимый" с amd'шным x86-64. Там программирование уже больше похоже на привычное 32-х битное.
64-bit:
Код

extrn MessageBoxA: PROC
extrn ExitProcess: PROC

.data
mytit db 'The 64-bit world of Windows & assembler...', 0
mymsg db 'Hello World!', 0

.code
main proc
  mov r9d, 0       ; uType = MB_OK
  lea r8,  mytit   ; LPCSTR lpCaption
  lea rdx, mymsg   ; LPCSTR lpText
  mov rcx, 0       ; hWnd = HWND_DESKTOP
  call MessageBoxA
  mov ecx, eax     ; uExitCode = MessageBox(...)
  call ExitProcess
main endp

End


32-bit
Код

.386
.model flat, stdcall

extrn MessageBoxA: PROC
extrn ExitProcess: PROC

.data
mytit db 'The old 32-bit world of Windows & assembler...', 0
mymsg db 'Bye World, I am leaving you...', 0

.code
Main:
push 0            ; uType = MB_OK
push offset mytit ; LPCSTR lpCaption
push offset mymsg ; LPCSTR lpText
push 0            ; hWnd = HWND_DESKTOP
call MessageBoxA
push eax          ; uExitCode = MessageBox(...)
call ExitProcess

End Main




Присоединённый файл ( Кол-во скачиваний: 11 )
Присоединённый файл  asmusrgd.pdf 607,06 Kb
--------------------
PM MAIL ICQ   Вверх
  
Ответ в темуСоздание новой темы Создание опроса
Правила форума "Asm: Общие вопросы"
MAKCim
  • Проставьте несколько ключевых слов темы, чтобы её можно было легче найти.
  • Не забывайте пользоваться кнопкой КОД.
  • Телепатов на форуме нет! Задавайте чёткий, конкретный и полный вопрос. Указывайте полностью ошибки компилятора и компоновщика.
  • Новое сообщение должно иметь прямое отношение к разделу форума. Флуд, флейм, оффтопик запрещены.
  • Категорически запрещается обсуждение вареза, "кряков", взлома программ и т.д.

Если Вам понравилась атмосфера форума, заходите к нам чаще! С уважением, MAKCim.

 
 
0 Пользователей читают эту тему (0 Гостей и 0 Скрытых Пользователей)
0 Пользователей:
« Предыдущая тема | Asm: Общие вопросы | Следующая тема »


 




[ Время генерации скрипта: 0.0451 ]   [ Использовано запросов: 22 ]   [ GZIP включён ]


Реклама на сайте     Информационное спонсорство

 
По вопросам размещения рекламы пишите на vladimir(sobaka)vingrad.ru
Отказ от ответственности     Powered by Invision Power Board(R) 1.3 © 2003  IPS, Inc.