Прошерстил документацию пакета MASM.

Абсолютно понятно что у любого компилятора есть документация, которую обязательно нужно прочитать и вот я уже почти осилил документацию пакета MASM. Как раз я дошёл до документации по макросам и всё стало на свои места... Это же: Microsoft Macro Assembler! 

Приведу функцию которую на нашёл в /masm32/macros/macros.asm

invoke crt__getch

которая является макросом getkey, при вызове возвращает код клавиши в eax. С помощью этой команды можно делать меню в консольных приложениях. 

 

Также есть для меня интересный макрос alloc$, который выделяет память для строки, например так

LOCAL sstr_ptr:DWORD mov sstr_ptr, alloc$(10) ; выделим блок на 10 символов ... free$(sstr_ptr) ; и освободим

 

А ещё интересней то что есть такая страница в документации "Graphics Primitives" на которой всего 2 функции: circle и line, одна рисует круг/елипс другая линию. Вот так я нарисовал на рабочем столе красную линию

RGB 255,0,0 ; макрос цветовой структуры, цвет в eax (красный) push 50 ; y - конец линии push 50 ; x - конец линии push 0 ; y - начало линии push 0 ; x - начало линии push eax ; цветовая структура push 0 ; хендл окна (0=desktop) call line ; вызываем функцию, аргументы идут задом на перёд

Следующий раз будет что-то основательней, может я сойду с ума и буду рисовать буквы в консольном окне с помощью этой единственной  фунцкии line. Но всё таки я немного приврал и там ещё есть функции типа Frame3D и FrameWindow, как я понял для рисования 3d рамки (окна).

Комментариев нет:

Отправить комментарий

Глобал близко? ч.2

Ну что глобал близко? Ну он не просто близко, а уже есть! Сейчас глянул, это было: 17 мая в 1:04. После того на втором  аккаунте сняли супр...