0 / 0 / 0
Регистрация: 13.02.2014
Сообщений: 7
1

При нажатии кнопки "1" выводить 0, а при нажатии "2" выводить 1 (КР580ВИ53)

28.11.2015, 23:09. Показов 1885. Ответов 8
Метки нет (Все метки)

привет всем, сломал голову уже, в чём проблема? вот текст программы, которая должна при нажатии кнопки "1 "выводить: 0 , а при нажатий "2" выводить 1 и пищать как сирена. или наоборот, я уже запутался , программирую на эмуляторе. индикатор тоже эмулятор
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
171
172
173
174
175
176
177
178
179
180
181
182
183
184
185
186
187
188
189
190
191
192
193
194
195
196
197
198
199
200
201
202
203
204
205
206
207
208
209
210
211
212
213
214
215
216
217
218
219
220
221
    ORG 0000H    
        LXI SP,7F00H
    MOV AH,0 
    INT 16H
    CMP AL, '1'     
        JPE A1      
        CMP AL,'2'
    JPE A2      
        JMP A3  
A1: 
 
TON440:
     DI 
    LXI H, RYC
    MVI M,36H
    MVI M,76H
    MVI M,0B0H
    DCX H
    DCX H
    DCX H
    MVI M, 0C1H
    MVI M,11H   INX H
    MVI M,20H
    MVI M,4EH
    INX H
    MVI M,64H
    MVI M,00H
MET: 
    MVI A, 80H
    STA RYC
        LDA PR2 
        MOV B,A
    LDA PR2
    ORA A
    JNZ MET
    MOV A,B
    CPI 03H
    JNC MET
MET0:   LDA PRB 
        ANI 02H
    JZ SYST 
        LXI  H,PR0
    MVI M,0E0H
    MVI M,8H
        INX H
    INX H   
        MVI M,64H
    MVI M,00H
MET3:   MVI A,80H
        STA RYC 
        LDA PR2
    MOV B,A
    LDA PR2
    ORA A
    JNZ MET3
    MOV A,B
    CPI 03H
    JNC MET3
    JMP TON440
RYC: EQU 0FFEFH
R0: EQU 0FFECH
PR1: EQU 0FFEDH 
PR2: EQU 0FFEEH
PRB: EQU 0FFE1H
SYST: EQU 0F800H
    JMP A3
A2:
    MVI A,89H
    STA RYC
 
MET0:   LXI D, SLOVO
 
START:  MVI C,08H
 
MET1:   PUSH D
       POP H
       MOV A, M
           STA PA1    
           MVI A, 0H
           STA PB1
       PUSH PSW
       CALL 0D800H
       POP PSW
           CALL DELAY
       INX H
           MOV A,M
       STA PA1  
           MVI A, 1H
           STA PB1
       PUSH PSW
           CALL 0D800H
           POP PSW
           CALL DELAY
       INX H
           MOV A, M
       STA PA1
       MVI A,2H
       STA PB1
           PUSH PSW
       CALL 0D800H
       POP PSW
       CALL DELAY
       INX H
           MOV A,M  
           STA PA1
       MVI A,3H
       STA PB1
       PUSH PSW
       CALL 0D800H
       POP PSW
       CALL DELAY
       INX H
           MOV A, M
           STA PA1
       MVI A, 4H
       STA PB1
       PUSH PSW
       CALL 0D800H
       POP PSW
       CALL DELAY
       INX H
           MOV A, M
       STA PA1  
           MVI A,5H
       STA PB1
       PUSH PSW
       CALL 0D800H
       POP PSW
       CALL DELAY
       INX H
       MOV A,M
       STA PA1
       MVI A,6H
       STA PB1
       PUSH PSW
       CALL 0D800H
       POP PSW
       CALL DELAY
    
    INX H
 
       
     MOV A, M    
      STA PA1
    
    MVI A,7H
    
    STA PB1
    
     PUSH PSW
     
    CALL 0D800H
       
      POP PSW
     
     CALL DELAY
    
     DCR C
    
     JNZ MET1
    
     INX D
      
      LXI H, A3
     
      MOV A, E
    
       CMP L
      
      JNZ START    
     MOV A,D      
     CMP H
       
     JNZ START
    
    JMP MET0
DELAY:  PUSH PSW
    
    PUSH B
    
    LXI B, 1FH
 
EL0:   DCX B
    
    MOV A,B
    
    ORA C
     
   JNZ DEL0
    
    POP B
      
  POP PSW
    
    RET
 
STOP:   PUSH PSW
        
    LDA 0FFE1H
    
    ANI 02H
    
    JZ 0F800H
    
    POP PSW
    
    RET
 
SLOVO:  DB 00H,00H,00H,00H,00H,00H,00H,00H
       
 DB 3FH 
    DB 00H,00H,00H,00H,00H,00H,00H,00H
PA1:    EQU 0FFE4H
PB1:    EQU 0FFE5H
 
RC:     EQU 0FFE6H
 
RYC:    EQU 0FFE7H
 
SYS:    EQU 0FFE1H
A3:     END
__________________
Помощь в написании контрольных, курсовых и дипломных работ здесь
0
Programming
Эксперт
94731 / 64177 / 26122
Регистрация: 12.04.2006
Сообщений: 116,782
28.11.2015, 23:09
Ответы с готовыми решениями:

Модуль драйвера клавиатуры, cтирающий предыдущий символ при нажатии клавиш "win"
Курсовая работа, задание следующее: Разработать модуль драйвера клавиатуры, работающий в...

При нажатии кнопки выводить сообщение "Товар добавлен в корзину."
Код кнопки . В данном коде менять ничего нельзя, так как код генерируется iikostyle <span...

Как не выводить на экран сообщение об ошибке выполнения макрокоманды, при нажатии кнопки "Отмена"?
При нажатии на форме кнопки запускается макрос, который в свою очередь вызывает запрос, например...

Как при нажатии на "Ctrl + K" выводить сообщение через alert?
Нужно сделать так, чтобы при нажатии на "Ctrl + K" выводилось сообщение через alert. Заранее...

8
977 / 601 / 100
Регистрация: 15.05.2012
Сообщений: 3,551
29.11.2015, 07:54 2
У вас солянка из 8086 и 8080. Очень плохой метод дёргать из нэта куски и сращивать их. Разделите и оставьте нужное.
0
0 / 0 / 0
Регистрация: 13.02.2014
Сообщений: 7
29.11.2015, 16:31  [ТС] 3
Ну то что под А1: и под А2: ,написано мной, из нета я только пытался найти как заставить две программы работать по кнопками , можно даже по одной кнопке, типа: нажал выдаёт 0, отпустил : выдаёт 1и пищит

Добавлено через 1 час 53 минуты
В том то и дело, что разделённые куски написаны и работают, а вот как собрать все вместе не получается

Добавлено через 1 час 1 минуту
pyzhman, могу скинуть отдельно 2 работающие программы, поможешь скрепить в одну?
0
977 / 601 / 100
Регистрация: 15.05.2012
Сообщений: 3,551
29.11.2015, 17:28 4
Цитата Сообщение от aptem3341 Посмотреть сообщение
разделённые куски написаны и работают
Либо вы чего-то недоговариваете либо я - Билл Гейтс.
Скидывайте, с самого начала пора. Может быть кто-нибудь сподобится.
0
0 / 0 / 0
Регистрация: 13.02.2014
Сообщений: 7
29.11.2015, 22:47  [ТС] 5
pyzhman, ну вот эта программа для вывода "0" на экран

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
ORG 0000H
        LXI SP, 7F00H
        MVI A,89H
        STA RYC
MET0:   LXI D, SLOVO
START:  MVI C,08H
 
MET1:   PUSH D
        POP H
        MOV A, M
        STA PA1
        MVI A, 0H
        STA PB1
         PUSH PSW
         CALL 0D800H
         POP PSW
 
 
 
        CALL DELAY
        INX H
 
        MOV A,M
        STA PA1
        MVI A, 1H
        STA PB1
         PUSH PSW
 
         CALL 0D800H
         POP PSW
 
 
        CALL DELAY
        INX H
 
        MOV A, M
        STA PA1
        MVI A,2H
        STA PB1
 
         PUSH PSW
         CALL 0D800H
         POP PSW
         CALL DELAY
        INX H
 
        MOV A,M
        STA PA1
        MVI A,3H
        STA PB1
         PUSH PSW
         CALL 0D800H
         POP PSW
        CALL DELAY
        INX H
 
        MOV A, M
        STA PA1
        MVI A, 4H
        STA PB1
         PUSH PSW
         CALL 0D800H
         POP PSW
        CALL DELAY
        INX H
 
        MOV A, M
        STA PA1
        MVI A,5H
        STA PB1
         PUSH PSW
         CALL 0D800H
         POP PSW
        CALL DELAY
        INX H
 
        MOV A,M
        STA PA1
        MVI A,6H
        STA PB1
         PUSH PSW
         CALL 0D800H
         POP PSW
        CALL DELAY
        INX H
 
        MOV A, M
        STA PA1
        MVI A,7H
        STA PB1
         PUSH PSW
         CALL 0D800H
         POP PSW
        CALL DELAY
        DCR C
        JNZ MET1
        INX D
         LXI H, KONEC
        MOV A, E
        CMP L
        JNZ START
        MOV A,D
        CMP H
        JNZ START
        JMP MET0
DELAY:  PUSH PSW
        PUSH B
        LXI B, 1FH
DEL0:   DCX B
        MOV A,B
        ORA C
        JNZ DEL0
        POP B
        POP PSW
        RET
STOP:   PUSH PSW
        LDA 0FFE1H
        ANI 02H
        JZ 0F800H
        POP PSW
        RET
SLOVO:  DB 00H,00H,00H,00H,00H,00H,00H,00H
        DB 3FH
        DB 00H,00H,00H,00H,00H,00H,00H,00H
PA1:    EQU 0FFE4H
PB1:    EQU 0FFE5H
RC:     EQU 0FFE6H
RYC:    EQU 0FFE7H
SYS:    EQU 0FFE1H
KONEC:        END
Добавлено через 4 минуты
pyzhman, эта для сирены
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
ORG 0000H    
        LXI SP,7F00H
TON440:
     DI 
    LXI H, RYC
    MVI M,36H
    MVI M,76H
    MVI M,0B0H
    DCX H
    DCX H
    DCX H
    MVI M, 0C1H
    MVI M,11H   INX H
    MVI M,20H
    MVI M,4EH
    INX H
    MVI M,64H
    MVI M,00H
MET: 
    MVI A, 80H
    STA RYC
        LDA PR2 
        MOV B,A
    LDA PR2
    ORA A
    JNZ MET
    MOV A,B
    CPI 03H
    JNC MET
MET0:   LDA PRB 
        ANI 02H
    JZ SYST 
        LXI  H,PR0
    MVI M,0E0H
    MVI M,8H
        INX H
    INX H   
        MVI M,64H
    MVI M,00H
MET3:   MVI A,80H
        STA RYC 
        LDA PR2
    MOV B,A
    LDA PR2
    ORA A
    JNZ MET3
    MOV A,B
    CPI 03H
    JNC MET3
    JMP TON440
RYC: EQU 0FFEFH
R0: EQU 0FFECH
PR1: EQU 0FFEDH 
PR2: EQU 0FFEEH
PRB: EQU 0FFE1H
SYST: EQU 0F800H
END
Добавлено через 1 минуту
pyzhman, в эмуляторе spe******t_mx_pc(cpu intel 8080) всё работает

Добавлено через 3 минуты
pyzhman, а как сделать что бы выводил "0" ,а по нажатию кнопки будет выводить 1 и работать сирена? а по отпусканию кнопки опять "0"

Добавлено через 2 часа 37 минут
буду благодарен за любую помощь и информацию по реализации данной программы

Добавлено через 2 часа 22 минуты
По сути надо подпрограмму, которая будет по нажатию кнопки делать одну программу, а по отжатию другую
0
977 / 601 / 100
Регистрация: 15.05.2012
Сообщений: 3,551
30.11.2015, 09:03 6
Судя по программам, работают следующим образом. Для вывода цифр используется динамическая индикация. Надо полагать по железу стоит ВВ55. Стало быть постоянно должна отрабатываться первая программа. Цифра и ее местоположение зависит от массива SLOVO. В нем приведены кодировки цифр. 3F это ноль. Единица будет, скорее всего, 03. В зависимости от состояния кнопки нужно менять 3F на 03 и наоборот. Это легко делается проверкой кнопки и учловными переходами. Второе. Пищалка. ВИ53 параметрируется на пищание. При ненажатой кнопке теми же параметрами нужно его заткнуть. Т.е. либо разрешаем работу ВИ53, либо затыкаем его.

Добавлено через 1 минуту
Но один в один стыковать программы нельзя, исходя даже из того, что адреса трассировки у них одинаковые. Вам нужно сделать некий гибрид, чтобы друг за другом обрабатывались оба куска.
0
0 / 0 / 0
Регистрация: 13.02.2014
Сообщений: 7
30.11.2015, 18:58  [ТС] 7
pyzhman, если фиг с ней пищалкой, как реализовать проверку нажатия кнопки? Не нашёл ничего по 8080

Добавлено через 49 минут
pyzhman, есть инфа по проверки кнопки с условными переходами? Буду признателен, не нашёл ничего по этому динозавру (

Добавлено через 21 минуту
pyzhman, для нажатия кнопки 1 код 02h? Это как-то должно подаваться на порт

Добавлено через 7 часов 55 минут
pyzhman, вот что у меня получилось, но он по кругу гоняет непонятные символы

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
ORG 0000H
        LXI SP, 7F00H
        MVI A,89H
        STA RYC
 
KNOPKA:
        CALL 0C81BH
        CPI 0FFH
        RZ
        CPI 31H
        JNZ MET01
        JMP MET0
MET0:   LXI D, SLOVO
MET01:  LXI D, SLOVO1
START:  MVI C,08H
 
MET1:   PUSH D
        POP H
        MOV A, M
        STA PA1
        MVI A, 0H
        STA PB1
         PUSH PSW
         CALL 0D800H
         POP PSW 
        CALL DELAY
        INX H 
        MOV A,M
        STA PA1
        MVI A, 1H
        STA PB1
         PUSH PSW 
         CALL 0D800H
         POP PSW 
        CALL DELAY
        INX H 
        MOV A, M
        STA PA1
        MVI A,2H
        STA PB1 
         PUSH PSW
         CALL 0D800H
         POP PSW
         CALL DELAY
        INX H 
        MOV A,M
        STA PA1
        MVI A,3H
        STA PB1
         PUSH PSW
         CALL 0D800H
         POP PSW
        CALL DELAY
        INX H 
        MOV A, M
        STA PA1
        MVI A, 4H
        STA PB1
         PUSH PSW
         CALL 0D800H
         POP PSW
        CALL DELAY
        INX H 
        MOV A, M
        STA PA1
        MVI A,5H
        STA PB1
         PUSH PSW
         CALL 0D800H
         POP PSW
        CALL DELAY
        INX H 
        MOV A,M
        STA PA1
        MVI A,6H
        STA PB1
         PUSH PSW
         CALL 0D800H
         POP PSW
        CALL DELAY
        INX H 
        MOV A, M
        STA PA1
        MVI A,7H
        STA PB1
         PUSH PSW
         CALL 0D800H
         POP PSW
        CALL DELAY
        DCR C
        JNZ MET1
        INX D
         LXI H, KONEC
        MOV A, E
        CMP L
        JNZ START
        MOV A,D
        CMP H
        JNZ START
        JMP MET0
DELAY:  PUSH PSW
        PUSH B
        LXI B, 1FH
DEL0:   DCX B
        MOV A,B
        ORA C
        JNZ DEL0
        POP B
        POP PSW
        RET
STOP:   PUSH PSW
        LDA 0FFE1H
        ANI 02H
        JZ 0F800H
        POP PSW
        RET
SLOVO:  DB 00H,00H,00H,00H,00H,00H,00H,00H
        DB 3FH
        DB 00H,00H,00H,00H,00H,00H,00H,00H
SLOVO1:  DB 00H,00H,00H,00H,00H,00H,00H,00H
        DB 03H
        DB 00H,00H,00H,00H,00H,00H,00H,00H
 
PA1:    EQU 0FFE4H
PB1:    EQU 0FFE5H
RC:     EQU 0FFE6H
RYC:    EQU 0FFE7H
SYS:    EQU 0FFE1H
KONEC:        END
0
977 / 601 / 100
Регистрация: 15.05.2012
Сообщений: 3,551
01.12.2015, 09:10 8
Assembler
1
2
CPI 0FFH
RZ
Ушло куда попало при ненажатой кнопке.
Assembler
1
2
3
4
JNZ MET01
JMP MET0
MET0: LXI D, SLOVO
MET01: LXI D, SLOVO1
При переходе на МЕТ0 происходит переназначение.
Остальное не смотрел, нет смысла.
1
0 / 0 / 0
Регистрация: 13.02.2014
Сообщений: 7
02.12.2015, 15:55  [ТС] 9
pyzhman, разобрался с кнопкой, без нажатия "1" бегает, а вот по нажатию 1, один раз пробегает "0", а потом мракобесия начинается
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
171
172
173
174
175
176
177
178
179
180
181
182
183
184
185
186
187
188
189
190
191
192
193
194
195
196
197
198
199
200
201
202
203
204
205
206
207
208
209
210
211
212
213
214
215
216
ORG 0000H
        LXI SP, 7F00H
        MVI A,89H
        STA RYC
KNOPKA:
        CALL 0C81BH
        CPI 0FFH
        JZ MET01
        CPI 31H
        JZ MET0
MET0:
        LXI D, SLOVO
START:  MVI C,01H
MET1:   PUSH D
        POP H
        MOV A, M
        STA PA1
        MVI A, 0H
        STA PB1
         PUSH PSW
         CALL 0D800H
         POP PSW
        CALL DELAY1
        INX H
        MOV A,M
        STA PA1
        MVI A, 1H
        STA PB1
         PUSH PSW
         CALL 0D800H
         POP PSW
        CALL DELAY1
        INX H
        MOV A, M
        STA PA1
        MVI A,2H
        STA PB1
         PUSH PSW
         CALL 0D800H
         POP PSW
         CALL DELAY1
        INX H
        MOV A,M
        STA PA1
        MVI A,3H
        STA PB1
         PUSH PSW
         CALL 0D800H
         POP PSW
        CALL DELAY1
        INX H
        MOV A, M
        STA PA1
        MVI A, 4H
        STA PB1
         PUSH PSW
         CALL 0D800H
         POP PSW
        CALL DELAY1
        INX H
        MOV A, M
        STA PA1
        MVI A,5H
        STA PB1
         PUSH PSW
         CALL 0D800H
         POP PSW
        CALL DELAY1
        INX H
        MOV A,M
        STA PA1
        MVI A,6H
        STA PB1
         PUSH PSW
         CALL 0D800H
         POP PSW
        CALL DELAY1
        INX H
        MOV A, M
        STA PA1
        MVI A,7H
        STA PB1
         PUSH PSW
         CALL 0D800H
         POP PSW
        CALL DELAY1
        DCR C
        JNZ MET1
        INX D
        MOV A, E
        CMP L
        JNZ START
        MOV A,D
        CMP H
        JNZ START
        JMP KNOPKA
         RET
SLOVO:  DB 00H,00H,00H,00H,00H,00H,00H,00H
        DB 3FH
        DB 00H,00H,00H,00H,00H,00H,00H,00H
 
MET01:      PUSH D
           LXI D, SLOVO1
START1:  MVI C,02H
MET11:   PUSH D
        POP H
        MOV A, M
        STA PA1
        MVI A, 0H
        STA PB1
         PUSH PSW
         CALL 0D800H
         POP PSW
        CALL DELAY1
        INX H
        MOV A,M
        STA PA1
        MVI A, 1H
        STA PB1
         PUSH PSW
         CALL 0D800H
         POP PSW
        CALL DELAY1
        INX H
        MOV A, M
        STA PA1
        MVI A,2H
        STA PB1
         PUSH PSW
         CALL 0D800H
         POP PSW
         CALL DELAY1
        INX H
        MOV A,M
        STA PA1
        MVI A,3H
        STA PB1
         PUSH PSW
         CALL 0D800H
         POP PSW
        CALL DELAY1
        INX H
        MOV A, M
        STA PA1
        MVI A, 4H
        STA PB1
         PUSH PSW
         CALL 0D800H
         POP PSW
        CALL DELAY1
        INX H
        MOV A, M
        STA PA1
        MVI A,5H
        STA PB1
         PUSH PSW
         CALL 0D800H
         POP PSW
        CALL DELAY1
        INX H
        MOV A,M
        STA PA1
        MVI A,6H
        STA PB1
         PUSH PSW
         CALL 0D800H
         POP PSW
        CALL DELAY1
        INX H
        MOV A, M
        STA PA1
        MVI A,7H
        STA PB1
         PUSH PSW
         CALL 0D800H
         POP PSW
        CALL DELAY1
        DCR C
        JNZ MET11
        INX D
         LXI H, KONEC
        MOV A, E
        CMP L
        JNZ START1
        MOV A,D
        CMP H
        JNZ START1
        JMP KNOPKA
 
DELAY1:
        PUSH PSW
         PUSH B
        LXI B, 1FH
DEL01:   DCX B
        MOV A,B
        ORA C
        JNZ DEL01
        POP B
        POP PSW
        RET
STOP1:  PUSH PSW
        LDA 0FFE1H
        ANI 02H
        JZ 0F800H
        POP PSW
        RET
SLOVO1:  DB 00H,00H,00H,00H,00H,00H,00H,00H
        DB 06H
        DB 00H,00H,00H,00H,00H,00H,00H,00H
 
PA1:    EQU 0FFE4H
PB1:    EQU 0FFE5H
RC:     EQU 0FFE6H
RYC:    EQU 0FFE7H
SYS:    EQU 0FFE1H
KONEC:        END
Добавлено через 14 часов 48 минут
pyzhman, Немного подправил, сделал переходы , сократил текст программы, но такая беда,
во первых: сначала выходит одно сообщение, пробегает, а потом то которое нужно,
во вторых: он реавгирует на нажатие лююой кнопки, а не только 1

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
ORG  0000H
      LXI  SP,7F00H
      CALL INIT
KEY:
    CALL 0C81BH
    CPI 0FFH
    JZ START2
    CPI 31H
    JZ START
START:
      LXI  H,MSG
      MVI  D,MSGLEN
DOIT0:
      MVI  E,02H
DOIT1:
      PUSH H
      CALL MSGOUT
      POP  H
      JZ   SYSYEM
      DCR  E
      JNZ  DOIT1
      INX  H
      DCR  D
      JZ   KEY
      JMP  DOIT0
START2:
      LXI  H,MSG2
      MVI  D,MSGLEN
DOIT01:
      MVI  E,02H
DOIT11:
      PUSH H
      CALL MSGOUT
      POP  H
      JZ   EXIT
      DCR  E
      JNZ  DOIT11
      INX  H
      DCR  D
      JZ   KEY
      JMP  DOIT01
MSGOUT:
      MVI  B,07H
MSG_LOOP:
      CALL CHAROUT
      XRA  A
      STA  PORTA
      INX  H
      DCR  B
      JNZ  MSG_LOOP
      RET
CHAROUT:
      MOV A,B
      ANI 07H
      STA PORTB
      MOV A,M
      STA PORTA
      CALL EMULUPD
      RET
INIT:
      MVI  A,89H
      STA  PYC
      XRA  A
      STA  PORTA
      RET
EMULUPD:
      MVI  C,0FH
DECIT:
      DCR  C
      JNZ  DECIT
      RET
MSG:  DB   00H,00H,00H,00H,00H,00H,00H,00H
      DB  06H
      DB    00H,00H,00H,00H,00H,00H,00H,00H
MSG2: DB 00H,00H,00H,00H,00H,00H,00H,00H
      DB   DB 3FH
      DB 00H,00H,00H,00H,00H,00H,00H,00H
MSGLEN: EQU  10 + 8
SYSTEM: EQU  0F800H
EMULUPD:EQU  0D800H
KEYBD:  EQU  0FFE1H
PORTA:  EQU  0FFE4H
PORTB:  EQU  0FFE5H
PORTC:  EQU  0FFE6H
PYC:    EQU  0FFE7H
      END
0
IT_Exp
Эксперт
87844 / 49110 / 22898
Регистрация: 17.06.2006
Сообщений: 92,604
02.12.2015, 15:55

Как сделать так чтоб при нажатии кнопки "enter" происходило нажатие кнопки "button1" на форме
Пишу программу которая должна сложить числа по нажатии кнопки "button1". Подскажите, пожалуйста,...

При нажатии кнопки "в корзину" выдает ошибку "error undefined"
Hello! При нажатии кнопки "в корзину" выдает ошибку "error undefined" как с компьютера так и с...

Цель - при нажатии на кнопку создать еще одну кнопку. Ошибка "Button" не содержит определения для "Location" и "Text""
int Control ; private void Button2_Click(object sender, RoutedEventArgs e) {...

При нажатии Delete показать сообщение "On", при повторном нажатии - "Off"
нужно что бы при нажатии ДЕЛЕТЕ показал сообщения ОН при повторном нажатии показал ОФФ этот код...


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

Или воспользуйтесь поиском по форуму:
9
Ответ Создать тему
Опции темы

КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin® Version 3.8.9
Copyright ©2000 - 2021, vBulletin Solutions, Inc.