Создано: 26 ноября 2016 23:55 · Поправил: mak New! Цитата · Личное сообщение · #1
UASM is a free MASM-compatible assembler based on JWasm with these features (old HJWasm):
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.
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 February 4, 2018)
(Windows 95/98/ME/NT40/2000/XP/2003/2008/Vista/7/8/8.1/10) - Version 2.x Fasm, GoAsm, JWasm, UASM (HJWasm), Masm and PoAsm, using different tools for the various assemblers --> Easy Code 2.02.0.0007 <--
RadASM 32/64-bit
Current version: 2.2.2.3 - Last updated: 08/01/2018
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:
Written and Programmed by KetilO
Minor updates including Multilingual installer by fearless
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)
Latest release All releases Font installation instructions
Heiko Falk, Peter Marwedel auth. Source Code Optimization Techniques for Data Flow Dominated Embedded Software.pdf
Jeff Duntemann Assembly Language Step-by-Step Programming with Linux.pdf
Joseph Cavanagh X86 Assembly Language and C Fundamentals.pdf
Kip Irvine Assembly Language for x86 Processors 6th Edition.pdf
Larry D. Pyeatt Modern Assembly Language Programming with the ARM Processor.pdf
Manuel Sojer auth. Reusing Open Source Code Value Creation and Value Appropriation Perspectives on Knowledge Reuse.pdf
Margush, Timothy S Some Assembly Required Assembly Language Programming with the AVR Microcontroller.pdf
Mark E. Russinovich, David A. Solomon, Alex Ionescu-Windows Internals, 5th Edition-Microsoft Press (2009).pdf
Mastering CMake. Ken Martin.2009.pdf
Modern X86 Assembly Language Programming 32-bit,64-bit, SSE,and AVX.pdf
Muhammad Ali Mazidi, Sarmad Naimi, Sepehr Naimi, Janice Mazidi ARM Assembly Language Programming and Architecture.pdf
Professor James T. Streib auth. Guide to Assembly Language A Concise Introduction.pdf
Randall Hyde The Art of Assembly Language.pdf
Ray Seyfarth Introduction to 64 Bit Intel Assembly Language Programming for Linux.pdf
Susan Elliott Sim auth., Susan Elliott Sim, Rosalva E. Gallardo-Valencia eds. Finding Source Code on the Web for Remix and Reuse.pdf
Vincent Mahout Assembly Language Programming ARM Cortex-M3.pdf
Windows Driver Foundation.pdf
Yury Magda Visual C++ optimization with assembly code.pdf
М. Руссинович, Д. Соломон - Внутреннее устройство Microsoft Windows 6-е издание (2013).pdf
Род Стивенс - Алгоритмы. Теория и практическое применение.pdf
Руссинович М., Соломон Д.- Внутреннее устройство Microsoft Windows. Часть 2. Основные подсистемы ОС.6-е издание -2014.pdf
KIP R. IRVINE-Assembly Language for x86 Processors-Pearson (2014)
+IRVINE Src
Что нужно иметь ещё ?! - 1. PoLink или лучше всю папку bin от --> Pelles C <-- для x64 2. ml64 linker и подобное от MS от Visual Studio 2017, можно без оптимизации тоже скопировать всю папку, сегодня места хватает на всё. 3. Возможно конвертёр .H файлов headinc.exe, который поставляется вместе с одной IDE под названием EditMasm от автора хидер файлов, синтаксис одинаковый. Отдельно здесь - --> Link <-- 4. Обновлённые макросы для x64 систем - --> Link <-- 5. Мини Пакет разработки драйверов совместно с Full SDK 10.0 -
Создано: 13 октября 2017 23:57 · Поправил: mak New! Цитата · Личное сообщение · #3
Обновление как обычно в шапке. Может Администраторы закрепят тему в шапке, чтобы не постить вечно обновления, а править только первый пост. Софт не совсем по теме изучения защит, но косвенно является существенным подспорьем.
Создано: 5 декабря 2017 00:08 · Поправил: mak New! Цитата · Личное сообщение · #4
Версия 2.46 с Roadmap для 2.47
Code:
-------------------------------------
Roadmap:
-------------------------------------
2.47
Add DWARF symbolic debugging support.
Add support for GOT relative addressing.
Ensure includelib is fully cross-platform.
Supply installation packages via brew, apt-get.
Extract vectorcall handling to be compatible with all modes.
Replace HLL .repeat /.until directive LOOPS with branches.
Finalise regression test suite.
Begin work on CodeGen V2 with automated instruction table builder.
-------------------------------------
Changelog:
-------------------------------------
2.46
Unify manuals into single document.
Correct some misplaced samples in the packages.
Support return types and vectorcall in OO interfaces and update OO sample.
Allow c-style calls via pointer and OO methods.
Add return type support to OO interfaces.
Add signed 1byte displacement optimisation to all vex and evex encoded memory operands.
Minor optimisation in the pre-processor stage.
Fix incorrect detection of used proc parameter vs. global struct member.
Add.endf and.endsw aliases for .endfor and.endswitch
Add C-style function calling.
Promote immediate vararg arguments to qword when too large for signed dword.
Implement first phase of full regression test suite.
Correct all regression and back-testing findings.
Add COMINTERFACE support built-in.
2.45
Updated and cleaned up the unix build.
Re-organized the samples folder and descriptions.
Fixed usage text to show SSE as the default architecture.
Fixed 32bit addressing mode issue when using Array[n](variable indexed by constant).
Add-macho64 output format support.
Minor RBP stack-frame fixes.
Fix for RSP stack setup using WIN64 <11.
Added two new samples osx1.asm, osx2.asm for macho64 output.
Adjusted local arrangement with RBP stack-frame to minimize required padding and ensure all locals are always aligned so win64:7 is obsolete.
Vsubpd xmm0, xmm0, zmm14 now generates an error.
Fix for vmovupd addressing mode.
Added new sample crossplatform/hello.asm demonstrating a simple console app that assembles on win64, linux and osx.
2.44
Fixed a long standing bug in the expression evaluator where values were not being correctly sign extended to 64bit.
Added Frame BIAS to RBP to increase the range of parameters/locals that can be accessed with 1byte displacement (shorter code, better for instruction fetch).
Optimised RBP prologue to use correctly sized writes and use the 2's complement form to modify RSP.
Fixed the console colour issue causing ERROR to be defined incorrectly thus breaking command line parameters.
Added support to prologue for hot patching.
2.43.3
Fixed ERROR definition from including Windows.h by creating custom include for colour console output - Was causing -D command line parameters not to evaluate.
Optimised RBP prologue Save Home Registers to use the best matching type instead of always storing the full QWORD.
2.43.1/.2
Add console colours for Windows, OSX and Linux.
Fix frame + frame:auto/noauto modes to match jwasm/masm.
Add argtype, argsize, argidx operators
Add additional 128bit record functionality for inline declaration.
Fix potential invoke register overwritten warnings not being detected.
Improve rbp frame generation compatibility with ml64.
Optimise AVX instruction encoding to use signed byte displacement where possible.
Rework RBP based code-paths to deal with WIN64:0(default)in an ML64 compatible way.
Обновлены и добавлены макросы для работы с COM и вызова виртуальных функций, можно посмотреть в примерах, улучшения поднимают новые возможности для написания гибкого кода на более высокий уровень.
Пример -
Code:
; -> Using a FRAME PROC as the entry point for both Console and Windows applications is advised to ensure correct stack startup.
MainCRTStartup PROC FRAME
LOCAL person2:PTR Person
; A local variable to hold a reference to a Person type. (Note you can also use _DECLARE if the Object name includes <>).
invoke GetStdHandle,STD_OUTPUT_HANDLE
mov hOutput,rax
; Create two Person instances.
mov person1, _NEW(Person,30, hOutput, CSTR("Jane Doe "))
mov person2, _NEW(Person,40, hOutput,"Peter Smith "); Use string literals.
_INVOKE Person, PrintName, person1 ; Direct call (Type, Method, arguments)
_INVOKE Person, SetName, person1, CSTR("Michael Smith ")
_INVOKE Person, PrintName, person1
_INVOKE Person, Calc, person1,1.0
_VINVOKE person2, Person, Calc,1.0
_INVOKE Person, Calc2, person2, xmm4, xmm5 ; Vectorcall based method.
; Use return type information.
.if( _V(person1, Person, Calc,1.0)== FP4(2.0))
xoreax,eax
.endif
movrax, _STATIC(Person, IsHuman, person1); Default return type from _STATIC is 64bit integer.
; Method invocation via register pointer.
learsi, person1
_INVOKE Person, Calc,[rsi],1.0
_VINVOKE [rsi], Person, Calc,1.0
.if( _V([rsi], Person, Calc,1.0)== FP4(2.0))
xoreax,eax
.endif
; Method invocation using c-style calls.
albl: person1->Calc(1.0)
person2->Calc(2.0)
.if( person1->Calc(1.0)== FP4(2.0))
xoreax,eax
.endif
; Using a register as an object pointer with c-style calls requires the type to specified after the pointer.
; The register must be doubley-indirect, in that it points to the pointer to the object, which allows for rapid iteration through lists of object pointers.
learsi,person1
[rsi].Person->Calc(1.0)
.if([rsi].Person->Calc(1.0)== FP4(2.0))
xoreax,eax
.endif
xorrax,rax
learsi,person2
[rsi+rax].Person->Calc(1.0)
xorrax,rax
.if([rsi+rax].Person->Calc(1.0)== FP4(2.0))
xoreax,eax
.endif
person1->Calc( person2->Calc(1.0)); Pass the typed result of a method call to another method.
NormalProc( person1->Calc(1.0)); Pass the typed result of a method call to a normal procedure.
person1->Calc( NormalProc(1.0)); Pass the typed result of a normal procedure to a method call.
Создано: 12 февраля 2018 12:59 · Поправил: mak New! Цитата · Личное сообщение · #5
Обновились RadASM v2.2.2.3, UASM все версии, Easy Code IDE, все линки обновлены в шапке.
Интересное дополнение для Ассемблера - Asm-Dude
Assembly syntax highlighting and code assistance for assembly source files and the disassembly window for Visual Studio 2015 and 2017.
This extension can be found in the visual studio extensions gallery or download latest installer AsmDude.vsix (v1.9.4.2). If assembly is too much of a hassle but you still want access to specific machine instructions, consider Intrinsics-Dude.
Это дополнение поможет сделать из Визуал Студии полноценное IDE для программирования на ассемблере, для этого нужно установить Intrinsics-Dude, Asm-Dude, файлы конфигурации билда YASM, NASM, MASM, MASM64, UASM, а потом уже Whack Whack Terminal.
| Сообщение посчитали полезным: BlackCode, plutos, Bronco
Ранг: 402.9 (мудрец) Статус: Участник _Вечный_Студент_
Создано: 25 февраля 2018 09:30 New! Цитата · Личное сообщение · #7
mak пишет: для этого нужно установить Intrinsics-Dude, Asm-Dude, файлы конфигурации билда YASM, NASM, MASM, MASM64, UASM, а потом уже Whack Whack Terminal.
именно в таком порядке? Насколько важен порядок установки? и важен ли вообще? Куда именно устанавливать? или нужно update PATH и/или еще какие environmental variables?
Создано: 25 февраля 2018 10:45 · Поправил: Bronco New! Цитата · Личное сообщение · #8
mak, писать чисто на асме удовольствие ещё то, где то выигрываем, но если сложные выражения, особено в циклах и пост_пред_условиях, то высокий уровень всё таки комфортней собственно не об этом....в х64 нет асм инлайна, но хочу... это обнова с дудами поможет? ибо запарился с реализацией на с++, сдвига двойной точности.
Создано: 25 февраля 2018 14:48 · Поправил: dosprog New! Цитата · Личное сообщение · #11
Bronco пишет: в х64 нет асм инлайна, но хочу... [...] ибо запарился с реализацией на с++, сдвига двойной точности.
Archer пишет: Что мешает собрать нужный код на асме, скомпилить и линковать в основную сишную прогу как obj/lib?
С одной стороны, имхо, не так всё сложно и на Си, - надо просто внутренне настроиться на категории асма, а с другой - раздельная компиляция это всё-таки дополнительный головняк.
.. для себя давно решил - стараться не смешивать. В принципе, если уже совсем нет другого выхода, - тогда, наверное, лучше DLL?.. Тоже несимпатичный вариант.
Создано: 25 февраля 2018 15:37 New! Цитата · Личное сообщение · #12
Если по-хорошему, это только у мелкомягкого компилятора такой головняк, у того же интела таких проблем нет. Т.е. можно юзать ту же студию как иде, но компилить чем-то другим. Это раз. Второе, можно настроить автоматический билд в 1 солюшене асм-исходника, си-исходников и линковка их в 1 ехе. Т.е. билдится стандартно солюшен и всё. Так что особо проблем тут не вижу, даже если хочется часть и на асме накидать. Как бонус вариант-попытаться от асма избавиться, заюзав интринзики. Местами может помочь, но не на каждую асм-инструкцию есть инринзик, понятное дело.
Создано: 25 февраля 2018 16:34 · Поправил: mak New! Цитата · Личное сообщение · #13
Привет всем,
plutos пишет: именно в таком порядке? Насколько важен порядок установки? и важен ли вообще? Куда именно устанавливать? или нужно update PATH и/или еще какие environmental variables?
Без разницы, дело удобства, для масм файлы конфигурации нужно самому делать, есть статья в интернете, для остальных файлов конфигурации есть прямо в релизах ассемблеров. Мне кажется настроить конфигурации занимает больше времени, чем установка этих плагинов. Пути тоже, как удобнее
Bronco сила ассемблера в "Макро" определениях, от си он ничем не отличается, кроме формальной записи языка и возможности переносить код на другие системы, что определяется компилятором. В остальном такие же переменные, расширенные лишь для логики компилятора, имея набор макросов, код можно писать почти один в один , поэтому дело вкуса и умения. Обычно любимый язык отражает мышление программиста, как и почерк, заставить думать иначе, весьма непосильная задача.
Bronco пишет: собственно не об этом....в х64 нет асм инлайна, но хочу... Инлайн есть в GCC, можно установить msys2 и делать модули для линковки, рациональнее подход Archerа, т.к. в большинстве случаев инлайн не нужен, всё остальное покрывается внешними модулями, подключать можно и простым вызовом функций в отдельном .асм файле. Обнова с Дудами не поможет, т.к. это не патчер компилятора В частных случаях инлайн можно заменить на x64 (amd64) Intrinsics List --> Link <-- и использовать например комбинацию AVX2:
Создано: 27 февраля 2018 03:59 New! Цитата · Личное сообщение · #15
plutos пишет: речь идет об "раздельной компиляции"?
только ms выкинули x64 инлайн ассемблер, у остальных он есть, но в студию интегрируются clang\intel и неплохо прикидываются родным компилятором, gcc тоже относительно нормально интегрируется, но чуть менее радужно.
Создано: 11 июня 2018 05:41 New! Цитата · Личное сообщение · #17
mak и остальные, кто знает: Подскажите, как в EasyCode с fasm'ом собрать exe, который бы выводил кирилицу в messagebox? Для чего в IDE галки ASCL/Unicod, если она не хочет собирать в Unicod, а в ASCL выводит крякозябры? В каком формате должен быть исходник проекта, чтобы собирать в ASCL/Unicod? Или у меня старые сборщики ресурсов и линкер? Моя сборка EasyCode прилагается, распаковать на диск С: https://yadi.sk/d/xQTw3nUN3XisBt
Создано: 13 июня 2018 22:31 New! Цитата · Личное сообщение · #18
parfetka
Выше уже писал, что в фасм полный профан, обычно строку записывают в формате юникода или транслируют её потом, а выводят с помощью соответствующей апи
Code:
MessageBoxA
MessageBoxW
EasyCode тоже не использую, так как он автоматизирует некоторые моменты отнимая контроль у пользователя, и галочек тоже не встречал "в IDE галки ASCL/Unicod", если такой параметр есть, то вероятно в изикод есть своя обработка хидеров для фасма, точнее настроек хидеров. У крякозябр тоже могут быть разные причины, для дополнительной информации можно заглянуть в файл помощи EasyCode, там обычно всё доступно написано. И ещё лучше этот вопрос задать на профильном форуме --> Link <--, там например пишут
Code:
win32ax -- Win32 no unicode
win32wx -- Win32 with unicode
win64ax -- Win64 no unicode
win64wx -- Win64 with unicode
Code:
; example of simplified Windows programming using complex macro features
include'win32ax.inc'; you can simply switch between win32ax, win32wx, win64ax and win64wx here
.code
start:
invoke MessageBox,HWND_DESKTOP,"Hi! I'm the example program!",invoke GetCommandLine,MB_OK
invoke ExitProcess,0
.end start
в IDE этот параметр может означать или формальную обработку хидеров для фасм, или же параметры сохранения проекта, т.е. исходного кода в юникоде. Мне кажется определить это легко испытав разные варианты.
Создано: 21 июня 2018 12:54 · Поправил: f13nd New! Цитата · Личное сообщение · #19
mak пишет: win32ax -- Win32 no unicode win32wx -- Win32 with unicode win64ax -- Win64 no unicode win64wx -- Win64 with unicode Это всё условное деление, чтоб фасм сам выбирал unicode или ascii-функции для импорта, ничто не мешает MessageBoxW вписать с *ax-заголовком и дать ему уникод-строку. Кириллица в фасмоисходниках в cp1251, аски-строки директива db, уникод du. Галки в EasyCode очевидно для выбора правильной кодировки исходника, так что не-юникод там надо выбрать.
Создано: 21 июня 2018 14:55 New! Цитата · Личное сообщение · #20
f13nd в IDE fasm'a получается скомпилить, чтобы выводились русские буквы (не смотрел unicode или ascii, охотно верю, что возможны любые варианты). В EasyCode не получается никак, ни с какими настройками/галками/кодировками страницы/подключением инклудов из папки fasm'a. Достучался до автора EasyCode, он проникся проблемой, сказал, что это проблемы у самого fasm'a (?!), и сейчас он общается с Томасом, чтобы это пофиксить. Также пообещал прикрутить горячие клавиши и "свободный проект" (вид проекта с полным контролем исходного кода, как в IDE fasm'a) в следующей версии.
Создано: 21 июня 2018 15:44 · Поправил: f13nd New! Цитата · Личное сообщение · #21
parfetka пишет: в IDE fasm'a получается скомпилить, чтобы выводились русские буквы (не смотрел unicode или ascii, охотно верю, что возможны любые варианты). В EasyCode не получается никак, ни с какими настройками/галками/кодировками страницы/подключением инклудов из папки fasm'a. Достучался до автора EasyCode, он проникся проблемой, сказал, что это проблемы у самого fasm'a (?!), и сейчас он общается с Томасом, чтобы это пофиксить. Также пообещал прикрутить горячие клавиши и "свободный проект" (вид проекта с полным контролем исходного кода, как в IDE fasm'a) в следующей версии. Проблема это когда EasyCode хранит исходники в UTF-16LE, а конвертирует в заявленный в настройках ANSI всегда в кодировке cp1252. Чтоб были русские буквы надо пропатчить 4E4(1252) на 4E3(1251) как показано на картинке.--> Link <--
Создано: 21 июня 2018 16:43 New! Цитата · Личное сообщение · #22
вот, одной проблемой меньше. В ascii выводит после патча. В unicode пока не удалось скомпилить.. п.с. Что же в ней ужасного? Красивая подсветка, удобная настройка, автокомплит Api, макросы .if...else и другие, объявление переменных и строк по месту, вложенные функции, редактор ресурсов. Также есть объекты и методы, с которыми ещё не разобрался как использовать.. Альтернатив-то нет: np++ без автокомплита, и RadASM без макросов..
Создано: 21 июня 2018 16:56 · Поправил: f13nd New! Цитата · Личное сообщение · #23
parfetka пишет: Что же в ней ужасного? Красивая подсветка, удобная настройка, автокомплит Api, макросы .if...else и другие, объявление переменных и строк по месту, вложенные функции, редактор ресурсов. include 'macro\if.inc' - это .if .elseif .else .endif, вполне себе стоковый фасм include 'win32ax.inc' - это в том числе и объявление строк по месту (стрёмное, использую другое), и директива addr, которая офигенна. Не изикод, стоковый фасм. Редактор ресурсов? Что не так с макросами стокового фасма для этого? Про макроязык фасма я вообще молчу, это чисто ван лов. По-моему это попытка сделать из конфеты что-то типа MS Visual Studio, но о вкусах не спорят. Когда эта штука потребовала у меня масм при создании проекта для фасма, я решил, что это шутка.
Создано: 21 июня 2018 19:59 New! Цитата · Личное сообщение · #24
f13nd пишет: Когда эта штука потребовала у меня масм при создании проекта для фасма, я решил, что это шутка. не было такого! у меня. Что тогда остаётся? RadASM? Я только начал его настраивать. Пока даже masm не убрал полностью из меню.. У него не очевидные настроики ini. Без автокомплита и подсветки в IDE fasm'a совсем скучно..
Создано: 21 июня 2018 20:51 · Поправил: f13nd New! Цитата · Личное сообщение · #25
parfetka пишет: Без автокомплита и подсветки в IDE fasm'a совсем скучно. СиШарп? ДотНет? ПрограммированиеМышью? Имхо ассемблер выбирают не за комфорт и легкость. Это литры чая и килограммы никотина за переписыванием чёртовых интерфейсов/структур со студии, потому что за тебя это никто не делать не будет. Это 2/3 всех ссылок в гугле для сишарпа-атл-мфс-басика-и-прочей-комовщины, где ты будешь гадать "а этот вариант в аргументах - указатель или прямо в стек запихивается?". Так что если ищешь удобств, наверное искать надо совсем не в этом месте.
Создано: 24 июня 2018 14:10 New! Цитата · Личное сообщение · #26
f13nd пишет: parfetka пишет: Без автокомплита и подсветки в IDE fasm'a совсем скучно. СиШарп? ДотНет? ПрограммированиеМышью? Имхо ассемблер выбирают не за комфорт и легкость. Это литры чая и килограммы никотина за переписыванием чёртовых интерфейсов/структур со студии, потому что за тебя это никто не делать не будет. Это 2/3 всех ссылок в гугле для сишарпа-атл-мфс-басика-и-прочей-комовщины, где ты будешь гадать "а этот вариант в аргументах - указатель или прямо в стек запихивается?". Так что если ищешь удобств, наверное искать надо совсем не в этом месте.
Это не значит, что нельзя сделать удобно, я думаю многие кто не знает язык хорошо и не пишет на нём каждый день, сравнивает его с листингом дизассемблера, это ошибочное мнение, посмотреть хотяб примеры ООП которые я выше постил, посмотреть ObjAsm, примеры настолько изящные, что глаз радуется такой красоте. Переписывание интерфейсов не такое уж и трудное занятие, когда уже знаешь что к чему, с помощью дополнительных утилит это реализуемо
parfetka пишет: не было такого! у меня. Что тогда остаётся? RadASM? Я только начал его настраивать. Пока даже masm не убрал полностью из меню.. У него не очевидные настроики ini. Без автокомплита и подсветки в IDE fasm'a совсем скучно..
С автокоплитом сложнее сейчас, т.к. проиходит переход на х64, всё будет со временем, над автокомлитом сейчас уже работают. Подсветка в РадАсм тоже настраивается, я использую в основном IDE из-за удобства создания проекта и его контроля, подсветки, в остальном другие функции использую редко.
parfetka пишет: и RadASM без макросов.. Макросы как я уже говорил, нужно писать или самому или дополнять по мере прибавления в свой архив, сейчас архив макросов на стадии разработки для масм и уасм, они должны быть оттестированы и проверены другими пользователями, вот некоторые из них в атаче, но для масм64.
По теме далее: pellesc 9.0 Release Candidate #2 ( Jun 19, 2018 ) --> Link <-- - major changes between 8.00 and 9.00 --> Link <--
{ Атач доступен только для участников форума } - macros64upd.zip
Создано: 24 июня 2018 14:45 · Поправил: f13nd New! Цитата · Личное сообщение · #27
mak пишет: Это не значит, что нельзя сделать удобно Тогда в чем связь между удобством и определенной IDE, которая лучше знает как тебе писать? --> Link <-- Текстовых редакторов с подсветкой каких хочешь синтаксисов, с кучей настроек полно.
Создано: 26 июня 2018 10:16 New! Цитата · Личное сообщение · #28
Я че-то проникся этой темой удобств, может правда столько лет неправ был) --> Link <-- С подсветкой что только ни делал - дико смотрится. Получился аутентичный фасм с макросами на F9 и Ctrl+F9 того же назначения, но еще с полезными фишками самого редактора. Так что изикод не бро.
Создано: 26 июня 2018 15:37 · Поправил: f13nd New! Цитата · Личное сообщение · #30
parfetka пишет: так залей свою сборку EmEditor, чтобы все тоже смогли заценить! Не знаю, ну тему выложу, все настройки наверное не налезут на другую версию, а у меня не новая. Проще на пальцах объяснить, что Сервис-Свойства для текущей конфигурации (должен быть выбран x86 Assembler, для этого можно тупо открыть .asm), вкладки Подсветка(1), Подсветка(2) и Вид (справа от имени темы ">" и Импорт) - настройка подсветки, вкладка Клавиатура - бинды. 2 простеньких vbs-макроса регистрируются в Макросы - Настройка и биндятся на нужные кнопки.
Создано: 26 июня 2018 16:19 New! Цитата · Личное сообщение · #31
f13nd пишет: "агрессивно навязывать"
Я сам пользуюсь емедитором уже давно, но для быстрой редакции, собрал данные по х64 и по х86, по макросам и регистрам, для макро ассемблера х64-х86, осталось всё это оформить в хороший стиль с правильной цветовой схемой, всё руки не доходят. Возможно это обсуждение послужит поводом доделать схему Идея со скриптом тоже классная, возьму на заметку
Единственное что нужно ещё сделать, это разбросать ассемблерные команды по типам, чтобы подсветка была более форматированной и набросать пару скриптов, чтобы они форматировали ассемблерный листинг.