eXeL@B —› Софт, инструменты —› X64 Assembler Programming - UASM - JWasm |
. 1 . 2 . 3 . >> |
Посл.ответ | Сообщение |
|
Создано: 26 ноября 2016 23:55 · Поправил: Модератор · Личное сообщение · #1 UASM is a free MASM-compatible assembler based on JWasm with these features ( native support for output formats Intel OMF, MS Coff (32/64-bit), Elf (32/64-bit), Binary, Windows PE (32/64-bit) and DOS MZ. precompiled UASM binaries are available for Windows, Linux and OSX. Instructions up to AVX2 and AVX512F are supported including all new extensions for VMX, MPX, AES, BND, F16C etc. Support for MS Vectorcall on x64. Support for Borland Register Calling Convention. Full support for SystemV Calling Convention. Integrated Macro Library with OO support. Numerous new HLL features (as described in the extended manual). UASM is written in C. The source is portable and has successfully been tested with Open Watcom, MS VC, GCC and more. As far as programming for MS Windows is concerned, UASM can be used with both WinInc (32/64-bit) and Masm32 (32-bit). C header files can be converted to include files for UASM with h2incX. UASM's source code is released under the Sybase Open Watcom Public License, which allows free commercial and non-commercial use. There's a bunch of source samples available - they are supplied with the precompiled binary packages. JWasm started as a fork of Open Watcom's Wasm in March 2008. Today, the part of Wasm source lines still contained in JWasm is approximately 15%. UASM is a continued evolution of JWasm. Updated Code:
Full SDK 10.0 translate for 64 and 32 bits Примеры с этими хидерами - NOTES: Adapting constants switchs to your system,use this tool: sdkrc81\Before_use_me.exe.He will give you the correct swiths for your system. Modify translate.inc with this switchs.The defaut system is windows 10.0 With a correct alignment,all translated structures,can be used as they are. There is no need of any modifie. Easy Code IDE 32/64-bit Easy Code - Visual assembler (Updated on July 02, 2019) (Windows 95/98/ME/NT40/2000/XP/2003/2008/Vista/7/8/8.1/10) - Version 2.x Fasm, GoAsm, JWasm, UASM ( RadASM 32/64-bit Current version: 2.2.2.3 - Last updated: 08/01/2018 Project Latest Release - Zips Code:
Overview RadASM is a lightweight IDE tool for all kinds of programmers who are looking for a straightforward application in which to edit their code. It supports a wide variety of programming languages and assemblers such has MASM, NASM, FASM, TASM, Borland C, C++, Bcet Basic, VC6 C/C++, Free Pascal and FreeBASIC. It was created by Ketil Olsen aka KetilO. This is a fork from the original RadASM v2.x source located on SourceForge here I have made some very minor adjustments, which are detailed in the WhatsNew.txt Features User friendly interface. Project browsing and properties. Inbuilt programmer tools: ‘Ascii Table’, ‘Colref’, ‘Toolbar Creator’ etc. Multiple Undo/Redo. Find & Replace keywords. Block indents, outdents and comments. Bookmarks. Syntax highlighting. Custom controls. Automatic code completion. Record macros for ease of use. Addins to extend its functionality. Template system for automatic code generation. Supports various programming languages. Setup Visit the wiki entry Setting up the RadASM environment for more details. Credits Code:
Source Code Pro Font Source Code Pro Source Code Pro is a set of OpenType fonts that have been designed to work well in user interface (UI) environments. In addition to a functional OpenType font, this open source project provides all of the source files that were used to build this OpenType font by using the AFDKO makeotf tool. Download the fonts (OTF, TTF, WOFF, WOFF2, EOT) macOS, Windows, Linux/Unix-based systems X64 Iczelion's Tutorial -> Автор - Mikl (wasm.in) Актуальные книги программисту на X64 ассемблере - P a s s - Assembler64 Список: Code:
Что нужно иметь ещё ?! - 1. PoLink или лучше всю папку bin от 2. ml64 linker и подобное от MS от Visual Studio 2017, можно без оптимизации тоже скопировать всю папку, сегодня места хватает на всё. 3. Возможно конвертёр .H файлов headinc.exe, который поставляется вместе с одной IDE под названием EditMasm от автора хидер файлов, синтаксис одинаковый. Отдельно здесь - 4. Обновлённые макросы для x64 систем - 5. Мини Пакет разработки драйверов совместно с Full SDK 10.0 ----- RE In Progress [!] Coding Hazard [!] Stay Clear of this Cube | Сообщение посчитали полезным: zds, plutos, VOLKOFF, elch, Gideon Vi, VodoleY, Vintersorg, HandMill, Orlyonok, DenCoder, Isaev, BlackCode, 4kusNick |
|
Создано: 28 ноября 2016 17:49 · Личное сообщение · #2 |
|
Создано: 28 ноября 2016 20:47 · Поправил: mak · Личное сообщение · #3 Можно сделать, просто у каждого свои понятия о структуре папок Плюс бинарники студии 1.5 гига .. можно только HJWASM с урезанной версией линкеров и билдеров, плюс настроенный для работы СДК для диска "С". Кто раньше пути настраивал для Масм, у того не должно быть трудностей. На днях сделаю Сборку. П.С. тема в целом о сложностях в настройке и программинге, можно конкретно спрашивать какие трудности возникли, чтобы другим легче было. parfetka пишет: расскажете, чем HJWasm лучше fasm? Дело вкуса, все кто ранее любил masm32, может легко кодить в этом же стиле, только для х64 битных систем, при этом конвертация старых проектов не занимает много времени. В итоге тема, что выбрать масм или fasm?! Каждый сам для себя решит, мне например макросы масмовые нравятся ... Добавлено спустя 18 часов 36 минут Рабочий комплект - В архиве - либ файлы от 2015 студии последней, все билдеры и линкеры, утилиты, примеры от HJWASM (не настраивал пути примеров), макросы, WinInc208, sdkrc100 для всех версий виндовс, m64lib и самое важное это папка - Projects, в ней лежит testplugin, это плагин который взят от "мистер бесстрашный" и адаптирован под sdkrc100, раньше он собирался вместе с WinInc208. Т.е. можно собрать батником у себя тестовый плагин для x64dbg и посмотреть менюшки Весь комплект настроен на папку C:\masm32\jWasm\, это можно менять, в основном проект testplugin привязан к этому пути и sdkrc100 в главных инклудах, это тоже всё можно менять. Единственное, что нужно сделать, это запустить before_use_me.exe - и скопировать верхние константы, у меня они такие Code:
translate.inc лежит в shared папке .. P.S. Для чего требуется столько линкеров и билдеров?! Многие ассемблер программисты сейчас пишут двойные макросы под 32 и 64 сразу, проект собирают под обе системы, иногда в целях тестирования или предпочтения размера exe используют другие линкеры, да и просто на всякий случай, пакетом можно собирать как в ml64, так и Hjwasm, в том числе 32 битные и 64 битные приложения. Для 32 Битной системы многие ставят старый masm32, в целях компатибельности был создан такой странный путь. ----- RE In Progress [!] Coding Hazard [!] Stay Clear of this Cube | Сообщение посчитали полезным: parfetka, Gideon Vi, Orlyonok |
|
Создано: 04 февраля 2017 13:37 · Личное сообщение · #4 |
|
Создано: 14 марта 2017 12:42 · Поправил: mak · Личное сообщение · #5 Обновление Code:
18 Марта правка, новое обновление, добавили Code:
----- RE In Progress [!] Coding Hazard [!] Stay Clear of this Cube | Сообщение посчитали полезным: Abraham, Bronco |
|
Создано: 08 апреля 2017 11:45 · Личное сообщение · #6 Code:
Добавлено спустя 2 часа 38 минут HJWasm Object Oriented Language Extension Code:
0a78_08.04.2017_EXELAB.rU.tgz - HJWasm Object Oriented Language Extension.pdf ----- RE In Progress [!] Coding Hazard [!] Stay Clear of this Cube | Сообщение посчитали полезным: v00doo, Abraham |
|
Создано: 10 апреля 2017 00:06 · Личное сообщение · #7 почему интересно Хатчинсон за столько лет не запилил MASM64 ? ведь и время и ресурсы для этого есть -- комьюнити ассемблерщиков со всего мира у него на форуме тусуется. сейчас я так понимаю для х64-кодинга пригодны оригинальный jWasm, ныне заброшенный; HJWasm, ну и fasm. для линухов хз что там, вообще не интересно. |
|
Создано: 10 апреля 2017 00:23 · Личное сообщение · #8 |
|
Создано: 10 апреля 2017 00:50 · Личное сообщение · #9 |
|
Создано: 10 апреля 2017 19:24 · Личное сообщение · #10 |
|
Создано: 10 апреля 2017 20:32 · Личное сообщение · #11 |
|
Создано: 10 апреля 2017 21:21 · Личное сообщение · #12 makmak пишет: Будет релиз, только чуть позже, он работает над ним почти всё своё свободное время .. пишет утилиты. приятное известие, спасибо!! VodoleY пишет: программирование на асме умрет вместе с процом) на чистом асме редко кто пишет, в основном из пефекционизма, но иногда без него тускло да это понятно конечно )) просто я давно не следил, раньше масм32 регулярно обновлялся, а с 2012 или 2013 года как была 11 версия так и осталась. вот и подумал, может Хатчу надоело или еще что )э з.ы. удивлен кстати что Tomasz Grysztar cвой ассемблер уже сколько лет поддерживает, святой человек на самом деле! помню что о нем писал Крис: Code:
как видим, fasm пережил Касперски. Добавлено спустя 8 минут mak пишет: Будет релиз, только чуть позже, он работает над ним почти всё своё свободное время .. пишет утилиты. кстати еще вопрос, может вы знаете -- насколько мне известно ml64.exe изначально не поддерживал никаких макросов, как эта проблема будет решена в масм64 от Хатча ? или масм64 будет без макросов, чисто инструментарий + конпиль/линковщек ? |
|
Создано: 11 апреля 2017 20:40 · Личное сообщение · #13 VanHelsing пишет: Добавлено спустя 8 минут mak пишет: Будет релиз, только чуть позже, он работает над ним почти всё своё свободное время .. пишет утилиты. кстати еще вопрос, может вы знаете -- насколько мне известно ml64.exe изначально не поддерживал никаких макросов, как эта проблема будет решена в масм64 от Хатча ? или масм64 будет без макросов, чисто инструментарий + конпиль/линковщек ? Всё работает, макросы нужно писать, invoke заменили своим макро, чтобы сделать комплект для релиза нужна база с примерами, которую сейчас наполняют функционалом. Парсер хидеров тоже обкатывается. Пакет будет поставляться без бинарников, но всё остальное будет как и в прошлой 32ой версии, плюс новый редактор под 64 бит, сейчас Ассемблер переживает новое рождение, гибкость настолько классная, что существуют коммерческие проекты, которые написаны на чистом ассемблере. 40a9_11.04.2017_EXELAB.rU.tgz - Macro Sample.rar ----- RE In Progress [!] Coding Hazard [!] Stay Clear of this Cube | Сообщение посчитали полезным: VanHelsing |
|
Создано: 12 апреля 2017 20:42 · Личное сообщение · #14 |
|
Создано: 12 апреля 2017 22:18 · Поправил: hash87szf · Личное сообщение · #15 |
|
Создано: 12 апреля 2017 23:23 · Поправил: ajax · Личное сообщение · #16 |
|
Создано: 13 апреля 2017 01:06 · Личное сообщение · #17 |
|
Создано: 13 апреля 2017 14:36 · Поправил: mak · Личное сообщение · #18 hash87szf пишет: Попытался минимальную x64 версию собрать. И чё линк.ехе на отсутствие mspdbcore.dll рычит? Эт с того что они частично дебаг инфу теперь и в /release пихают? Может быть .. Code:
----- RE In Progress [!] Coding Hazard [!] Stay Clear of this Cube |
|
Создано: 23 апреля 2017 01:00 · Личное сообщение · #19 Интересная статья о том, что код визуал студии быстрее ручного кода на ассемблере Need for Speed - C++ versus Assembly Language ----- RE In Progress [!] Coding Hazard [!] Stay Clear of this Cube |
|
Создано: 23 апреля 2017 02:46 · Личное сообщение · #20 > Интересная статья Щютка да? Чё там буквально сказано то кроме того что его асм медленней сишки? > At first sight, we tend to believe that assembled code, i.e. machine code obtained from ASM (Assembly Language) source through an Assembler, should run faster than compiled code С первой строки говно, its 2017! Вставил бы хоть VTune листинг, эта пиздец... ёпт да ходь бы дисасм! >As mentioned, I made a number of optimizations to the ASM > mov r11,0 Л0Л >Most of the time is spend doing recursion and looping. И юзает hjwasm .while .if макросы... Помнится AMD CodeAnalyst хелпы читал, так там пример оптимизации как раз матрицы с det были... | Сообщение посчитали полезным: mak |
|
Создано: 15 мая 2017 21:07 · Поправил: mak · Личное сообщение · #21 Проект переименовали второй раз, новый линк Новая версия Code:
----- RE In Progress [!] Coding Hazard [!] Stay Clear of this Cube |
|
Создано: 12 июля 2017 10:57 · Личное сообщение · #22 В шапке обновил линк на новый UASM 2.37 и Easy Code IDE, добавлен RadASM2 с последними фиксами за эти годы. Добавлен классный шрифт для IDE и Отладчика Source Code Pro Font , можно просто установить один ТТФ Regular и этого хватит. Пример шрифта можно увидеть на картинке RadASM2 Удачных обновлений! ----- RE In Progress [!] Coding Hazard [!] Stay Clear of this Cube | Сообщение посчитали полезным: VOLKOFF |
|
Создано: 12 июля 2017 11:46 · Поправил: VOLKOFF · Личное сообщение · #23 Для коллекции если кому нужно Code:
Resource editor | Сообщение посчитали полезным: mak |
|
Создано: 12 июля 2017 20:06 · Личное сообщение · #24 |
|
Создано: 12 июля 2017 21:09 · Личное сообщение · #25 VOLKOFF тройка совсем непопулярная , я тоже от неё отказался, у меня были с ней трудности и я остался на 2.2, это было правда давно, с тех пор её не обновляли, а вот 2.2 обновляли сначала приватными сериями, а потом кажется fearless собрал всё в один пакет, даже забыл что есть 3.0. parfetka 1. masm остался более строгий классический, программисту самому нужно заботиться о правилах ассемблера, например учитывать пролог и эпилог, учитывать стековый размер, размер переменных и типы. UASM развивается в сторону сохранения основ ассемблера, но с дополнением высокоуровневых функций и автоматизации, автоматически следит за стеком, следит за типами переменных и типами данных, некоторые макросы типа invoke встроены на уровне ассемблера, в парсер кода. Масм остался строго системным, UASM с удобствами для программиста. UASM опенсорс, подход к продукту наверное разный. 2. Мне не понравился синтаксис фасм, пробовал более 10 раз, это дело вкуса. Как устроены хидеры в фасм даже не знаю, но в УАСМ они аутентичны относительно masm и студии. Смысл надстройки теряется из-за синтаксиса ... она никому не нужна. ----- RE In Progress [!] Coding Hazard [!] Stay Clear of this Cube | Сообщение посчитали полезным: parfetka |
|
Создано: 16 июля 2017 15:37 · Личное сообщение · #26 |
|
Создано: 16 июля 2017 18:55 · Поправил: mak · Личное сообщение · #27 parfetka пишет: подскажите по Easy Code: как при создании визуального проекта посмотреть ID контролов? Например, а папке с примерами есть пример "CpuID", в котором единственная кнопка на форме. В коде указан "IDC_CPUID_BUTTON1", который нигде не просматривается. Немного сбивает с толку, если выбрать баттон, то в правом меню это как обычно поле Name, ради эксперимента можно поменять название и мы получим изменения в проекте, IDC_CPUID_BUTTON17 поменялось, если добавить скажем ещё одну кнопку и вновь поменять имя, то и название процедуры меняется. CPUID добавление это я так понял название проекта в настройках проекта, тоже можно менять, а идс стандарт. Автор программы конечно слишком жёстко привязал не только в этих местах. Например отдельно файл асма без проекта открыть нельзя. Я использую радасм2 и РесЕд на который указал VOLKOFF, хотя многие любят работать в Easy Code. В радасм нет подобных ограничений .. или удобств, кому как .. Code:
----- RE In Progress [!] Coding Hazard [!] Stay Clear of this Cube |
|
Создано: 16 июля 2017 20:27 · Личное сообщение · #28 mak при создании своего нового проекта этих строк: .if [uCtlID] = IDC_CPUID_BUTTON1 нет!!! Обычно редактор ресурсов позволяет прописать произвольное: #define IDC_CPUID_BUTTON1 1000 в *.rc или *.h файле. Остаётся только создавать проект, компилить, подсматривать значения в Project1Res.h, а затем писать обработчик процедуры.. или читать справку.. GETTING CHILD CONTROL IDENTIFIERS At run time, all child controls you added in each window object are already created and ready to use when receiving the WM_CREATE message of the window they belong to, that is, the owner window (no children yet in the WM_NCCREATE message). Each child control has an identifier or ID, with its corresponding constant name (upper case). To refer to any control using this constant, once again, you should take into account a simple rule. The constant name is all upper case and is formed by 'IDC_' plus the name of the owner window, plus '_', plus the control object name. For example, the ID constant name for a Static control named stcLabel, belonging to a window named wndMain, will be: IDC_WNDMAIN_STCLABEL просто хотелось больше контроля.. |
|
Создано: 16 июля 2017 21:56 · Поправил: mak · Личное сообщение · #29 parfetka Файл генерируется при первом билде (4 - Easy Code generates an RC file and its corresponding header file (*.H) When compiling an RC file with all Easy Code resources, it will be generated and placed in the folder of the project directory.), там появляется файл CPUidRes.h в котором есть строки - Code:
Если редактировать файл ресурсов, ничего не поменяется, но изикод использует свою структуру даже здесь, для меня удобнее иметь бат сборку, в RADASM2 можно иметь два варианта сразу, хотя батник это святое. Как вариант, добавить все контролы, потом сделать ген ресурсов, тогда можно увидеть имена. В хэлпе вероятно есть другое решение, так как сам изикод не использую, сказать точно не могу. Вот из хэлпа Code:
----- RE In Progress [!] Coding Hazard [!] Stay Clear of this Cube |
|
Создано: 20 августа 2017 15:18 · Поправил: mak · Личное сообщение · #30 Видимо есть ограничения на размер одного поста, т.к. текст уже не влезает в первый пост VanHelsing пишет: почему интересно Хатчинсон за столько лет не запилил MASM64 ? Первая полная beta MASM64 - http://www.masm32.com/download/build_x64.zip бинарники от студии как обычно самостоятельно копировать в папку бин. Ему кстати уже 69 лет, возраст тоже влияет на скорость хобби , может через год будет финальная версия. ----- RE In Progress [!] Coding Hazard [!] Stay Clear of this Cube |
. 1 . 2 . 3 . >> |
eXeL@B —› Софт, инструменты —› X64 Assembler Programming - UASM - JWasm |