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

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

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

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

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

Ответ
 
Опции темы Поиск в этой теме
Старый 15.04.2019, 10:49   #1
temsku2
Пользователь
 
Регистрация: 29.11.2018
Сообщений: 12
По умолчанию Выход из программы по нажатию клавиши

Друзья, вот программа,которая проверяет строку на наличие пробела в ней, помогите, пожалуйста сделать приглашение к выводу по нажатию определенной клавиши (любой) ибо совсем в этом не разбираюсь
Код:
.model small
    .data
    da db 'there is a space char',0Dh, 0Ah,'$' 
    net db 'there isnt',0Dh, 0Ah,'$'
    null db 'null',0Dh, 0Ah,'$'
    sor db 254,0,254 dup ('$')
    inp db 'enter text:',0Dh, 0Ah,'$'
    .code
    mov ax, @data
    mov ds, ax
start:
    mov ah,9
    lea dx,inp  
    int 21h 
    mov ah, 0ah
    lea dx, sor+2
    int 21h
    mov di,dx
compare:
    inc di
    cmp byte ptr [di], 0
    je outp1
    cmp byte ptr [di], 20h
    je outp
    cmp byte ptr [di], "$"
    je outnet
    jmp compare
 
outp1:
    lea dx, null
    mov ah, 09h
    int 21h
    jmp start
    
outp:
    lea dx, da
    mov ah, 09h
    int 21h
    mov ah, 4ch
    jmp start
 
outnet:
    lea dx, net
    mov ah, 09h
    int 21h
    mov ah, 4ch
    jmp start
 
 
end
temsku2 вне форума Ответить с цитированием
Старый 15.04.2019, 11:03   #2
Serge_Bliznykov
Старожил
 
Регистрация: 09.01.2008
Сообщений: 26,238
По умолчанию

попробуйте

Код:
.model small
    .data
    da db 'there is a space char',0Dh, 0Ah,'$' 
    net db 'there isnt',0Dh, 0Ah,'$'
    null db 'null',0Dh, 0Ah,'$'
    sor db 254,0,254 dup ('$')
    inp db 'enter text:',0Dh, 0Ah,'$'
    textPressAnyKey db 'Press any key to exit$'
    .code
    mov ax, @data
    mov ds, ax
start:
    lea dx,inp  
    mov ah,9
    int 21h 
    mov ah, 0ah
    lea dx, sor+2
    int 21h
    mov di,dx
compare:
    inc di
    cmp byte ptr [di], 0
    je outp1
    cmp byte ptr [di], 20h
    je outp
    cmp byte ptr [di], "$"
    je outnet
    jmp compare
 
outp1:
    lea dx, null
    mov ah, 09h
    int 21h
    jmp start
    
outp:
    lea dx, da
    mov ah, 09h
    int 21h
    jmp wait4press
 
outnet:
    lea dx, net
    mov ah, 09h
    int 21h

wait4press:
    lea dx, textPressAnyKey
    mov	ah,09h
    int	21h
	
    mov ah,0h
    int 16h
    mov ax, 4c00h
    int	21h
 
 
end
Serge_Bliznykov вне форума Ответить с цитированием
Старый 23.04.2019, 10:00   #3
taras-proger77
Заблокирован
 
Регистрация: 17.12.2018
Сообщений: 514
По умолчанию

Приглашение к выводу? Серьёзно? А зачем оно машине вообще нужно? И пофиксите очепяку в заголовке.
taras-proger77 вне форума Ответить с цитированием
Ответ


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

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

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


Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
Завершение резидентной программы по нажатию клавиши Vi[RUS] Assembler - Ассемблер (FASM, MASM, WASM, NASM, GoASM, Gas, RosAsm, HLA) и не рекомендуем TASM 0 23.11.2013 21:37
Выход по нажатию клавиши bvak Assembler - Ассемблер (FASM, MASM, WASM, NASM, GoASM, Gas, RosAsm, HLA) и не рекомендуем TASM 4 01.02.2012 21:36
Delphi выход из цикла по нажатию клавиши Фиалка001 Помощь студентам 4 16.10.2011 16:01
По нажатию обеих кнопок мыши выход из программы Slash3 Assembler - Ассемблер (FASM, MASM, WASM, NASM, GoASM, Gas, RosAsm, HLA) и не рекомендуем TASM 10 05.04.2009 00:47