Русский / Russian English / Английский

Сейчас на форуме: _MBK_, vietlas22 (+1 невидимый пользователь)
 · Начало · Статистика · Регистрация · Поиск · ПРАВИЛА ФОРУМА · Язык · RSS ·

 eXeL@B —› Софт, инструменты —› X64 Assembler Programming - UASM - JWasm
<< . 1 . 2 . 3 .
Посл.ответ Сообщение

Ранг: 673.3 (! !)
Статус: Участник

Создано: 26 ноября 2016 23:55 · Поправил: Модератор 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.

  1. UASM 2.49 (32bit)          21/06/2019        32bit Binary Package (Windows)
  2. UASM 2.49 (64bit)          21/06/2019        64bit Binary Package (Windows)
  3. UASM 2.49 (Linux 64bit)    21/06/2019  64bit Linux Executable (GCC)
  4. UASM 2.47 (OSX Universal)  17/11/2018         64bit OSX Executable (GCC)

--> 32bit <-- , --> 64bit <-- , --> Linux 64bit <-- , --> OSX <--

Full SDK 10.0 translate for 64 and 32 bits --> Link <--
--> Site <--
Примеры с этими хидерами - --> Link <--

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 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 (HJWasm), Masm and PoAsm, using different tools for the various assemblers
--> Easy Code <--

RadASM 32/64-bit

Current version: - Last updated: 08/01/2018

--> Fork <--

Latest Release - Zips
--> FullPackage <--

  2. 1.74 MB
  3. 1.14 MB
  4. 203 KB
  5. 4.6 MB
  6. 1.03 MB
  7. 549 KB
  8. Source code (zip)
  9. Source code (tar.gz)

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


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.
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.

Visit the wiki entry Setting up the RadASM environment for more details.

  1. Written and Programmed by KetilO
  2. 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) macOS, Windows, Linux/Unix-based systems
--> Link <--

X64 Iczelion's Tutorial -> Автор - Mikl ( --> Link <--

--> Link <--

Актуальные книги программисту на X64 ассемблере - --> Link <--
P a s s - Assembler64


  1. AMD64 Architecture Programmer's Manual\
  2. Russinovich M. - Windows Internals, Part 1, 6th Edition - 2012\
  3. Russinovich M. E., Solomon D. A., Ionescu A. - Windows Internals, 6th ed. - 2012\
  4. Windows 7 Device Driver\
  5. Randall Hyde The Art of Assembly Language.epub
  6. Andrew Whitechapel, Sean McKenna-Windows Phone 8 Development Internals-Microsoft Press (2013).pdf
  7. Ata Elahi, Trevor Arjeski auth. ARM Assembly Language with Hardware Experiments.pdf
  8. coder32.pdf
  9. coder64.pdf
  10. Daniel Kusswurm Modern X86 Assembly Language Programming 32-bit, 64-bit, SSE, and AVX.pdf
  11. Dmitry Vostokov-Memory Dump Analysis Anthology. 7-Opentask (2014).pdf
  12. Heiko Falk, Peter Marwedel auth. Source Code Optimization Techniques for Data Flow Dominated Embedded Software.pdf
  13. Jeff Duntemann Assembly Language Step-by-Step Programming with Linux.pdf
  14. Joseph Cavanagh X86 Assembly Language and C Fundamentals.pdf
  15. Kip Irvine Assembly Language for x86 Processors 6th Edition.pdf
  16. Larry D. Pyeatt Modern Assembly Language Programming with the ARM Processor.pdf
  17. Manuel Sojer auth. Reusing Open Source Code Value Creation and Value Appropriation Perspectives on Knowledge Reuse.pdf
  18. Margush, Timothy S Some Assembly Required  Assembly Language Programming with the AVR Microcontroller.pdf
  19. Mark E. Russinovich, David A. Solomon, Alex Ionescu-Windows Internals, 5th Edition-Microsoft Press (2009).pdf
  20. Mastering CMake. Ken Martin. 2009.pdf
  21. Modern X86 Assembly Language Programming 32-bit, 64-bit, SSE, and AVX.pdf
  22. Muhammad Ali Mazidi, Sarmad Naimi, Sepehr Naimi, Janice Mazidi ARM Assembly Language Programming and Architecture.pdf
  23. Professor James T. Streib auth. Guide to Assembly Language A Concise Introduction.pdf
  24. Randall Hyde The Art of Assembly Language.pdf
  25. Ray Seyfarth Introduction to 64 Bit Intel Assembly Language Programming for Linux.pdf
  26. Susan Elliott Sim auth., Susan Elliott Sim, Rosalva E. Gallardo-Valencia eds. Finding Source Code on the Web for Remix and Reuse.pdf
  27. Vincent Mahout Assembly Language Programming  ARM Cortex-M3.pdf
  28. Windows Driver Foundation.pdf
  29. Yury Magda Visual C++ optimization with assembly code.pdf
  30. М. Руссинович, Д. Соломон - Внутреннее устройство Microsoft Windows 6-е издание (2013).pdf
  31. Род Стивенс - Алгоритмы. Теория и практическое применение.pdf
  32. Руссинович М., Соломон Д. - Внутреннее устройство Microsoft Windows. Часть 2. Основные подсистемы ОС. 6-е издание - 2014.pdf
  33. KIP R. IRVINE-Assembly Language for x86 Processors-Pearson (2014)
  34. +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

| Сообщение посчитали полезным: zds, plutos, VOLKOFF, elch, Gideon Vi, VodoleY, Vintersorg, HandMill, Orlyonok, DenCoder, Isaev, BlackCode, 4kusNick

Ранг: 270.2 (наставник)
Статус: Участник

Создано: 27 июня 2018 14:31 · Поправил: f13nd New!
Цитата · Личное сообщение · #2

mak пишет:
набросать пару скриптов, чтобы они форматировали ассемблерный листинг

Это уже по-моему костылестроение.

Макрос, аналогичный "Assign to compiler" фасма, устанавливает режим только чтения для выбранного документа (не придумал ничего лучше), отображается как замочек на вкладке. И улучшенные макросы на F9 и Ctrl+F9, которые сами регистрируют инклуды фасма если надо и выводят всё в интерфейс редактора. Для emeditor. В переменную fasm_path надо вставить свой путь к фасму.
--> Link <--
  1. #title="AssignToCompiler"
  2. #tooltip="FASM assign to compiler"
  3. set venv = createobject("WScript.Shell").environment("volatile")
  4. set doc_sel = document
  5. if doc_sel.readonly = false then
  6.          for each doc_cur in editor.documents
  7.                  if doc_cur.readonly=true and doc_cur.fullname<>doc_sel.fullname then
  8.                         doc_cur.activate
  9.                         doc_cur.readonly = false
  10.                  end if
  11.          next
  12.          doc_sel.activate
  13.          doc_sel.readonly=true
  14.          venv("fasm_atc") = doc_sel.fullname
  15. else
  16.          doc_sel.readonly=false
  17.          venv("fasm_atc") = nil
  18. end if
  1. #title="Compile"
  2. #tooltip="FASM compile"
  3. fasm_path = "<fasm path>\fasm"
  4. if document.readonly<>true then
  5. document.fullname
  6. end if
  7. set uenv = createobject("WScript.Shell").environment("user")
  8. set venv = createobject("WScript.Shell").environment("volatile")
  9. if instr(uenv("include"),fasm_path&"\INCLUDE")=0 then
  10.          uenv("include") = uenv("include")&fasm_path&"\INCLUDE;"
  11. end if
  12. document_fullname = document.fullname
  13. if venv("fasm_atc")<>nil then
  14.          document_fullname = venv("fasm_atc")
  15. end if
  16. doc_fld = createobject("Scripting.FileSystemObject").getparentfoldername(document_fullname)
  17. set oexec = createobject("").exec("cmd /C cd "&chr(34)&doc_fld&chr(34)&" & "&chr(34)&fasm_path&"\fasm.exe"&chr(34)&" -m 2097152 "&chr(34)&document_fullname&chr(34))
  18. outputbar.clear
  19. outputbar.visible = true
  20. outputbar.writeln oexec.stdout.readall
  21. outputbar.writeln oexec.stderr.readall
  1. #title="CompileRun"
  2. #tooltip="FASM compileRun"
  3. fasm_path = "<fasm_path>\fasm"
  4. if document.readonly<>true then
  5. document.fullname
  6. end if
  7. set uenv = createobject("WScript.Shell").environment("user")
  8. set venv = createobject("WScript.Shell").environment("volatile")
  9. if instr(uenv("include"),fasm_path&"\INCLUDE")=0 then
  10.          uenv("include") = uenv("include")&fasm_path&"\INCLUDE;"
  11. end if
  12. document_fullname = document.fullname
  13. if venv("fasm_atc")<>nil then
  14.          document_fullname = venv("fasm_atc")
  15. end if
  16. doc_fld = createobject("Scripting.FileSystemObject").getparentfoldername(document_fullname)
  17. run_cmd = doc_fld&""&createobject("Scripting.FileSystemObject").getbasename(document_fullname)&".exe"
  18. set oexec = createobject("").exec("cmd /C cd "&chr(34)&doc_fld&chr(34)&" & "&chr(34)&fasm_path&"\fasm.exe"&chr(34)&" -m 2097152 "&chr(34)&document_fullname&chr(34)&" & "&chr(34)&run_cmd&chr(34))
  19. outputbar.clear
  20. outputbar.visible = true
  21. outputbar.writeln oexec.stdout.readall
  22. outputbar.writeln oexec.stderr.readall

Ранг: 673.3 (! !)
Статус: Участник

Создано: 17 ноября 2018 16:19 · Поправил: mak New!
Цитата · Личное сообщение · #3

UASM 2.47 is now available --> Link <--

  1. -------------------------------------
  2. Roadmap:
  3. -------------------------------------
  5. 2.48
  7. Add DWARF symbolic debugging support.
  8. Add support for PLT/GOT relative addressing.
  9. Extract vectorcall handling to be compatible with all modes.
  11. -------------------------------------
  12. Changelog:
  13. -------------------------------------
  15. 2.47
  17. Fixed symbol undefined with IF
  18. Add -PIE command line switch for position indepedant executable. (not used yet)
  19. Fixed vxorpd evex warning with missing register.
  20. Corrected encoding for vmovsd.
  21. Fix vgather/scatter encoding issue.
  22. Fix vectorcall register over-write ordering.
  23. Fix codegen integer shift encoding for SSE vs. AVX/EVEX.
  24. Add m512 built-in types
  25. Fix error reporting for evex compare instructions ( => VPCMPB,VPCMPUB,VPCMPD,VPCMPUD,VPCMPQ,VPCMPUQ,VPCMPW,VPCMPUW
  26. Clang and Gcc 8+ compiler compatibility fixes
  27. Name mangling for vectorcall
  28. Include improved build files for osx/linux
  29. Fix generation of instructions when in data section (due to lbl: conversion to lbl label byte regression from 2.19)
  30. Add error when literal string used in invoke and parameter is NOT of type PTR or VARARG.
  31. Fixed transfer of language type info from PROC to equate (
  32. Ensure that an equate used with invoke redirects to the actual PROC symbol to ensure proper relocations are generated (
  33. Fix static method HLL invocation without parameters.
  34. Fixed console colour background to match active setting under Windows.
  35. remove duplicated string literals
  36. add plt,got relocation types provisionally.
  37. Fix register ordering in memory operands where base and index could be swapped when no scale present. (Legacy jwasm bug)
  38. AVX-512 encoding fix for VPGATHERDD in 32bit.
  39. Added MOVBE instruction support.

Easy Code
(Updated on November 16, 2018)
--> Link <--

Ранг: 673.3 (! !)
Статус: Участник

Создано: 02 декабря 2018 20:44 New!
Цитата · Личное сообщение · #4

MASM64 SDK - Cumulative Update от 1 декабря, желательно ставить в чистую папку, без обновления прошлых версий. Бинарники от студии как всегда брать в последнем апдейте для VS 2017 ...

--> Link <--

| Сообщение посчитали полезным: plutos, SReg

Ранг: 19.5 (новичок)
Статус: Участник

Создано: 11 января 2019 12:47 · Поправил: dezmand07 New!
Цитата · Личное сообщение · #5

Попалась на глаза довольно интересная среда --> FASM Editor <--

Работает вместе с FASM, в настройках нужно указать папку к самому fasm.exe, инклудам и отладчику (любому).
Умеет компилить DOS, х32 и х64 и самое приятное есть автозаполнение кода Intelligent (вызов списка как и в VS комбинацией Ctrl + пробел).
Единственное обновлений не было аж с 2011 года. Автор программы из Казахстана, поэтому полностью русский интерфейс.

Ранг: 270.2 (наставник)
Статус: Участник

Создано: 11 января 2019 22:37 · Поправил: f13nd New!
Цитата · Личное сообщение · #6

dezmand07 пишет:
Попалась на глаза довольно интересная среда

Нечто похожее есть и официальное и не с 2011 года --> Link <--, но по-моему это только цэшники оценить могут.
ЗЫ: там Гриштар как с ума сошел, то через два дня то через день fasm g обновляет. Когда более-менее закончит, не факт что эта ide будет с актуальным фасмом нормально работать.

| Сообщение посчитали полезным: dezmand07

Ранг: 673.3 (! !)
Статус: Участник

Создано: 05 мая 2019 14:24 New!
Цитата · Личное сообщение · #7

Здесь можно взять последний комплект макро ассемблера для обоих битностей Enterprise WDK 2019 - The EWDK is a standalone self-contained command-line environment for building drivers. It includes the Visual Studio Build Tools, the SDK, and the WDK. The latest public version of the EWDK contains Visual Studio 2019 Build Tools 16.0.0. --> Link <--

Обновилась коллекция библиотек от mrfearless - Collection of libraries for use with x86 / x64 assembler
--> Link <--

Новый UASM-SDK от mrfearless (без оф поддержки) -

ObjAsm Beta 2 Version C.1.0 32/64-bit - --> Link <--
Сайт иногда в офлайн, провайдер тупит. Из бонусов в архиве есть обновлённый h2inc конвертёр, пока в стадии бета ..

Intel Intrinsics - CHM documentation Download - --> Link <--
Бонус этого документа в наличии псевдокода операций, что может быть полезно для программера на ассемблере.

| Сообщение посчитали полезным: Vintersorg, parfetka, morgot, plutos, DICI BF

Ранг: 673.3 (! !)
Статус: Участник

Создано: 22 июня 2019 01:49 New!
Цитата · Личное сообщение · #8

UASM 2.49 is now available --> Link <--

  1. -------------------------------------
  2. Roadmap:
  3. -------------------------------------
  4. 2.50
  6. PLT/GOT Support
  7. DWARF symbolic debugging
  8. COMDAT Folding Option
  10. -------------------------------------
  11. Changelog:
  12. -------------------------------------
  14. 2.49
  16. Non power-2 structure passing fix for 32bit
  17. Correctly error on 3/5/6/7 byte sized structure passing by-value in WIN64
  18. Ensure @ProcLine is reset to 0 after each PROC
  19. Added support for MASM compatible BCST operator
  20. Fixed byte sized immediate moves with new CodeGenV2
  21. Fixed EVEX broadcast operators in comments
  22. Fixed VMULPS 32bit encoding with EVEX
  23. Changed help display to exit to OS with 0 (EXIT_SUCCESS)
  24. Fixed 1-byte short zero-locals option.
  25. Fix MOVQ encoding in legacy codegen
  26. Update UASM targets for Visual Studio to include /debug linker option
  27. Migrate to Visual Studio 2019 Build tools.

| Сообщение посчитали полезным: morgot

<< . 1 . 2 . 3 .
 eXeL@B —› Софт, инструменты —› X64 Assembler Programming - UASM - JWasm

Видеокурс ВЗЛОМ