Tag Archives: assembler

Programming with FASM – ComboBox Control – part 001.

Today I start with a simple FASM tutorial about combobox control.
In this tutorial I will show you how to deal with this control.
First you need to create a simple window and then to add it.
The steps are very simple:

  • start program with the format PE GUI 4.0
  • define entry start point to start running ;
  • include library win32a;
  • create two ID’s : one for window form and one for combobox control;
  • create sections for : .code, .idata.text and .rc;
  • create a variable ( named by me szInitText ) to use like string message into .itext area ;
  • fill the .idata and .irc with my source code ( default settings for window and set the dialogitem );
  • create the DialogProc and fill with all is need to make the winodow form;

This source code just create the combobox control without items.

This is the source code of this tutorial:

This is the result :

Posted in All, Assembler, Programming, Windows 10, Windows 7, Windows 8. Tagged with , , , , , , , .

News: FASM on MacOS.

The development team of FASM come with this new release:
This release contains executables for 32-bit Linux and Windows, plus an experimental executable for MacOS. It is packaged with examples of macroinstructions that allow assembly of simple programs for the architectures like x86, x64, 8052, AVR, or Java Virtual Machine.

Posted in news. Tagged with , , , .

News: The FRESH I.D.E. for FASM assembler .

The reputable IDE for FASM named Fresh comes on 29.10.2017 06:47:22 with new news.
As you know, this can be used with the Linux and Windows operating system.
You can download it from here.
The development team come with this new content:
Quick bugfix release. The description for v2.6.0 is still valid. Read below.
The download links are updated. Download again and update your installation, if you downloaded v2.6.0.

Posted in news. Tagged with , , , .

Programming with FASM – test with CPUID .

First you need to take a look at this website.
The CPUID returns processor identification and feature information in the EAX, EBX, ECX, and EDX registers.
What the source code from my example do ?
First I start with the default assembly program .
The next step is to strat with reset xor eax,eax use cpuid.
The result of CPUID will be put into EBX.
Into section ‘.data’ data readable writeable make a structure named out_buffer.
The structure will be fill so you need to EBX, see example:
mov [out_buffer.vendor_ebx],ebx will give us “Genu”.
The next step for test EBX is this example:
test edx,00010000000000000000000000000000b
jz .NoHTT
mov [out_buffer.htt_arch4],’YES ‘

The structure of out_buffer is :
db ‘NoHTT’,2,9,’- ‘
.htt_arch4 dd ‘NO ‘
db 9,10

Because I used MessageBox to show us the out_buffer.
The result will be : No or Yes with the size of dd.
The db can define byte variables, as well as arrays of bytes.
Fasm documentation tell us: For example db 1,2,3 will define the three bytes of values 1, 2 and 3 respectively.
The dd has 4 bytes.
The result will be this text (the result is true so the text will be YES): “NoHTT – YES”.
Let’s see one screenshot:

This is the source code:

Posted in All, Assembler, Windows 10, Windows 7, Windows 8. Tagged with , , , , , .

Programming with FASM – Calendar Control.

I have not done a tutorial about the assembler programming language for a while, so today I had a good reason to write this tutorial.
The tutorial focuses on using Calendar Control (MSAA UI Element Reference).

The source code of the window made in fasm is used into this tutorial.
I added the window class name for a month calendar which is defined as SysMonthCal32.
The file if.inc is used for message selection.
When we close the program, a closing dialog is displayed.
To run the Go to today click is displayed but I did not implement execution code.
The IDD_DLG parameter is random and I put the year of my birth to be more fun.
The program contains comments to understand the source code.
For execution, you need to add it to the FASM editor and run it with the F9 key.
You also have the executable version in the Downloads section of the main page menu.

Posted in All, Assembler, Programming, Windows 10, Windows 7, Windows 8. Tagged with , , , , , .