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

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

Вернуться   Форум программистов > IT форум > Помощь студентам
Регистрация

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

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

Ответ
 
Опции темы Поиск в этой теме
Старый 20.06.2010, 16:18   #1
xom9r2008
 
Регистрация: 14.06.2010
Сообщений: 4
По умолчанию Assembler, resident

есть задание, написать резидентную программу "При нажатии клавиши F12 программа заменяет вводимые пользователем алфавитные символы на другие (например q->w, w->e, e->r и т.д.)" я написал НЕ резидентную( у меня с этой темой пошло туго), сможете чем нибудь помочь? please...
Код:
data segment                  
dobav db 0                      
                              
data ends                       
stk segment stack 'stack'       
db 128 dup(?)                   
stk ends                        
code segment                    
assume ds: data, cs: code       
                                
start:                          
mov ax,data                     
mov ds,ax                       
                                
  mov ax,0600h                  
  mov bh,07h                    
  mov cx,0000h                        
  mov dx,324Fh ; подготовка экрана
  int 10h                       
                                
  mov ah,02                     
  mov bh,00    ; установка курсора  
  mov dh,01                     
  mov dl,02                     
  int 10h                             
                                
normal:                         
                                     
mov ah,07h     ;читаем символ   
int 21h                              
                                
cmp al,0       ;проверка основной или расширенный код аски                    
jnz osnov                                                 
                                                           
mov ah,07h                                                 
;mov al,00h    ;есле расширенный-считываем код
int 21h                                          
                                                 
osnov:                                          
                                
cmp al,27      ;проверка на  ESC 
jz exit                         
                                
cmp al,134     ; есле F12 - to                
jnz ok         ; меняем режим          
                                
mov al,1                        
sub al,dobav   ; dobav:=1-dobav 
mov dobav,al                    
                                
jmp normal                      
                                
ok:            ; нажата не  F12 
                                
add al,dobav   ; добавляем к коду символна 1 или о     
mov dl,al      ; в зависимоти от режима                                   
mov ah,02h     ; и выводим на экран
int 21h                            
                                   
jmp normal                                
                                
                                
exit:          ; выход          
mov ax,4c00h                    
int 21h                         
code ends                       
end start
xom9r2008 вне форума Ответить с цитированием
Старый 20.06.2010, 20:26   #2
Stepler
Форумчанин
 
Аватар для Stepler
 
Регистрация: 03.02.2008
Сообщений: 213
По умолчанию

Вот смотри тут, тут есть примери резидентов от самого простого и дальше, смотри выпус 10,12,15...
http://kalashnikoff.ru/Assembler/
Пишу программы на заказ, контакты под аватаром!
Отзывы тут
Stepler вне форума Ответить с цитированием
Ответ


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



Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
resident xom9r2008 Assembler - Ассемблер (FASM, MASM, WASM, NASM, GoASM, Gas, RosAsm, HLA) и не рекомендуем TASM 4 20.06.2010 17:28
ASSEMBLER 2 AJIUM Помощь студентам 9 16.03.2010 20:50
Assembler Натся Помощь студентам 1 22.12.2009 20:04
Требуется помощь програмеров (перевод Resident Evil 0) slim>>> Свободное общение 8 12.10.2009 15:27