Интернет магазин китайских планшетных компьютеров |
|
Компьютеры - Fasm - Формат записи инструкций27 апреля 2011Оглавление: 1. Fasm 2. Препроцессирование 3. Формат записи инструкций 4. Формат выходных файлов 5. Поддержка fasm в сторонних программных продуктах Используется Intel-синтаксис записи инструкций. Единственное существенное отличие от формата, принятого в других ассемблерах — значение ячейки памяти всегда записывается как Пример программыПример Windows-программы «Hello, world!», которая выводит это сообщение с помощью функции MessageBox и завершается:
format pe gui 4.0
entry start
include 'win32a.inc'
start:
invoke MessageBox,NULL,message,message,MB_OK
invoke ExitProcess,0
message db 'Hello, World!',0
data import
library kernel32,'kernel32.dll',\
user32,'user32.dll'
include 'api/kernel32.inc'
include 'api/user32.inc'
end data
Или так:
include 'win32ax.inc'
.code
main:
invoke MessageBox,NULL,'Hello, World!','Fasm message box:',MB_OK
invoke ExitProcess,0
.end main
Усложнённый вариант, с уточнением секций в PE-файле:
format pe gui
entry start
include 'win32a.inc'
section '.data' data readable writeable
message db 'Hello, World!',0
section '.code' code readable executable
start:
invoke MessageBox,NULL,message,message,MB_OK
invoke ExitProcess,0
section '.idata' import data readable writeable
library kernel32,'kernel32.dll',\
user32,'user32.dll'
import kernel32,\
ExitProcess,'ExitProcess'
import user32,\
MessageBox,'MessageBoxA'
Пример простой программы в формате .COM.
org 100h
mov ah,9h
mov dx,hello
int 21h
mov ah,8h
int 21h
int 20h
hello db 13,10,"Hello, World!$"
Просмотров: 7788
|