Assembly Gui Programming

This information is now being maintained at https://www.randallhyde.com

WEBster Navigation
LinkDescription
Art of Assembly BookThe most popular on-line assembly language reference in the world! Join the thousands and thousands of people who've discovered the fastest and easiest way to learn assembly language programming!
High Level Assembly

Now Available for Mac OSX, FreeBSD, Linux, and Windows!

The evolution of assembly language! Now you can write real assembly language programs without all the disadvantages of writing code in assembly language. Now you can write applications in true assembly code as efficiently as writing code in a high-level language.
The HLA Standard LibraryThe most popular component of the High Level Assembler (HLA) has always been the HLA Standard Library. Check out the brand-new, revamped and improved, version of the HLA Standard Library!
Windows AssemblyWant to learn how to write Windows GUI apps in assembly language? This is the place to learn. NEW! HOWL (HLA Object Windows Library) tutorial is now available on Webster. HOWL is the easiest way ever to write Win32 assembly language programs.
Linux AssemblyWant to learn how to write Linux applications and device drivers in assembly language? This is the place to learn.
Write Great CodeAll about Randy Hydes 'Write Great Code' series.
Software Audio Console

SAC is a pro audio tool that implements high-quality 'Front of House' and 'Monitor Mixer' boards on a PC. Here is some software and other information I've written for SAC.

Article on speaker placement (interesting stuff)

TopicDescriptionLink
OllyDbgThe OllyDbg debugger is the official debugger for HLA HLA users can use this powerful machine level debugger under Windows to track down problems with their HLA/assembly language programs.Download OllyDbg
HIDE (HLA IDE)Sevag Krikorian is developing the 'HLA IDE' (HIDE) system for HLA users. This is the 'official' IDE for HLA.HIDE Main Page
RadASM IDEKetil Olsen's very impressive RadASM package now supports HLA. RadASM is an integrated development environment (IDE) that provides an editor, HLA project manager, keyword completion, syntax/keyword coloring, on-line help and documentation, and much more. This IDE is particularly useful for programmers who use other assemblers in addition to HLA.http://radasm.cherrytree.at/radasm/
Art of Assembly/High-Level Assembler Mailing ListThis is the official group on Yahoo intended to support the High Level Assembler and The Art of Assembly Language Programming. Check it out!aoaprogramming list
MASM32 Support BoardThis is a site dedicated to sharing information about programming in assembly language. Includes an HLA section for HLA programmers.http://www.masmforum.com
6502 Assembly LanguageBlast from the Past! See a scanned copy of Randy Hyde's 1981 book 'Using 6502 Assembly Language' Using 6502...
80x86 Assembly LanguagePaul Carter's Assembly BookPC Assembly Language
Linux-based assemblyJonathan Bartlett's Book on Linux AssemblyAssembly From the Ground Up

The Easiest Way to Learn Assembly!

Published by No Starch Press (Second Edition is now available!)
(http://www.nostarch.com)

You can order this book from http://www.amazon.com as well as your local bookseller

Click HERE to see a larger version of the cover art.

Now Available!

Write Great Code, Volume I:
Understanding the Machine

Randy Hyde's new series: Write Great Code teaches you everything you need to know to write efficient, readable, maintainable, and quality code.

The first volume in this four-volume set, Understanding the Machine, teaches 'Machine Organization'. Whenever someone tells you that you should learn assembly language in order to learn how to write better high level code, what they're really telling you is to learn machine organization. By reading this book, you can learn how the low-level machine operates so that you can write better high-level language code, without the drudgery of mastering assembly language.

This book will also make a great companion/prerequisite text to 'The Art of Assembly Language'

Now Available!

Write Great Code, Volume II:
Thinking Low-Level, Writing High-Level

Compiler writers have often claimed that their compilers generate code that is just as good as hand-written assembly language. In practice, compilers rarely achieve this level because of the poor-quality high-level language source code fed to these compilers. Thinking Low-Level, Writing High-Level will teach you how to help your high-level language compiler live up to its promise. This book explains how compilers generate machine code from high-level language statements, so that you can choose the most appropriate high-level statements to efficiently solve the problem at hand.

So assembly provides mnemonics to substitute for these instructions, such as mov ax, 30. They correlate directly with machine-code CPU instructions, but without the meaningless binary numbers. Like most programming languages, assembly is a list of instructions followed in order. Apr 14, 2010 GUI applications, written in assembly tend to be very small in size, with very responsive interface, fast and resource friendly. As an example of such an application I can point you to my project Fresh IDE - it is an advanced Visual RAD IDE for FASM programming. It is very feature-rich, but the size of the executable is only 250kB.

Programming

Question or issue on macOS:

I’d like to know how can I do a simple assembly program for Mac OS X that shows a window on the screen and put some coloured text on that window. The code may call some Carbon or Cocoa APIs. I need some code for the nasm sintaxe.

I saw in http://snipplr.com/view/29150/assembly-code-nasm-for-mac–hello-world the next code that works fine, but it´s not graphic.

Java gui programming example

Thanks for any help

How to solve this problem?

Assembly Gui Programming Language

Java

Solution no. 1:

This is not Carbon as requested in the comments in the previous answers, but it may help you get a step further ahead in your noble pursuit:

Assembly Gui Programming Language

Assembly Gui Programming

Solution no. 2:

Gui Programming Language

You can call Carbon APIs with call like this:

You can pass arguments also, but I’m unsure how to do that. Probably pushed onto the stack in reversed order just before the call:

You can look in how you C code compiles into assembly, like this:

Hope this helps!