Как написать программу "Hello, world!" на Ассемблере
|
|
informatik | Дата: Понедельник, 20.04.2009, 19:38 | Сообщение # 1 |
informatik
Ранг: Аспирант (?)
Первый помощник
Группа: Пользователи
|
Сообщений: |
963 |
Награды: |
5 |
Статус: |
Offline |
|
Предлагаю в этой теме обсудить вопрос о том, как написать самую первую программу на ассемблере. Допустим всем известную "Hello, world!". Discuss!
20.04.2009
|
|
|
| |
|
SergeySml | Дата: Вторник, 21.04.2009, 06:29 | Сообщение # 2 |
Сообщений: |
161 |
Награды: |
1 |
Статус: |
Offline |
|
А зачем? Насколько я в курсе Ассемблер, как язык программирования для обучения учащихся, никогда всерьез не рассматривался... Для обучения больше подходят процедурные языки: Лого, Паскаль, Бейсик, Си...
21.04.2009
|
|
|
| |
|
informatik | Дата: Вторник, 21.04.2009, 14:46 | Сообщение # 3 |
informatik
Ранг: Аспирант (?)
Первый помощник
Группа: Пользователи
|
Сообщений: |
963 |
Награды: |
5 |
Статус: |
Offline |
|
SergeySml, в бейсике то всё просто. Достаточно набрать команду: print "Hello world" А как подобный результат получить на ассемблере?
21.04.2009
|
|
|
| |
|
SergeySml | Дата: Вторник, 21.04.2009, 17:22 | Сообщение # 4 |
Сообщений: |
161 |
Награды: |
1 |
Статус: |
Offline |
|
Никогда этим не озадачивался..., но знаю как получить такой код. Возьмите систему Фортран. Напишите в ней нужную программу. (похоже на Бэйсик) При первом ассемблировании получите код на Ассемблере, при втором - машинный...
21.04.2009
|
|
|
| |
|
informatik | Дата: Вторник, 21.04.2009, 23:11 | Сообщение # 5 |
informatik
Ранг: Аспирант (?)
Первый помощник
Группа: Пользователи
|
Сообщений: |
963 |
Награды: |
5 |
Статус: |
Offline |
|
SergeySml, где лучше всего скачать фотран? Какую версию? Я тут посмотрел в инете - есть версии Фортран 95, 2003.
21.04.2009
|
|
|
| |
|
SergeySml | Дата: Среда, 22.04.2009, 06:46 | Сообщение # 6 |
Сообщений: |
161 |
Награды: |
1 |
Статус: |
Offline |
|
Желательно тот, что постарее. А вообще-то приду в школу, книжку возьму, посмотрю...
22.04.2009
|
|
|
| |
|
NFLc | Дата: Пятница, 16.10.2009, 15:50 | Сообщение # 7 |
NFLc
Ранг: Магистр (?)
Группа: Пользователи
Должность: :)
|
Сообщений: |
655 |
Награды: |
3 |
Статус: |
Offline |
|
фортран то зачем? MASM32+WinAPI - самое оно Code .686 .model flat, stdcall option casemap:none includelib C:\masm32\lib\kernel32.lib include C:\masm32\include\kernel32.inc include C:\masm32\include\windows.inc includelib C:\masm32\lib\user32.lib include C:\masm32\include\user32.inc .data cWritten DWORD 0 stdout DWORD 0 _title db " " mess db "Hello, world!" .code _st: invoke MessageBox, 0, ADDR mess, ADDR _title, 0 invoke ExitProcess, 0 end _st
16.10.2009
|
|
|
| |
|
astronom | Дата: Суббота, 29.05.2010, 04:21 | Сообщение # 8 |
astronom
Ранг: Магистр (?)
Группа: Пользователи
|
Сообщений: |
562 |
Награды: |
7 |
Статус: |
Offline |
|
Quote (informatik) как написать самую первую программу на ассемблере. вы представляете, насколько хитромудр вывод строки на асме? Это для высокоуровневых языков хелловорд - простейшая программа, на асме легче драйвер написать, чем вывести строчку на экран.
29.05.2010
|
|
|
| |
|
kolum | Дата: Среда, 02.06.2010, 14:13 | Сообщение # 9 |
kolum
Ранг: Дошколенок (?)
Группа: Зарегистрированные
|
Сообщений: |
7 |
Награды: |
0 |
Статус: |
Offline |
|
Quote (astronom) на асме легче драйвер написать, чем вывести строчку на экран Вы это так пошутили? Уже же ответ есть: Quote (NFLc) MASM32+WinAPI - самое оно Code .386 .model flat, stdcall ExitProcess PROTO ,:DWORD MessageBoxA PROTO ,:DWORD, :DWORD, :DWORD, :DWORD .data MsgBoxCaption db "Пример окна сообщения",0 MsgBoxText db "Программировать на Ассемблере под Win32 очень просто!",0 .const NULL equ 0 MB_OK equ 0 .code Main: INVOKE MessageBoxA, NULL, ADDR MsgBoxText, ADDR MsgBoxCaption, MB_OK INVOKE ExitProcess, NULL end Main Или вот для дос: Code code SEGMENT assume cs:code, ds:data mov ax,data ;установка mov ds,ax ;регистра ds mov dx,offset mes ;вывод mov ah,9 ;сообщения int 21h ;на экран mov ah,10h ;ожидание нажатия int 16h ;любой клавиши mov ax,4c00h ;выход из int 21h ;программы code ENDS data SEGMENT mes db 'Hello привет ', 13,10,'$' data ENDS end
02.06.2010
|
|
|
| |
|
Гость | Дата: Среда, 23.06.2010, 14:42 | Сообщение # 10 |
|
А никого не смущает, что ассемблер для каждой аппаратной платформы свой?
23.06.2010
|
|
|
| |
|
NFLc | Дата: Четверг, 27.01.2011, 23:31 | Сообщение # 11 |
NFLc
Ранг: Магистр (?)
Группа: Пользователи
Должность: :)
|
Сообщений: |
655 |
Награды: |
3 |
Статус: |
Offline |
|
Гость, ну куда уж ) те кто пишут хелловорд, пишут обычно под ibmpc, x86)
27.01.2011
|
|
|
| |
|