Your first program is the everyday beginner program, the hello world program. We will explain every line.

.model flat.console

This part says that this program will use the x86 instruction set and the flat model of the console application type program.

include dll c:Gapel/dl/console.dll
include dll c:Gapel/dl/winos7.dll

This part adds the windows 7 operating system and console x86 extras to the x86 instruction set.

include lib c:Gapel/li/win64.lib
include lib c:Gapel/li/win32.lib

This tells the computer to use the windows 64 bit and the windows 32 bit version x86 instruction set.

.start data
dword hello string "Hello, world", null
.end data

This assigns the variable hello the value hello, world. The null is what prevents a memory leak from happening.

.start code
.main rtrnt is void
.start main
hello, out, null ; this line outputs hello world
.end main
don't call exitwait until exitprocess equals "\n", null
.end code

This part outputs the value of hello to the screen, and to exit it waits for you to press the enter key.


One example of a comment in Gapel is this:
hello, out, null ; this line outputs hello world

A comment in Gapel is everything past a ; as long as the ; is not in "double quotes", but, unlike High Level Programming Language(HLPL), there is no multiline comment.