Форум программистов
 

Восстановите пароль или Зарегистрируйтесь на форуме, о проблемах и с заказом рекламы пишите сюда - alarforum@yandex.ru, проверяйте папку спам!

Вернуться   Форум программистов > Низкоуровневое программирование > Assembler - Ассемблер (FASM, MASM, WASM, NASM, GoASM, Gas, RosAsm, HLA) и не рекомендуем TASM
Регистрация

Восстановить пароль
Повторная активизация e-mail

Купить рекламу на форуме - 42 тыс руб за месяц

Ответ
 
Опции темы Поиск в этой теме
Старый 31.10.2010, 00:35   #1
Andrey&
Новичок
Джуниор
 
Регистрация: 08.09.2010
Сообщений: 2
По умолчанию Вывод по координатам

Всем привет!!!
Помогите решить одну проблему...
Есть программа при нажатии левой кнопки мышки выводятся координаты места где было нажатие.
координаты выводятся в левом верхнем углу.

Подскажите пожалуйста как сделать чтобы сообщение о координатах показывалось в в том месте где было нажатие!!
Координаты я получил, а как к ним сообщение привязать???

Пробовал gotoxy(x,y); работает, только координаты пишет одни а надпись появляется в других местах(((
Andrey& вне форума Ответить с цитированием
Старый 31.10.2010, 11:15   #2
Stilet
Белик Виталий :)
Старожил
 
Аватар для Stilet
 
Регистрация: 23.07.2007
Сообщений: 57,097
По умолчанию

gotoxy() уже появилось в ассемблере??
I'm learning to live...
Stilet вне форума Ответить с цитированием
Старый 31.10.2010, 11:22   #3
Tronix
Форумчанин
 
Аватар для Tronix
 
Регистрация: 15.06.2010
Сообщений: 740
По умолчанию

Цитата:
Сообщение от Stilet Посмотреть сообщение
gotoxy() уже появилось в ассемблере??
Может быть макрос какой-нибудь в MASM'е....
Чтобы понять рекурсию, сперва нужно понять рекурсию.
Tronix вне форума Ответить с цитированием
Старый 31.10.2010, 12:17   #4
alexcoder
Форумчанин
 
Регистрация: 31.05.2009
Сообщений: 786
По умолчанию

У него программа на си со вставками на ассемблере.
Уважаемый ТС, как я уже ответил на другом форуме, выкладывайте весь код, чтобы его можно было скомпилировать и проверить. Телепаты в отпуске.
Помощь с программами:
vk.com/alexcoder1
e-mail: informatik101@mail.ru
alexcoder вне форума Ответить с цитированием
Старый 02.11.2010, 06:55   #5
Mikl___
Участник клуба
 
Регистрация: 11.01.2010
Сообщений: 1,139
По умолчанию

Andrey&
Наверное, так
Код:
; masm dos com #
.286
.model tiny
.code
org 100h
start:	mov ax,3;текстовый режим 80х25 символов, если учесть размер символа
	int 10h;8х8 соответствует графическому режиму 640х200
	mov dx,offset string1;выводим сообщение как выйти из программы
	mov ah,9
	int 21h
	mov ax,0;Функция 00h предназначена для выяснения, загружен ли в память 
	int 33h;драйвер мыши. Если эта функция возвращает AX = 0, то драйвер 
	test ax,ax;отсутствует. Если драйвер загружен, то AX = 0FFFFh , а в 
	jz exit;регистре BX - число кнопок мыши
	mov ax,0Ch;Функция 0Ch позволяет программно задать реакцию на события 
	push cs;связанные с мышью: ее перемещения, нажатие и отпускание кнопок. 
	pop es;События, на которые необходимо реагировать, должны быть отмечены 
	mov cx,2;единицами в соответствующих разрядах регистра CX. CX=2 - вызвать подпрограмму, 
	mov dx,offset mouse;если левая клавиша отпущена. После выполнения этой 
        int 33h;функции драйвер мыши на каждое из заданных событий будет 
;реагировать вызовом обработчика событий - подпрограммы, FAR-указатель на адрес 
;которой был указан в регистрах ES:DX
	mov ax,1;Функция 01h включает изображение курсора мыши на экране.
        int 33h
	xor ax,ax;ждем пока не нажмут на клавиатуру
	int 16h
exit:	int 20h;завершаем программу
mouse proc far
	push cs
	pop ds
	push 0B800h
	pop es
	mov ax,cx;в CX и DX - координаты курсора
	mov di,dx;в DI будут координаты надписи
	shl di,2;di=dx*4
	add di,dx;di=dx*5
	shl di,2;di=dx*20
	shr cx,2
	add di,cx;di=dx*20+cx/4
	mov bl,10
	div bl
	or ah,30h
	mov string[4],ah
	aam
	add ax,3030h
	mov string[2],ah
        mov string[3],al
	mov ax,dx
	div bl
	or ah,30h
	mov string[10],ah
	aam
	add ax,3030h
	mov string[8],ah
        mov string[9],al
	mov ax,3;стираем с экрана предыдущую надпись
	int 10h
	mov si,offset string
	mov cx,string1-string;длина надписи
	mov ah,0Fh;аттрибуты надписи (белое на черном)
@@:	lodsb
	stosw;выводим координаты на экран в заданную позицию
	loop @b
	retf
mouse endp
string db "x=    y=   "
string1 db "для выхода из программы нажмите на Esc$"
end start
уж извиняйте на чистом асме

Последний раз редактировалось Mikl___; 02.11.2010 в 09:07.
Mikl___ вне форума Ответить с цитированием
Ответ


Купить рекламу на форуме - 42 тыс руб за месяц



Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
Вычисление площади пятиугольника по координатам Fantom.as Общие вопросы C/C++ 1 13.10.2010 01:11
Работа по координатам экрана bunukar Общие вопросы Delphi 10 02.05.2010 21:14
Вывод по координатам Alyonka_v Assembler - Ассемблер (FASM, MASM, WASM, NASM, GoASM, Gas, RosAsm, HLA) и не рекомендуем TASM 0 15.09.2009 20:10
Принадлежность объекта по координатам Angel_CJ Помощь студентам 9 12.09.2007 18:43
Рассчет времени по координатам Квэнди Свободное общение 5 28.12.2006 12:59