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

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

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

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

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

Ответ
 
Опции темы Поиск в этой теме
Старый 14.03.2011, 19:26   #1
Дмитрий142
Пользователь
 
Регистрация: 21.01.2009
Сообщений: 22
Злость Прога вылетает при нажатии кнопки..

кубик должен двигатся при нажатии стрелок, а при нажатии пробела - должен упасть вниз...вот код
Код:
CSEG SEGMENT PARA PUBLIC
Assume   cs:CSEG, DS:CSEG, SS:CSEG, ES:CSEG

JMP BEG

KvB_X	DW 	0
KvB_Y	DW	80
KvE_X	DW	32
KvE_Y	DW	112

BEG :
MOV	AX,CS
MOV	SS,AX
MOV	DS,AX
MOV	ES,AX
MOV	SP, OFFSET STEK
;VIDEO
INT	12H
MOV 	AX,12H
INT 	10H

START : 
MOV	DX, KvB_Y
MOV	CX, KvB_X

CALL Kv_TO_SCREEN

;WAIT TO PRESS 

MOV	AX,0
INT	16H
CMP	AH,1
JNE 	FINAL 




CMP 	AH,4DH
JNZ	C1
CALL	Kv_CLEAR
ADD 	KvB_X,32
ADD 	KvE_X,32
JMP 	START 	

C1:
CMP 	AH, 4Bh
JNZ 	C2 
CALL 	Kv_CLEAR
SUB 	KvB_X,32
SUB 	KvE_X,32
JMP 	START

C2:
CMP 	AH, 48h
JNZ 	C3
CALL 	Kv_CLEAR
SUB 	KvB_Y,32
SUB 	KvE_Y,32
JMP 	START

C3:
CMP 	AH, 50h
JNZ 	C4
CALL 	Kv_CLEAR
ADD 	KvB_Y,32
ADD 	KvE_Y,32
JMP 	START

C4:
CMP 	AH, 39h
JNE 	START 
CALL 	Kv_CLEAR
MOV 	KvB_Y,447
MOV 	KvE_Y,479	
JMP 	START


FINAL :

MOV	AX,03H
INT	10H
MOV	AH,4CH
INT	21H

Kv_TO_SCREEN PROC NEAR
PUSH	DX
PUSH	CX
MOV	BX,0

CICLE1 : 
MOV CX, KvB_X

CICLE :
MOV 	AX,0C04H
INT	10H
INC	CX
CMP	CX,KvE_X
JNZ	CICLE

INC	DX
CMP	DX,KvE_Y
JNZ	CICLE1
POP	CX
POP	DX
RET
Kv_TO_SCREEN ENDP

Kv_CLEAR PROC NEAR
PUSH	DX
PUSH	CX
MOV	BX,0

CLEAR1 : 
MOV CX, KvB_X

CLEAR :
MOV 	AX,0C00H
INT	10H
INC	CX
CMP	CX,KvE_X
JNZ	CLEAR

INC	DX
CMP	DX,KvE_Y
JNZ	CLEAR1
POP	CX
POP	DX
RET
Kv_CLEAR ENDP


LSTK	DB	256 DUP (0)
STEK	DW	0
CSEG ENDS
END
Дмитрий142 вне форума Ответить с цитированием
Старый 15.03.2011, 01:06   #2
Serge_Bliznykov
Старожил
 
Регистрация: 09.01.2008
Сообщений: 26,238
По умолчанию

смотрите исправление (выделено)
Цитата:
Код:
;WAIT TO PRESS 

MOV	AX,0
INT	16H
CMP	AH,1
JE 	FINAL
p.s. это проверка на выход из программы - по нажатию ESC
Serge_Bliznykov вне форума Ответить с цитированием
Старый 15.03.2011, 08:36   #3
Дмитрий142
Пользователь
 
Регистрация: 21.01.2009
Сообщений: 22
По умолчанию

спасибо большое...пропустил проверку
Дмитрий142 вне форума Ответить с цитированием
Ответ


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

Опции темы Поиск в этой теме
Поиск в этой теме:

Расширенный поиск


Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
появление Edit при нажатии кнопки Саня_ Компоненты Delphi 4 06.03.2011 21:45
Скрытие кнопки при нажатии на нее MyLastHit Общие вопросы Delphi 10 03.08.2010 22:23
Запуск формы при нажатии кнопки SkrudjMakdak Microsoft Office Excel 4 30.07.2010 22:29
событие при нажатии кнопки мыши за формой Izlom Помощь студентам 4 21.07.2010 16:02
Ошибка при нажатии кнопки Skynet91 БД в Delphi 1 08.02.2010 19:45