Форум программистов, компьютерный форум, киберфорум
Assembler: DOS/Real Mode/16-bits
Войти
Регистрация
Восстановить пароль
Блоги Сообщество Поиск Заказать работу  
 
0 / 0 / 0
Регистрация: 08.05.2015
Сообщений: 2

Выводить последовательно цифры от 0 до 9 в одно место экрана. При вводе с клавиатуры какой-либо цифры менять темп вывода

27.05.2015, 18:37. Показов 3518. Ответов 0
Метки нет (Все метки)

Студворк — интернет-сервис помощи студентам
Задание: Выводить последовательно цифры от 0 до 9 в одно место экрана. При вводе с клавиатуры какой-либо цифры менять темп вывода. Значение задержки между выводом очередного символа определять следующим способом: введённую цифру умножить на 2^(9), это и будет число повторений цикла задержки. Для анализа нажатия клавиши использовать вектор 1Ch.

Вот моя программа:
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
133
134
135
136
137
138
139
140
141
142
143
144
145
146
147
148
149
150
151
152
153
154
155
156
157
158
159
160
161
162
163
164
165
166
167
168
169
170
data segment
    EXIT db 0
    SYM db 30h
    ATTRIB db 9
    POS dw 0
    OLD_CS dw ?
    OLD_IP dw ?
    VALUE dw 10
data ends
 
code segment
assume cs:code, ds:data
 
 
; Subprogram of processing interrupt 1Сh
NEW_1C  proc        far
    push    ax      
    push    bx
    push    cx
    push    dx
    push    ds
    push    es
 
    mov  ax, DATA       
    mov  ds, ax
 
    mov ax, 40h     
    mov es, ax
    mov ax, es:[1ch] 
    mov bx, es:[1ah] 
 
    xor cx, cx
    cmp bx , ax 
    jne ITER 
    jmp BACK 
 
ITER:
    xor ax, ax
    mov al, es:[bx]
    mov es:[1ch], bx 
 
    cmp al, 30h
    jne CMP_1 
    
    mov EXIT, 1 
    jmp BACK
 
 
CMP_1:  
    cmp al, 31h
    jge CMP_2
 
    jmp BACK
 
CMP_2:  
    cmp al, 39h     
    jle ACT
    
    jmp BACK    
    
ACT:
    sub al, 30h
    mov cx, 512
    mul cx
 
    mov VALUE, ax
 
 
BACK:
    pop es 
    pop ds
    pop dx
    pop cx
    pop bx
    pop ax
    iret
NEW_1C  endp
 
 
; Subprogram of delay (sleeping)
DELAY   proc        near
    push cx
    mov cx, VALUE
    ITER_NEXT:
        ;push cx
        ;xor cx,cx
        nop
        ;pop    cx
    loop ITER_NEXT
    pop cx
    ret
DELAY endp
 
 
; Subprogram of symbol output
OUT_SYMBOL  proc    near
    
    push    ax
    push    bx
 
    mov al, SYM
    mov ah, ATTRIB
    mov bx, POS
 
;   call DELAY
 
    mov es:[bx], ax
 
    pop bx
    pop ax
    ret 
OUT_SYMBOL endp
 
 
START:
 
    mov ax, data
    mov ds, ax
 
; reading vector of interrupt
    xor ax, ax
    mov ah, 35h
    mov al, 1Ch
    int 21h
    mov OLD_IP, bx
    mov OLD_CS, es
 
; setting vector of interrupt
    push ds
    mov dx, offset NEW_1C
    mov ax, seg NEW_1C
    mov ds, ax
    mov ah, 25h
    mov al, 1Ch
    int 21h
    pop ds
    mov ax, 0B800h
    mov es, ax
 
; main program
    
NEW_CYCLE:
    xor cx, cx
    mov cx, 10
 
    ITER_CYCLE:
        cmp EXIT, 1
        je QUIT
        
        call DELAY
        call OUT_SYMBOL
 
        inc SYM
    loop ITER_CYCLE
 
    mov SYM, 30h
    jmp NEW_CYCLE
 
QUIT:
    mov dx, OLD_IP
    mov ax, OLD_CS
    mov ds, ax
    mov ah, 25h
    mov al, 1Ch
    int 21h
    mov ax, 4c00h
    int 21h
 
code ends
end START
Помогите написать кусок программы такой , чтобы менялась скорость (уменьшалась, и увеличивалась) вывода цифры (от 0-9) при нажатии на клавишу.
0
Programming
Эксперт
39485 / 9562 / 3019
Регистрация: 12.04.2006
Сообщений: 41,671
Блог
27.05.2015, 18:37
Ответы с готовыми решениями:

При вводе строки выводить только цифры
#include "stdafx.h" #include "stdio.h" #include "iostream" #include "ctype.h" using namespace std; void read(char *x) { int i...

При вводе символов/букв в textbox с клавиатуры, нужно в место них выводить рандомно символы из массива
Есть массив букв. При вводе символов/букв в textbox с клавиатуры, нужно в место них выводить рандомно символы из массива. public char...

Функция, которая при вводе с клавиатуры текста заменяет цифры пробелами
Написал вроде правильно только когда компилятором пользуюсь VisualStudio выдает ошибку не могу понять в чем. Грамотные пользователи...

0
Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
inter-admin
Эксперт
29715 / 6470 / 2152
Регистрация: 06.03.2009
Сообщений: 28,500
Блог
27.05.2015, 18:37
Помогаю со студенческими работами здесь

Последовательный вывод цифр в одно место экрана со сменой темпа вывода
Помогите пожалуйста,assembler дали на самостоятельное изучение,не могу с заданием справиться =( Нужно выводить последовательно цифры от 0...

Вводится число с клавиатуры. Вывести на экран все цифры, которые повторяются более одного раза, при выводе цифры не должны повторятся
Вводится число с клавиатуры. Вывести на экран все цифры, которые повторяются более одного раза, при выводе цифры не должны повторятся....

С какой точностью выводить цифры
Как задать точность, с которой программа должна выдавать значения чисел, т.е. количество знаков после запятой, если эта цифра не известна,...

Проверка на наличие какой либо цифры. С++
Здравствуйте,помогите составить программу ,которая бы проверяла наличие цифры.Например:я ввожу "99673" и хочу ,чтобы если в числе...

Написать программу, которая в центре чистого экрана на одном и том же месте выведет последовательно цифры от 1 до 3600
Напишите пжл программу, которая в центре чистого экрана на одном и том же месте выведет последовательно цифры от 1 до 3600 (аналог...


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

Или воспользуйтесь поиском по форуму:
1
Ответ Создать тему
Новые блоги и статьи
Камера Toupcam IUA500KMA
Eddy_Em 12.02.2026
Т. к. у всяких "хикроботов" слишком уж мелкий пиксель, для подсмотра в ESPriF они вообще плохо годятся: уже 14 величину можно рассмотреть еле-еле лишь на экспозициях под 3 секунды (а то и больше),. . .
И ясному Солнцу
zbw 12.02.2026
И ясному Солнцу, и светлой Луне. В мире покоя нет и люди не могут жить в тишине. А жить им немного лет.
«Знание-Сила»
zbw 12.02.2026
«Знание-Сила» «Время-Деньги» «Деньги -Пуля»
SDL3 для Web (WebAssembly): Подключение Box2D v3, физика и отрисовка коллайдеров
8Observer8 12.02.2026
Содержание блога Box2D - это библиотека для 2D физики для анимаций и игр. С её помощью можно определять были ли коллизии между конкретными объектами и вызывать обработчики событий столкновения. . . .
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 и по. . .
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin
Copyright ©2000 - 2026, CyberForum.ru