Софт-Архив

Wasm Скачать img-1

Wasm Скачать

Рейтинг: 4.0/5.0 (1902 проголосовавших)

Категория: Windows: Компиляторы

Описание

Wasm скачать

http://wasm. ru/ - Offline зеркало сайта http://wasm. ru (сайт + форум + ПО) [2006, CHM, RUS]

Offline зеркало сайта http://wasm.ru (сайт + форум + ПО)

Год выпуска. 2006

Жанр. web-сайт

Описание :

Сайт WASM.RU. посвещенный в основном низкоуровневому программированию, призван предоставить как можно более полную и развернутую информацию по следующим темам:

Программирование на ассемблере под различные операционные системы (в настоящее время большая часть материалов касается программирования на этом великолепном языке под Windows)

Системное программирование

Сетевое программирование

Отладка и дизассемблирование программ

Защита от предыдущего пункта

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

СМ и связанные с этим (и не только) технологии

Также на сайте находятся различные исходники на ассемблере (как самом понятном и продвинутом языке ), а также большое количество инструментов, которые могут пригодиться кодеру: компиляторы (ассемблерные), отладчики, дизассемблеры и многое другое.

Доп. информация :

Раздача по сути является повтором вот этой. но она уже померла. Присоединиться не могу, если упаковывать файл по новой, то едва ли контрольная сумма совпадет.

Раздаю двумя отдельными файлами сайт (wasm.ru.chm) и форум (wasm.ru.forum.chm). В wasm.ru.chm уже присутствуют все инструменты, листинги и все остальное, что доступно по внутренним ссылкам сайта.

Зеркало сделано 30.10.2006

Другие статьи, обзоры программ, новости

Структура COM и EXE файлов

Навигация сайта

Структура COM и EXE файлов

Структура COM файла

Наверное всем известны файлы с расширением COM. Главным COM файлом на ПК является вездесущий command.com (командный файл DOS ). Что же такое COM файл, как он работает и запускается.

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

Размер COM - файла ограничен 64 кб, т.е. размером одного сегмента памяти

В основном COM файлы пишут на языке Ассемблера, но это не обязательно. Нописать файл можно на любом языке, который можно потом компилировать.

Пример небольшого COM файла выводящего на экран сообщение:

.286 ; Устанавливаем тип процессора

mov ah,09h ;Функцию DOS (прерывание 21h) 09h

mov dx,offset message ; Заносим в dx значение переменной message

int 21h ;Устанавливаем прерывание которое должно обработать функцию 09h

mov ah,4Ch ;Функцию DOS (прерывание 21h) 4Ch

int 21h ;Устанавливаем прерывание которое должно обработать функцию 00h

message db "My first COM programms",13,10,"$" ;Придаем значение переменной message

Использую определение прерывания можно сказать как действует эта программа.

Скачать http

Скачать бесплатно торрент http://wasm.ru/ - Offline зеркало сайта http://wasm.ru (сайт + форум + ПО) [2006, CHM, RUS] torrent download

Offline зеркало сайта http://wasm.ru (сайт + форум + ПО)

Год выпуска. 2006

Жанр. web-сайт

Описание :

Сайт WASM.RU. посвещенный в основном низкоуровневому программированию, призван предоставить как можно более полную и развернутую информацию по следующим темам:

Программирование на ассемблере под различные операционные системы (в настоящее время большая часть материалов касается программирования на этом великолепном языке под Windows)

Системное программирование

Сетевое программирование

Отладка и дизассемблирование программ

Защита от предыдущего пункта

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

СМ и связанные с этим (и не только) технологии

Также на сайте находятся различные исходники на ассемблере (как самом понятном и продвинутом языке ), а также большое количество инструментов, которые могут пригодиться кодеру: компиляторы (ассемблерные), отладчики, дизассемблеры и многое другое.

Доп. информация :

Раздача по сути является повтором вот этой. но она уже померла. Присоединиться не могу, если упаковывать файл по новой, то едва ли контрольная сумма совпадет.

Раздаю двумя отдельными файлами сайт (wasm.ru.chm) и форум (wasm.ru.forum.chm). В wasm.ru.chm уже присутствуют все инструменты, листинги и все остальное, что доступно по внутренним ссылкам сайта.

Зеркало сделано 30.10.2006

Сайт Архив

Сайт WASM.RU призван предоставить как можно более полную и развернутую информацию по следующим темам:

Программирование на ассемблере под различные операционные системы (в настоящее время большая часть материалов касается программирования на этом великолепном языке под Windows)

Системное программирование

Сетевое программирование

Отладка и дизассемблирование программ

Защита от предыдущего пункта

Вопросы, касающиеся различных аспектов безопасности :)

СМ и связанные с этим (и не только) технологии

Также на сайте находятся различные исходники на ассемблере (как самом понятном и продвинутом языке :)), а также большое количество инструментов, которые могут пригодиться кодеру: компиляторы, отладчики, дизассемблеры и многое другое. Мы стараемся периодически обновлять нашу коллекцию программ.

Материалы сайта на 18.01.2004, форума на 06.09.2003

Оффлайновая версия сайта (статьи и прилагающиеся к ним файлы) на 18.01.2004 [4.4Мб] http://www.wasm.ru/docs/1/wasm-offline-18_01_2004.chm

Оффлайновая версия форума сайта WASM.RU на 06.09.2003 [5.4Мб]

http://www.wasm.ru/docs/1/wasm-forum-06_09_2003.chm

так же помоему они были на assembler.ru, но там тоже глухо.

MASM, TASM и WASM

MASM, TASM и WASM

Ассемблеры MASM, TASM и WASM отличаются между собой. Однако создание простых программ для них практически не имеет отличий, за исключением самого ассемблирования и компоновки.

Итак, наша первая программа для MASM, TASM и WASM, которая выводит английскую букву «A» в текущей позиции курсора, то есть в левом верхнем углу экрана: Этот текст можно набрать в любом простом текстовом редакторе – например в БЛОКНОТЕ (NotePad) от WINDOWS (но не в Word и не в другом «навороченном»). Однако я рекомендую «продвинутый» текстовый редактор с подсветкой синтаксиса, например, PSPad (см. раздел ВВЕДЕНИЕ ). Затем сохраняем этот файл с расширением .asm, например, в папке MYPROG. Назовем файл atest. Итак, мы получили: C:\MYPROG\atest.asm.

ПРИМЕЧАНИЕ

Обратите внимание, что в первой команде мы записали 2 вместо 02h. MASM, TASM и WASM, как и Emu8086, допускают такие «вольности». Хотя можно написать 02h – ошибки не будет.

Пояснения к программе :

.model tiny – 1-ая строка. Директива .model определяет модель памяти для конкретного типа файлов. В нашем случае это файл с расширением COM, поэтому выбираем модель tiny, в которой объединены сегменты кода, данных, и стека. Модель tiny предназначена для создания файлов типа СОМ.

.code – 2-ая строка. Эта директива начинает сегмент кода.

ORG 100h – 3-ая строка. Эта команда устанавливает значение программного счетчика в 100h, потому что при загрузке СОМ-файла в память, DOS выделяет под блок данных PSP первые 256 байт (десятичное число 256 равно шестнадцатеричному 100h). Код программы располагается только после этого блока. Все программы, которые компилируются в файлы типа СОМ, должны начинаться с этой директивы.

start: MOV AH, 02h – 4-я строка. Метка start располагается перед первой командой в программе и будет использоваться в директиве END, чтобы указать, с какой команды начинается программа. Инструкция MOV помещает значение второго операнда в первый операнд. То есть значение 02h помещается в регистр АН. Для чего это делается? 02h - это ДОСовская функция, которая выводит символ на экран. Мы пишем программу для DOS, поэтому используем команды этой операционной системы (ОС). А записываем мы эту функцию (а точнее ее номер) именно в регистр АН, потому что прерывание 21h использует именно этот регистр.

MOV DL, 41h – 5-я строка. Код символа «A» заносится в регистр DL. Код символа «A» по стандарту ASCII – это число 41h.

INT 21h – 6-я строка. Это и есть то самое прерывание 21h – команда, которая вызывает системную функцию DOS, заданную в регистре АН (в нашем примере это функция 02h). Команда INT 21h – основное средство взаимодействия программ с ОС.

INT 20h – 7-я строка. Это прерывание, которое сообщает операционной системе о выходе из программы, и о передаче управления консольному приложению. В том случае, если программа уже откомпилирована и запущена из ОС, команда INT 20h вернет нас в ОС (например, в DOS).

END start – 8-я строка. Директива END завершает программу, одновременно указывая, с какой метки должно начинаться ее выполнение.

Ну вот, программу мы написали. Но хотелось бы посмотреть, как она работает. Для этого нужно сначала вызвать ассемблер, чтобы скомпилировать ее в объектный файл, а затем вызвать компоновщик, который из объектного файла создаст исполняемый файл, то есть программу типа COM. Для разных ассемблеров придётся выполнять эти действия по разному.

Компьютерра: Ассемблер для Веб

Ассемблер для Веб. Яваскрипт в отставку?

Вот уже неделю западная айтишная пресса и форумы не могут успокоиться, обсуждая занятную новинку под названием WebAssembly. И «гудят» не столько из-за перспектив, сколько из-за невозможности сойтись во мнении — что же это на самом деле такое и как должно быть построено. Масла в огонь подливает состав участников разработки, включающий Mozilla, Google, Microsoft и Apple. Так что сомнений в том, что штука получится мощная, нет. Сложности оттого, что Сеть такой технологии ещё не знала. Были попытки реализовать нечто подобное, но все они или заброшены или ограничились узкими нишами, то есть универсальными не стали. А универсальность тут совершенно необходима. Впрочем, довольно загадок, давайте разберёмся что же это за зверь.

Если окинуть мысленным взором историю браузеров как класса, станет очевидна простая вещь: это не столько хаотичный взрыв технологий, сколько попытка уподобить веб-обозреватель классической вычислительной машине. Сначала интуитивно, позже осознанно, разработчики браузеров учили свои детища исполнять приложения и работать с информацией так же, как это делает любая офлайновая компьютерная программа. Отсюда потребность в языке программирования, который стал бы фундаментом для приложений Веб. Java, Adobe Flash, Silverlight, Javascript, NaCl — всё это, в общем, одного поля ягоды. Но никто из них задачу в полном объёме не решил.

Недостатки известны. Что-то требует подключения плагинов и исполняет веб-приложение вне периметра безопасности браузера. Что-то несвободно, то есть по определению ограничено рамками одной операционной системы. Что-то требует внесения серьёзных изменений в браузерную архитектуру. На этом фоне, конечно, выделяется Javascript — максимально приблизившийся к идеальному решению. Он всеми признан и всеми поддерживается. Но и он не без греха.

Дело в том, что требования к браузерному языку со временем изменились: уже в нулевые веб-дизайнерам стало недостаточно только лишь иметь свой язык программирования, им понадобился язык-посредник, на который можно «переводить» более сложные приложения, написанные на классических языках вроде C++. Javascript по мере сил и возможностей роль такого посредника выполняет, его даже модифицировали, чтобы у него это получалось лучше (см. конструктор asm.js ). Однако изначально он для такого посредничества не предназначался — и это проявляется в работе: парсинг (чтение, расшифровка JS-программы) на мобильных устройствах отнимает немало времени и энергии.

А представьте, как здорово было бы заиметь абсолютно универсальный язык-посредник для веб-приложений! Требования к нему, впрочем, кажутся невыполнимыми. Во-первых, это должен быть не просто ещё один язык программирования, а такой, на который легко переводить программы с любых других языков — хоть с C, хоть с Python, хоть с того же Javascript. Во-вторых, предназначаться в первую очередь он должен не для человека, а для машины, а потому записываться не текстом, а байт-кодом (компактней, быстрее читается компьютером и легче транслируется в машинный код для исполнения). Наконец, в-третьих, он должен пониматься любым браузером на любой платформе. Иначе говоря, необходимо заставить разработчиков всех браузеров трудиться сообща — и это кажется едва не самым сложным!

И тем не менее, такой универсальный браузерный язык-посредник — «ассемблер для Веб» — уже существует: это, собственно, и есть WebAssembly (или, коротко, wasm). Пока, правда, нет ни спецификаций, ни тем более стандарта — только грубые наброски, назначение которых человеку со стороны не так-то просто объяснить. Однако лёд тронулся и это самое главное.

Уговаривать вендоров не понадобилось: они сами пришли к пониманию необходимости совместного труда — движимые нуждой, ибо Javascript уже явно недостаточен. В настоящий момент wasm пересекается только с одним языком, а именно всё с тем же Javascript (это облегчит внедрение поддержки wasm на начальном этапе), но в перспективе, как задумывается, перевести на него можно будет программу с любого языка. Главное его преимущество перед яваскриптом — в скорости: wasm-программа быстрее передаётся по сети (ведь она короче: байт-код!), в десятки раз быстрее читается и преобразуется в машинный код, а кроме того, возможно, будет и быстрей исполняться (wasm ведь не ограничен устаревшими конструкциями, как Javascript; он ближе к ассемблеру, чем к языкам высокого уровня).

В то же время wasm призван не заменить Javascript, а избавить его от задач, для решения которых тот не предназначался. Отец яваскрипта Брендан Айк — несмотря на недавние памятные события (см. «Месть геев »), он каким-то чудом в разработке WebAssembly участвует — так вот Айк уверен. что яваскрипт не исчезнет. Просто каждый язык пойдёт своим путём. Javascript возьмёт на себя задачи, не требующие больших вычислительных затрат, а wasm станет именно посредником: писать на нём не будут, в него будут переводить сложные программы с других высокоуровневых языков. В результате станет практически возможным писать эффективные веб-приложения на любом языке программирования, а среднестатистическая производительность таких приложений вырастет.

Неунывающий Брендан Айк по-прежнему рекомендует в любой непонятной ситуации ставить на Javascript!

Работа над WebAssembly сконцентрирована сейчас в открытой группе при W3C, подключиться к которой может каждый желающий (кстати, приятный сюрприз: там много русских имён). Естественно, ни о какой стандартизации пока и речи нет, всё сшито на живую нитку (есть сырой FAQ ). Но удастся ли вообще довести wasm до стадии стандарта? Ведь вендоры неизбежно станут тянуть одеяло каждый на себя, как делали это всегда. Впрочем, оглядываясь на успехи Javascript — который худо-бедно, не без оговорок, всё-таки универсален — можно надеяться, что и wasm достигнет по крайней мере того же уровня совместимости.

Как много времени это займёт? Айк считает, что через несколько лет все топовые браузеры обзаведутся поддержкой WebAssembly. И уже сейчас советует делать ставку не только на Javascript (его обычный совет последние лет пятнадцать), но и на wasm. Имхо, стоит прислушаться.

Wasm скачать

Load a .wasm file as a stringified JavaScript function:

Alternatively, use the Node module system to load executable functions:

WebAssembly? Eh?

WebAssembly can be thought of as a step further than asm.js toward making an optimal compile-to target for the web. Emscripten does a nice job of encoding C++ code to asm.js but the resulting code is bloated and parse-time heavy. WebAssembly is intended to be compact and quick to load. Eventually WebAssembly is likely to make it possible to run all kinds of code in the browser without the need to compile directly to JavaScript.

Wow, what can I do with this?

Hold up there cowboy! You can't do much with this yet so don't get too excited.

This project is experimental for now and piggy-backs off the WebAssembly Polyfill prototype for the browser which compiles asm.js files to the current experimental WebAssembly binary format, which is far from standardised. So for now, this project is an exploration in what might be possible by combining WebAssembly and Node.js.

Does this need to be a native add-on?

Technically no, the current polyfill uses Emscripten to put the .wasm decoder into the browser so we could do the same with Node.

However, the simplest path for getting this running and allowing experimentation is to connect a decoder directly to Node via a native add-on. Perhaps in the future it will make more sense to distribute this as pure JavaScript.

Why bother putting this in Node.js?

WebAssembly on the server has the potential to be even more useful and interesting in the browser, depending on what you're trying to achieve. An efficient compile-to target with a single runtime could do for the server what the JVM attempted to do, except without the bloat and with the runtime model of Node.js.

Found in the examples subdirectory.

Программирование - Компьютеры - Каталог сайтов - Разработка ПО

Сайт WASM.RU призван предоставить как можно более полную и развернутую информацию по следующим темам:

  • Программирование на ассемблере под различные операционные системы (в настоящее время большая часть материалов касается программирования на этом великолепном языке под Windows)
  • Системное программирование
  • Сетевое программирование
  • Отладка и дизассемблирование программ
  • Защита от предыдущего пункта
  • Вопросы, касающиеся различных аспектов безопасности :)
  • СМ и связанные с этим (и не только) технологии

Также на сайте находятся различные исходники на ассемблере (как самом понятном и продвинутом языке :) ), а также большое количество инструментов, которые могут пригодиться кодеру: компиляторы, отладчики, дизассемблеры и многое другое. Мы стараемся периодически обновлять нашу коллекцию программ.

Если у вас есть пожелания, замечания, вопросы или коммерческие предложения (размещение баннеров, заказных статей :) ), касающиеся данного сайта, вы можете написать нам по адресу wasm?wasm.ru.

Переходов. 63 | Добавил. waw | Рейтинг. 0.0 / 0