Абсолютно понятно что у любого компилятора есть документация, которую обязательно нужно прочитать и вот я уже почти осилил документацию пакета 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 рамки (окна).
Комментариев нет:
Отправить комментарий