Цитата Сообщение от krt17 Посмотреть сообщение
Destr красава, особенно полезно для 8 бит результата плюс остаток.
Небольшой макрос для вычисления адреса в пиксельном экрана познакоместно. Раньше мучался, сейчас использую постоянно.
Код:
			macro	at x,y
			db	(y&0x07)*0x20+x
			db	(y&0x18)+0x40
			endm
Вот, кстати, нашлись подобные макросы в Alasm:

alasm:

Вычисление экранного адреса.

getS метка,3,4*8 (4пикселя и *8 для знакомест)

\0 - Имя создаваемой переменной
\1 - X coord (в знакоместах)
\2 - Y coord (в пикселях)

MACRO getS ; label,X,Y ($-SCR)
\0 EQU Ss
\0=\0+((\2)&192*32)+((\2)&7*256)+((\2)&56*4)+((\1) &31)

ENDM



Вычисление адреса в атрибутах.

get@ метка,X,Y

\0 - Имя создаваемой переменной
\1 - X координата (в знакоместах)
\2 - Y координата (в знакоместах)

MACRO get@ ; label,Xat,Yat (@-ATTR)
\0 EQU As
\0=\0+((\2)*32)+((\1)&#1F)

ENDM