|
|
Регистрация Восстановить пароль |
Повторная активизация e-mail |
Регистрация | Задать вопрос |
Заплачу за решение |
Новые сообщения |
Сообщения за день |
Расширенный поиск |
Правила |
Всё прочитано |
|
Опции темы | Поиск в этой теме |
03.01.2012, 14:01 | #1 |
Пользователь
Регистрация: 14.04.2011
Сообщений: 12
|
Анимация на аssembler-2
Нужна помощь. Суть программы такова : человечек автоматически идет по экрану, но нужно чтобы он выполнял еще несколько движений (хотя бы 10 кадров в анимации нужно). Выход осуществляется с помощью нажатия любой клавиши.///я нашел кое какую программу но она выводит на экран вот это
Собственно как сделать выход при помощи любой клавиши--как добавить больше кадров--как исправить неполадки с изображением вот код : Код HTML:
.model tiny .286 .code org 100h start: MOV AH,0Fh ;запомнить видеорежим -- видеорежим может быть не обязательно равным 3 INT 10h MOV byte ptr VIDEOR,AL; запоминаем видеорежим чтобы потом его востановить mov ax,0A000h mov ES,ax MOV AX,13h INT 10h cld MOV BX,2 ; инициализируем индекс фаз рисунка MOV DI,320*12 mov cx,200; время на экране -- ставь любое число MOVE_MASK: push cx MOV SI,tab[bx] SHOW_KADR: MOV CX,13; количество строк в рисунке DRAW_H: push cx MOV CX,10 ; количество точек в строке делим на 2 REP MOVSW; выводим сразу по 2 точки ADD DI,320-20; переходим на следующую строку pop cx loop DRAW_H xor bx,2; переключаем идекс фазы рисунка sub di,320*13-1; 1 - плавность перемещения по экрану чем больше число - тем быстрее push bx mov ah,0 ;Получить системное время int 1Ah ; Return: CX:DX=число тиков от полуночи mov bx,dx ;1 секунда=18.2 тика delay: int 1Ah ;пропускаем 55 милисекунды cmp bx,dx jz delay pop bx pop cx loop MOVE_MASK exit: MOV AX,VIDEOR; восстанавливаем первоначальный режим INT 10h INT 20h; выход в DOS H1 DB 0,2,2,2,2,2,2,2,2,2,2,2 DB 0,0,0,0,0,9,9,9,9,0,0,0 DB 0,0,0,0,0,9,9,0,0,0,0,0 DB 0,0,0,9,9,9,9,9,9,0,0,0 DB 0,0,0,9,9,9,9,9,9,0,0,0 DB 0,9,9,0,0,9,9,0,0,9,9,0 DB 0,9,9,0,0,9,9,0,0,9,9,0 DB 0,0,0,0,0,9,9,0,0,0,0,0 DB 0,0,0,0,0,9,9,0,0,0,0,0 DB 0,0,0,9,9,0,0,9,9,0,0,0 DB 0,0,0,9,9,0,0,9,9,0,0,0 DB 0,9,9,0,0,0,0,0,0,9,9,0 DB 0,9,9,0,0,0,0,0,0,9,9,0 H2 DB 0,0,0,0,0,9,9,9,9,0,0,0 DB 0,0,0,0,0,9,9,9,9,0,0,0 DB 0,0,0,0,0,9,9,0,0,0,0,0 DB 0,0,0,9,9,9,9,9,9,0,0,0 DB 0,0,0,9,9,9,9,9,9,0,0,0 DB 0,9,9,0,0,9,9,0,0,9,9,0 DB 0,9,9,0,0,9,9,0,0,9,9,0 DB 0,0,0,0,0,9,9,0,0,0,0,0 DB 0,0,0,0,0,9,9,9,9,0,0,0 DB 0,0,0,9,9,0,0,9,9,0,0,0 DB 0,0,0,9,9,0,0,9,9,0,0,0 DB 0,9,9,0,0,0,0,9,9,0,0,0 DB 0,9,9,0,0,0,0,0,0,0,0,0 tab dw H1,H2; адреса фаз рисунков VIDEOR dw 0 end start |
03.01.2012, 21:14 | #2 |
Форумчанин
Регистрация: 31.05.2009
Сообщений: 786
|
Такая ересь на экране может быть только потому, что текст программы у Вас для com-файла, а компилируете программу как exe, из-за ненастроенных сегментов выводится мусор на экран.
|
04.01.2012, 00:34 | #3 |
Пользователь
Регистрация: 14.04.2011
Сообщений: 12
|
не помогло. приблизительно та же ерунда на экране
|
04.01.2012, 02:10 | #4 | |
Непрофессионал
Участник клуба
Регистрация: 01.01.2008
Сообщений: 1,405
|
Цитата:
И чем больше я узнавал людей, тем больше мне нравились компьютеры.
------------------------------------ Страничка с моими программками http://ulex-masm.ru |
|
04.01.2012, 09:58 | #5 |
Форумчанин
Регистрация: 31.05.2009
Сообщений: 786
|
Код:
|
04.01.2012, 17:30 | #6 |
Пользователь
Регистрация: 14.04.2011
Сообщений: 12
|
ну хоть за что-то спасибо
а как сделать чтобы выход был при нажатии любой кнопки. хоть намек дайте |
Похожие темы | ||||
Тема | Автор | Раздел | Ответов | Последнее сообщение |
Анимация на аssembler | bvak | Помощь студентам | 4 | 31.10.2011 21:06 |
отладчик Turbo Debbager и Аssembler | MaRtOvSkiI_KoT | Помощь студентам | 6 | 08.10.2011 11:47 |
Анимация | Madsqui | Microsoft Office Excel | 3 | 30.05.2010 23:53 |