Взрослая социальная сеть
Поиск секса поблизости, а также
тематические знакомства и виртуальное общение

ВХОД РЕГИСТРАЦИЯ
Все о сексе Секс чат Блоги Группы

Страницы: (1) 1
Мужчина Decemberunderground
Свободен
01-06-2007 - 11:27
.386
.model flat

extrn ExitProcess:PROC
extrn MessageBoxA:PROC

.data

Ttl db "First ASSEMBLER program",0h
Msg db 'Hello, World!!!!',0h

.code

start:
push 0h
push offset Msg
push offset Ttl
push 0h
call MessageBoxA
push 0h
call ExitProcess
end start


Через какую программу следует это запустить чтобы проц её понял?
И ещё модель проца 386, чего это значит?
Мужчина maxdiversexnarod1
Свободен
01-06-2007 - 12:37
Decemberunderground

QUOTE
Через какую программу следует это запустить чтобы проц её понял?

Что значит "запустить"? Это текст программы, его можно откомпилировать в exe-файл wink.gif
Я так понял, тебе нужен компилятор асм'а. Ну тут выбирать, собственно, не из чего - только MASM32. Остальные по разным причинам значительно отстают от него.
Скачать его легко, он валяется в инете на каждом углу, размер - наверно около 4 МБ.

QUOTE
.386
.model flat

extrn ExitProcess:PROC
extrn MessageBoxA:PROC

.data

Ttl db "First ASSEMBLER program",0h
Msg db 'Hello, World!!!!',0h

.code

start:
push 0h
push offset Msg
push offset Ttl
push 0h
call MessageBoxA
push 0h
call ExitProcess
end start

Я не спец по разным диалектам ассемблера, но я бы эту программу переписал так, иначе MASM'ом не компилируется:

.386
.model flat, stdcall
option casemap: none

include \masm32\include\windows.inc
include \masm32\include\kernel32.inc
include \masm32\include\user32.inc
includelib \masm32\lib\kernel32.lib
includelib \masm32\lib\user32.lib


.data

Ttl db "First ASSEMBLER program",0h
Msg db 'Hello, World!!!!',0h

.code

start:
push 0h
push offset Msg
push offset Ttl
push 0h
call MessageBoxA
push 0h
call ExitProcess
end start

Как видишь, я подправил только "оформление" - заголовок, инклуды.
Можно было вместо этого исправить extern'ы, но там появится дополнительная сложность, которая, думаю, тебе ни к чему.

QUOTE
И ещё модель проца 386, чего это значит?

Это всего лишь означает, что в программе используются инструкции процессора только из набора проца 386. Т.е. программа будет работать на всех процах, начиная с 386.
В общем, всегда пиши 386 и не парься wink.gif
Мужчина barrakuda
Свободен
01-06-2007 - 16:39
Собственно, это пример из учебника по асму под вин32.
Там дальше всё объяснено: "Чуть-чуть не забыл рассказать, как надо компилировать программы. Для этого вам надо написать текст программы на ассемблере и сохранить в файл с расширением *.asm. Потом надо ассемблировать его." smile.gif
Автор приводит пример имея в виду TASM32. Есть ещё MASM и FASM, у каждого свои особенности.
Мужчина maxdiversexnarod1
Свободен
01-06-2007 - 19:01
А в чём тогда состоит вопрос? Качать TASM и компилить как написано в книге.
Мужчина Decemberunderground
Свободен
02-06-2007 - 18:39
Сорри не дочитал чуть-чуть. Кстати не дадите ссылку на этот самый Tasm32.
Мужчина maxdiversexnarod1
Свободен
03-06-2007 - 00:20
Decemberunderground
Ну блин в интернете до фига ссылок же.
Ладно, вот ссылка с одного хорошего сайта:
WASM
(рекомендую сайт, если серьёзно заинтересуешься низкоуровневым программированием)
Мужчина Decemberunderground
Свободен
03-06-2007 - 14:34
Ну блин одолжений делать не надо, но всё равно спасибо.
Мужчина maxdiversexnarod1
Свободен
03-06-2007 - 15:47
Просто гугль на запрос "tasm32 download OR скачать" выдаёт 1 740 ссылок. Всё-таки есть из чего выбрать wink.gif
Мужчина c0d3r
Свободен
26-06-2007 - 17:32
качаем MASM32+RadAsm, читаем туторы на васме и радуемся :)
Мужчина alexxisr
Свободен
07-11-2007 - 08:55
народ, а зачем вообще нужен ассемблер?
сегодняшние оптимизаторы сделают все лучше и быстрее.
а если реально нужно использовать специфичные команды проца - можно юзать ассемблерные вставки в C или pascal.
Мужчина do-do
Свободен
07-11-2007 - 12:49
QUOTE (alexxisr @ 07.11.2007 - время: 07:55)

сегодняшние оптимизаторы сделают все лучше и быстрее.

Мда...
Вообщем то низкоуровневые драйверы пишутся, покрайней мере, сбольшими вставками ассемблерного кода. это раз, ассемблер не так уж и труден - это два. Без знания ассемблера ТРУДНО исследовать ЧУЖУЮ прогу три :) Ну и четыре УТОЧНИ в какой области тебе ассемблер мешает
Мужчина alexxisr
Свободен
08-11-2007 - 09:45
мне ассемблер не мешает.
в школе помню целиком игрушки на нем писал.
правда больше для понтов - типа я не только бейсик знаю.
драйвера под unix пишутся больше на С.
для иследования чужих программ гораздо приятнее почитать исходники с комментариями.

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

а собственно программировать лучше на высокоуровневых.
они позволяют не думать о рутинных операциях.
Мужчина do-do
Свободен
08-11-2007 - 19:14
про иерархию языков надо Таненбаума почитать :) Так и под Виндой пишут на С :) Но опять же аппаратно ориентированные вещи - приходится на ассемблере хоть там хоть там
Мужчина contravene
Свободен
28-11-2007 - 21:12
Сейчас в индустрии программирования стока новых технологий (взять тот-же самый framework 1.1/2.0/3.0/3.5), что изучение ассемблера все равно что, даже не знаю, изучение лука с каменными стрелами в армии вместа новейших типов автоматов и пулеметов.

Мой совет - если хочешь добиться успеха в программировании начинай с языков предложенных майкрософтом в Visual Studio (C#, Visual Basic, C++, J#) - плюс освой какую-нить технологию (ASP, MFC - в зависимости от того где хочешь профилировать) - на ассемблере будешь работать в час по чайной ложке да и почти ни где знание ассемблера не требуется.

Это сообщение отредактировал contravene - 28-11-2007 - 21:14
Мужчина alexxisr
Свободен
13-12-2007 - 22:34
помню, увидел на коробке с visual studio надпись -
"на 99% совместима со стандартом"
желание писать на заведомо неправильном языке пропало

сайты на asp у меня очень часто не открываются оперой - видимо хотят что-то специфическое от IE
хотя может это просто мне так фатально не везет
0 Пользователей читают эту тему

Страницы: (1) 1 ...
  Наверх