Форум программистов, компьютерный форум, киберфорум
Assembler, MASM, TASM
Войти
Регистрация
Восстановить пароль
Блоги Сообщество Поиск Заказать работу  
 
Рейтинг 4.88/25: Рейтинг темы: голосов - 25, средняя оценка - 4.88
0 / 0 / 0
Регистрация: 10.06.2010
Сообщений: 32

у меня два вопроса. 1) как сделать выход по нажатию клавии ESC 2) как вывести ответ.

10.06.2010, 19:32. Показов 5565. Ответов 16
Метки нет (Все метки)

Студворк — интернет-сервис помощи студентам
вот код
Assembler
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
ideal
model small
stack 256
 
dataseg
op1 db 1
op2 db 1
op3 db 1
op4 db 1
op5 db 1
op6 db 1
op7 db 1
op8 db 1
op9 db 1
pr  db 0
um1 db 0
um2 db 0
um3 db 0
um4 db 0
um5 db 0
um6 db 0
res db 0
;mes7   db  0dh,0ah,'EXIT$'
 
codeseg
start: 
mov ax,@data
mov ds,ax
 
 
 
mov ah, 10h
int 16h
cmp al,'q'
;jne f1
mov ax,0003h
int 10h
;---------------------Result---------------------
mov ax,0
mov al,[op1]
imul [op5]
mov [pr], al
mov al,[op9]
imul [pr]
mov [um1],al
mov al, [op2]
imul [op6]
mov [pr], al
mov al, [op7]
imul [pr]
mov [um2],al
mov al,[op3]
imul [op4]
mov [pr], al
mov al, [op8]
imul [pr]
mov [um3], al
mov al, [op3]
imul [op5]
mov [pr], al
mov al, [op7]
imul [pr]
mov [um4],al
mov al, [op2]
imul [op4]
mov [pr], al
mov al, [op9]
imul [pr]
mov [um5], al
mov al, [op1]
imul [op6]
mov [pr], al
mov al, [op8]
imul [pr]
mov [um6], al
 
mov al,[um1]
add al,[um2]
 
mov [pr],al
mov al, [um3]
add al,[pr]
 
sub al, [um4]
 
sub al, [um5]
sub al, [um6]
mov [res], al
 
mov dl,0
 
mov dl,30
mov al, [res]
 
add al, dl
mov [res], al
;mov ax,[res]
mov ah,9h
lea dx,[res]
;printf([res])
int 21h
;-------------------------------------------------
mov ah,10h
int 16h
 
f1:
mov dx, 4c00h
int 21h
exit: mov ax,4c00h
int 21h
end start
0
cpp_developer
Эксперт
20123 / 5690 / 1417
Регистрация: 09.04.2010
Сообщений: 22,546
Блог
10.06.2010, 19:32
Ответы с готовыми решениями:

Как сделать выход из консоли по нажатию Esc?
как сделать выход из консоли по нажатию Esc?

Как сделать выход из формы по нажатию Esc?
То есть как запустить функцию выхода по нажатию Esc в программе, срабатывающею при нажатии кнопки выход (то есть мою функцию)?

Как сделать выход по ESC
org 100h old dw 0 jmp start number dw 0 c dw 0 start: xor ax,ax mov es,ax cli

16
2014 / 1286 / 61
Регистрация: 05.06.2010
Сообщений: 2,213
10.06.2010, 20:01
код клавиши esc - 27. соответственно
Assembler
1
2
3
4
mov ah, 10h
int 16h
cmp al,27
jz EXIT
Для вывода чисел смотри тут
Ввод и вывод чисел в различных системах счисления
1
0 / 0 / 0
Регистрация: 10.06.2010
Сообщений: 32
10.06.2010, 20:06  [ТС]
че т ошибку выдает((( неправильный прыжок
п.с. я в ассемблере полныл ноль
0
2014 / 1286 / 61
Регистрация: 05.06.2010
Сообщений: 2,213
10.06.2010, 20:12
возможно слишком длинный? можно
Assembler
1
2
3
4
je _exit
...
_exit:
jmp exit
так не будет ограничения длины( в смысле длина будет ограничена сегментом)
1
0 / 0 / 0
Регистрация: 10.06.2010
Сообщений: 32
10.06.2010, 20:13  [ТС]
Assembler
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
ideal
model small
stack 256
 
dataseg
op1 db 1
op2 db 1
op3 db 1
op4 db 1
op5 db 1
op6 db 1
op7 db 1
op8 db 1
op9 db 1
pr  db 0
um1 db 0
um2 db 0
um3 db 0
um4 db 0
um5 db 0
um6 db 0
res db 0
;mes7   db  0dh,0ah,'EXIT$'
 
codeseg
start: 
mov ax,@data
mov ds,ax
 
 
 
mov ah, 10h
int 16h
mov ah, 10h
int 16h
cmp al,27
jz EXIT
 
;---------------------Result---------------------
mov ax,0
mov al,[op1]
imul [op5]
mov [pr], al
mov al,[op9]
imul [pr]
mov [um1],al
mov al, [op2]
imul [op6]
mov [pr], al
mov al, [op7]
imul [pr]
mov [um2],al
mov al,[op3]
imul [op4]
mov [pr], al
mov al, [op8]
imul [pr]
mov [um3], al
mov al, [op3]
imul [op5]
mov [pr], al
mov al, [op7]
imul [pr]
mov [um4],al
mov al, [op2]
imul [op4]
mov [pr], al
mov al, [op9]
imul [pr]
mov [um5], al
mov al, [op1]
imul [op6]
mov [pr], al
mov al, [op8]
imul [pr]
mov [um6], al
 
mov al,[um1]
add al,[um2]
 
mov [pr],al
mov al, [um3]
add al,[pr]
 
sub al, [um4]
 
sub al, [um5]
sub al, [um6]
mov [res], al
 
mov dl,0
 
mov dl,30
mov al, [res]
 
add al, dl
mov [res], al
;mov ax,[res]
mov ah,9h
lea dx,[res]
;printf([res])
int 21h
;-------------------------------------------------
mov ah,10h
int 16h
 
;f1:
;mov dx, 4c00h
;int 21h
_EXIT:
 
jmp exit
 mov ax,4c00h
int 21h
end start

посмотри плз.. так???
0
2014 / 1286 / 61
Регистрация: 05.06.2010
Сообщений: 2,213
10.06.2010, 20:15
jz - это короткий переход, по моему не далее 128 байт

Добавлено через 1 минуту
Цитата Сообщение от Diana081 Посмотреть сообщение
mov ah, 10h
int 16h
mov ah, 10h
int 16h
cmp al,27
jz EXIT
а зачем два раза?)
0
0 / 0 / 0
Регистрация: 10.06.2010
Сообщений: 32
10.06.2010, 20:16  [ТС]
никак никак.. со мной все запущено

(Это просто женская логика))))
0
2014 / 1286 / 61
Регистрация: 05.06.2010
Сообщений: 2,213
10.06.2010, 20:18
можно так:
Assembler
1
2
3
4
5
6
7
8
mov ah, 10h
int 16h
cmp al,27
jz _exit
jmp _l
_exit
jmp exit
_l:
0
0 / 0 / 0
Регистрация: 10.06.2010
Сообщений: 32
10.06.2010, 20:22  [ТС]
я утонула в ошибках
Relative jump out of range by 0039bytes

Добавлено через 3 минуты
Цитата Сообщение от vital792 Посмотреть сообщение
_exit jmp exit _l:
это вконец?
0
2014 / 1286 / 61
Регистрация: 05.06.2010
Сообщений: 2,213
10.06.2010, 20:29
он как раз и говорит о том что слишком длинный прыжок. Нет
_exit:
jmp exit - как можно ближе к jz _exit - чтобы между ними не было 128 байт, и важно чтобы на метку _ext не управление передавалось только по jz _exit и никак по другому
1
0 / 0 / 0
Регистрация: 10.06.2010
Сообщений: 32
10.06.2010, 20:40  [ТС]
n ты взорвал мой мозг! можешь, если не трудно мне в прогу это вставить?? плз.. я тебе башку сделаю
0
2014 / 1286 / 61
Регистрация: 05.06.2010
Сообщений: 2,213
10.06.2010, 20:49
Assembler
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
ideal
model small
stack 256
 
dataseg
op1 db 1
op2 db 1
op3 db 1
op4 db 1
op5 db 1
op6 db 1
op7 db 1
op8 db 1
op9 db 1
pr  db 0
um1 db 0
um2 db 0
um3 db 0
um4 db 0
um5 db 0
um6 db 0
res db 0
;mes7   db      0dh,0ah,'EXIT$'
 
codeseg
start: 
mov ax,@data
mov ds,ax
 
 
 
mov ah, 10h
int 16h
cmp al,'q'
;jne f1
; проверка esc
cmp ah, 27
jz _exit
jmp _begin
_exit:
jmp exit
_begin:
mov ax,0003h
int 10h
;---------------------Result---------------------
mov ax,0
mov al,[op1]
imul [op5]
mov [pr], al
mov al,[op9]
imul [pr]
mov [um1],al
mov al, [op2]
imul [op6]
mov [pr], al
mov al, [op7]
imul [pr]
mov [um2],al
mov al,[op3]
imul [op4]
mov [pr], al
mov al, [op8]
imul [pr]
mov [um3], al
mov al, [op3]
imul [op5]
mov [pr], al
mov al, [op7]
imul [pr]
mov [um4],al
mov al, [op2]
imul [op4]
mov [pr], al
mov al, [op9]
imul [pr]
mov [um5], al
mov al, [op1]
imul [op6]
mov [pr], al
mov al, [op8]
imul [pr]
mov [um6], al
 
mov al,[um1]
add al,[um2]
 
mov [pr],al
mov al, [um3]
add al,[pr]
 
sub al, [um4]
 
sub al, [um5]
sub al, [um6]
mov [res], al
 
mov dl,0
 
mov dl,30
mov al, [res]
 
add al, dl
mov [res], al
;mov ax,[res]
mov ah,9h
lea dx,[res]
;printf([res])
int 21h
;-------------------------------------------------
mov ah,10h
int 16h
 ; это по моему лишнее))
f1:
mov dx, 4c00h
int 21h
; 
exit: mov ax,4c00h
int 21h
end start
1
0 / 0 / 0
Регистрация: 10.06.2010
Сообщений: 32
10.06.2010, 20:54  [ТС]
я тебя обажаю челловечище!!!!!!!!

теперь осталось с выводом разобраться
0
2014 / 1286 / 61
Регистрация: 05.06.2010
Сообщений: 2,213
10.06.2010, 20:58
я дал ссылку - там подробнейше все расписано про вывод
0
0 / 0 / 0
Регистрация: 10.06.2010
Сообщений: 32
10.06.2010, 21:02  [ТС]
где ссылка?

Добавлено через 29 секунд
ааа)) не разглядела

Добавлено через 2 минуты
все подробно и простенько там описано))) есть желающие,которые мне мозг подарят?? ли те,которые мне вывод организуют?
0
2014 / 1286 / 61
Регистрация: 05.06.2010
Сообщений: 2,213
10.06.2010, 21:25
Assembler
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
ideal
model small
stack 256
 
dataseg
op1 db 1
op2 db 1
op3 db 1
op4 db 1
op5 db 1
op6 db 1
op7 db 1
op8 db 1
op9 db 1
pr  db 0
um1 db 0
um2 db 0
um3 db 0
um4 db 0
um5 db 0
um6 db 0
res db 0
;mes7   db      0dh,0ah,'EXIT$'
 
codeseg
start: 
mov ax,@data
mov ds,ax
 
 
 
mov ah, 10h
int 16h
cmp al,'q'
;jne f1
; проверка esc
cmp ah, 27
jz _exit
jmp _begin
_exit:
jmp exit
_begin:
mov ax,0003h
int 10h
;---------------------Result---------------------
mov ax,0
mov al,[op1]
imul [op5]
mov [pr], al
mov al,[op9]
imul [pr]
mov [um1],al
mov al, [op2]
imul [op6]
mov [pr], al
mov al, [op7]
imul [pr]
mov [um2],al
mov al,[op3]
imul [op4]
mov [pr], al
mov al, [op8]
imul [pr]
mov [um3], al
mov al, [op3]
imul [op5]
mov [pr], al
mov al, [op7]
imul [pr]
mov [um4],al
mov al, [op2]
imul [op4]
mov [pr], al
mov al, [op9]
imul [pr]
mov [um5], al
mov al, [op1]
imul [op6]
mov [pr], al
mov al, [op8]
imul [pr]
mov [um6], al
 
mov al,[um1]
add al,[um2]
 
mov [pr],al
mov al, [um3]
add al,[pr]
 
sub al, [um4]
 
sub al, [um5]
sub al, [um6]
mov [res], al
 
cbw
 
; вот это надо было скопировать и вставить)
xor     cx, cx
        mov     bx, 10 ; основание сс. 10 для десятеричной и т.п.
oi2:
        xor     dx,dx
        div     bx
; Делим число на основание сс. В остатке получается последняя цифра.
; Сразу выводить её нельзя, поэтому сохраним её в стэке.
        push    dx
        inc     cx
; А с частным повторяем то же самое, отделяя от него очередную
; цифру справа, пока не останется ноль, что значит, что дальше
; слева только нули.
        test    ax, ax
        jnz     oi2
; Теперь приступим к выводу.
        mov     ah, 02h
oi3:
        pop     dx
 
        add     dl, '0'
        int     21h
; Повторим ровно столько раз, сколько цифр насчитали.
        loop    oi3
 
 
 
;-------------------------------------------------
mov ah,10h
int 16h
f1:
exit: mov ax,4c00h
int 21h
end start
в ответе получается 0?
0
0 / 0 / 0
Регистрация: 10.06.2010
Сообщений: 32
12.06.2010, 18:29  [ТС]
Спасибо тебе огромное! Всё правильно работает
0
Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
raxper
Эксперт
30234 / 6612 / 1498
Регистрация: 28.12.2010
Сообщений: 21,154
Блог
12.06.2010, 18:29
Помогаю со студенческими работами здесь

Выход по нажатию ESC
#include "stdafx.h" #include <iostream> #include <conio.h> float sum(); float razn(); float del(); float proizv(); float...

Выход из программы по нажатию Esc
подскажите как сделать чтобы по нажатию ESC выводился результат.затупил чутка int main(){ setlocale(LC_ALL, "RUS"); ...

Выход из программы по нажатию клавиши ESC
Здравствуйте! Программа, которая собирает данные и записывает в файл. Как сделать так, чтобы в любом месте можно было выйти из программы...

Выход из чата UDP по нажатию на ESC
Как реализовать выход из чата протоколом UDP в консоли, по нажатию клавиши? using System; using System.Diagnostics; using System.Net;...

Выход из программы по нажатию клавиши Esc
Здравствуйте. Есть программа c циклом. Используется Graph ABC. begin repeat .....сам код.... until ... end. И вот нужно...


Искать еще темы с ответами

Или воспользуйтесь поиском по форуму:
17
Ответ Создать тему
Новые блоги и статьи
SDL3 для Web (WebAssembly): Загрузка PNG с прозрачным фоном с помощью SDL_LoadPNG (без SDL3_image)
8Observer8 11.02.2026
Содержание блога Библиотека SDL3 содержит встроенные инструменты для базовой работы с изображениями - без использования библиотеки SDL3_image. Пошагово создадим проект для загрузки изображения. . .
SDL3 для Web (WebAssembly): Загрузка PNG с прозрачным фоном с помощью SDL3_image
8Observer8 10.02.2026
Содержание блога Библиотека SDL3_image содержит инструменты для расширенной работы с изображениями. Пошагово создадим проект для загрузки изображения формата PNG с альфа-каналом (с прозрачным. . .
Установка Qt-версии Lazarus IDE в Debian Trixie Xfce
volvo 10.02.2026
В общем, достали меня глюки IDE Лазаруса, собранной с использованием набора виджетов Gtk2 (конкретно: если набирать текст в редакторе и вызвать подсказку через Ctrl+Space, то после закрытия окошка. . .
SDL3 для Web (WebAssembly): Работа со звуком через SDL3_mixer
8Observer8 08.02.2026
Содержание блога Пошагово создадим проект для загрузки звукового файла и воспроизведения звука с помощью библиотеки SDL3_mixer. Звук будет воспроизводиться по клику мышки по холсту на Desktop и по. . .
SDL3 для Web (WebAssembly): Основы отладки веб-приложений на SDL3 по USB и Wi-Fi, запущенных в браузере мобильных устройств
8Observer8 07.02.2026
Содержание блога Браузер Chrome имеет средства для отладки мобильных веб-приложений по USB. В этой пошаговой инструкции ограничимся работой с консолью. Вывод в консоль - это часть процесса. . .
SDL3 для Web (WebAssembly): Обработчик клика мыши в браузере ПК и касания экрана в браузере на мобильном устройстве
8Observer8 02.02.2026
Содержание блога Для начала пошагово создадим рабочий пример для подготовки к экспериментам в браузере ПК и в браузере мобильного устройства. Потом напишем обработчик клика мыши и обработчик. . .
Философия технологии
iceja 01.02.2026
На мой взгляд у человека в технических проектах остается роль генерального директора. Все остальное нейронки делают уже лучше человека. Они не могут нести предпринимательские риски, не могут. . .
SDL3 для Web (WebAssembly): Вывод текста со шрифтом TTF с помощью SDL3_ttf
8Observer8 01.02.2026
Содержание блога В этой пошаговой инструкции создадим с нуля веб-приложение, которое выводит текст в окне браузера. Запустим на Android на локальном сервере. Загрузим Release на бесплатный. . .
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin
Copyright ©2000 - 2026, CyberForum.ru