Форум программистов, компьютерный форум, киберфорум
Микроконтроллеры
Войти
Регистрация
Восстановить пароль
Блоги Сообщество Поиск  
 
 
Рейтинг 4.63/24: Рейтинг темы: голосов - 24, средняя оценка - 4.63
2 / 2 / 0
Регистрация: 20.05.2010
Сообщений: 12

Программа на Асм

20.05.2010, 23:47. Показов 5394. Ответов 24
Метки нет (Все метки)

Студворк — интернет-сервис помощи студентам
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
222
223
224
225
226
227
228
229
230
231
232
233
234
235
236
237
238
239
240
241
242
243
244
245
246
247
248
249
250
251
252
253
254
255
LIST P=16F628
#include <P16F628.INC>
 
temp0    EQU    H'20'   
temp1    EQU    H'21'   
temp2    EQU    H'22'   
temp3    EQU    H'23'   
temp4    EQU    H'24'   
temp5    EQU    H'25'   
temp6    EQU    H'26'   
temp7    EQU    H'27'   
temp8    EQU    H'28'   
i EQU   H'29'   
t    EQU    H'30'   
k    EQU    H'31'   
N0   EQU    H'32'   
N1   EQU    H'33'   
 
org  0
goto    Start
 
Start
 
clrf     PORTA  
bsf  STATUS,RP0 
movlw    B'10000000'
movwf    TRISB 
clrf     TRISA 
bcf  STATUS,RP0 
clrf     PORTB
 
k1  
clrf     temp0  
clrf     temp1  
clrf     temp2
clrf     temp3
clrf     temp4
clrf     temp5
clrf     temp6
clrf     temp7
clrf     temp8
clrf     i
clrf     t
 
call     INDIKATOR
btfss    PORTB,7 
goto     k1
 
MOVLW   1   
MOVWF   i   
 
MOVLW   1   
MOVWF   temp0   
 
call     ZVUK
goto c1
 
k2  
call     DELAY 
 
c1
call     INDIKATOR
btfsc    PORTB,7
goto     k3 
 
c2
btfss i,0 
goto c1 
 
 
k7  
call     INCTIM
goto     k2
 
k3 
btfsc    PORTB,7
goto     k3
 
movf i,0
movwf    t 
incf i 
 
btfss    t,0
goto k1
goto c2
 
 
INCTIM
movlw    0xe6 ;230 раз 
movwf    temp4
 
k8  decfsz   temp4,1
goto     k8
 
;увеличение до 0,9 сек
 
incf     temp0
movf temp0,0 
sublw    9  
btfsc    STATUS,0   
goto     I0 
clrf     temp0  
 
 
;увеличение до 9 сек
 
 
incf     temp1  
movf temp1,0
sublw    9  
btfsc    STATUS,0   
goto     I1 
clrf     temp1  
 
;увеличение до 59 сек
 
incf     temp2  
movf temp2,0
sublw    5  
btfsc    STATUS,0
goto     I2 
clrf     temp2  
 
;увеличение 10 мин
 
incf     temp3
movf temp3,0
sublw    9  
btfsc    STATUS,0   
goto     I3 
clrf     temp3  
 
return  
 
I0
nop
nop
nop
nop
nop 
 
I1
nop
nop
nop
nop
nop 
 
I2  nop
nop
nop
nop
nop 
 
I3  nop
nop
nop
nop
nop 
 
return  
 
INDIKATOR
movf     temp0,0 
call     KOD
movwf    PORTB
bsf  PORTA,0 
nop
nop
nop
nop
bcf  PORTA,0
 
movf     temp1,0
call     KOD
movwf    PORTB
bsf  PORTA,1
nop
nop
nop
nop
bcf  PORTA,1
 
movf     temp2,0
call     KOD
movwf    PORTB
bsf  PORTA,2
nop
nop
nop
nop
bcf  PORTA,2
 
movf     temp3,0
call     KOD
movwf    PORTB
bsf  PORTA,3
nop
nop
nop
nop
bcf  PORTA,3
 
return
 
KOD 
addwf    PCL
retlw    B'00111111'    ;код 0
retlw    B'00000110'    ;код 1
retlw    B'01011011'    ;код 2
retlw    B'01001111'    ;код 3
retlw    B'01100110'    ;код 4
retlw    B'01101101'    ;код 5
retlw    B'01111101'    ;код 6
retlw    B'00000111'    ;код 7
retlw    B'01111111'    ;код 8
retlw    B'01101111'    ;код 9
 
ZVUK    
movlw    100
movwf    temp4
 
k6 
btfsc    PORTB,7
goto     k6
 
bsf  PORTA,4
 
k5  
decfsz   temp4,1
goto     k5
 
bcf  PORTA,4
 
call DELAY
call     INDIKATOR
return 
 
DELAY
 
movlw    0x81 ;128
MOVWF   k    ;k=ff=255
Cycl_1  
movlw    0xff 
movwf    N0 
 
Cycl_0  
decfsz   N0,1   
goto     Cycl_0
decfsz   k,1    
goto     Cycl_1
 
return  
 
end
Прокомментируйте пожалуйста как работает, если есть такая возможность....
0
cpp_developer
Эксперт
20123 / 5690 / 1417
Регистрация: 09.04.2010
Сообщений: 22,546
Блог
20.05.2010, 23:47
Ответы с готовыми решениями:

Модульное программирование(связь асм-асм и асм-пасм)
Очень нужна помощь, сама сделала все что могла...просто не понимаю почему не работает( задание: сделать программу из модулей с помощью...

Нужна программа Асм (Нетбинс)
1)Найти радиус вписанной окружности в равносторонний треугольник. Величина сторон известна. 2)Составить программу, в которой вводятся...

Зависает программа при обращении к асм-модулю
Программа на паскале для вычисления целочисленного результата выражения + то же самое на асм-модуле, вызываемом паскалем. Паскаль считает...

24
Эксперт по компьютерным сетямЭксперт NIX
 Аватар для Dmitry
13441 / 7534 / 831
Регистрация: 09.09.2009
Сообщений: 29,554
24.05.2010, 11:30
Студворк — интернет-сервис помощи студентам
ну во первых, когда вы выполнили табличное преобразование, код, полученный с помощью retlw, куда-то нужно вывести. зачастую такое используется например при реализации индикации. возможно и в вашем случае также.

а во вторых - я уже давно этим не занимался, так что советчик такой себе...
1
2 / 2 / 0
Регистрация: 20.05.2010
Сообщений: 12
26.05.2010, 23:36  [ТС]
Народ, подскажите, где можно найти схему подключения семисегментного индикатора к пик контроллеру?
0
Эксперт по компьютерным сетямЭксперт NIX
 Аватар для Dmitry
13441 / 7534 / 831
Регистрация: 09.09.2009
Сообщений: 29,554
27.05.2010, 10:06
а в чем собственно проблема? подключаете выходы сегиентов (a-f) индикатора к выходам (желательно одного) порта контроллера (через токоограничительные резисторы, посчитайте номинал), а общий анод (катод) индикатора подключите к плюсу питания (земле) соответственно. удобно еще и тем, что вы можете разряды развести как угодно, рукводствуясь только лишь удобством трассировки их на плате, а декодирование кода сделать тем самым табличным преобразованием...
1
 Аватар для denver
1612 / 282 / 5
Регистрация: 19.09.2009
Сообщений: 700
27.05.2010, 11:56
Вот на примере простого термометра.
Миниатюры
Программа на Асм  
1
2 / 2 / 0
Регистрация: 20.05.2010
Сообщений: 12
27.05.2010, 17:10  [ТС]
Разобрался, тему можно закрыть
Спасибо еще раз denver, dmkhn. Надеюсь вам тоже не раз помогут в сложных ситуациях
2
Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
raxper
Эксперт
30234 / 6612 / 1498
Регистрация: 28.12.2010
Сообщений: 21,154
Блог
27.05.2010, 17:10

Формула на си из асм
Какая формула заключена в этом коде?) Нужно привести на языке си или хотя бы просто формулу) 400576: 55 pushq %rbp 400577: 48 89...

асм і8086
На asm i8086. Ввести с клавиатуры двознакови числа без знака Х1, Х2, Х3, Х4. Вывести на экран десятичное значение функции Y = (Х1-Х3 * Х2)...

Цикл асм и с++
Возможно ли использовать цикл с асамблера на с++.? Если да то наведите пример..(вывод сообщения 10 раз)

Декомпиляция на Си из АСМ
Ребят, провел декомпиляцию программы, objdump вывел такой код асма, не могу понять по какой формуле происходят вычисления? Можете...

Асм вставка в Си
Ребята, не подскажите как правильно загружать переменные в асм вставку. пытаюсь сделать так: void FyttRegs(u16 data) { //go to asm...


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

Или воспользуйтесь поиском по форуму:
25
Ответ Создать тему
Новые блоги и статьи
сукцессия 30. Фосфорный и азотный замки по "честному" закону лимитирования Либиха
anaschu 16.07.2026
Основные достижения за последние дни 1. Механизм отложенного высвобождения фосфора Добавлен специальный пул для медленного разложения меланизированных гиф ЕСМ Реализована разная скорость. . .
Запрет пометки на удаление и отмены проведения
Maks 16.07.2026
Алгоритм из решения ниже реализован на нетиповом документе "ПутевойЛист" разработанного в КА2. Задача: запретить помечать на удаление и отменять проведения путевого листа при условии, если он сдан. . .
Как надо было делать правильно - вообще не слушать ИИ, его дело - текст.
Hrethgir 15.07.2026
А вообще надо было делать не так, чтобы не исправлять ошибку https:/ / www. cyberforum. ru/ blogs/ 223907/ 10996. html , правильно было : удалил кнопку, а потом добавил её. Всё это стресс конечно. Почему?. . .
Знаете, от чего появляется стресс?
kumehtar 15.07.2026
Стресс появляется оттого, что вы, зная как поступить правильно, делаете наоборот. Ларри Уингет
Нас бьют, а мы крепчаем? Какая чушь!
kumehtar 15.07.2026
Вот это вот бытующее мнение, что человек меняется только под действием проблем, всегда считал вредоносным. Поверь, от проблем у людей появляются не изменения, а нервное расстройство и ПТСР. А. . .
сукцессия 29. Переход от одних деревьев на другие делать более или менее вероятностным?
anaschu 12.07.2026
Насколько смена типов микоризы — исключительное событие в двухвековой сукцессии? Оценка вероятности в пространстве параметров В текущей версии модели успешно реализован ключевой механизм. . .
сукцессия 27. Думаю, как переделывать уже написанную статью с планами на сукцессию.
anaschu 12.07.2026
Анализ соответствия модели требованиям Реализованные компоненты: Механизм закисления почвы через протонную помпу Конкуренция между типами микориз pH как триггер сукцессии C/ P соотношение. . .
Сукцессия 26. Мат модель создана.
anaschu 12.07.2026
Модель смены растительных сукцессий посредством управления грибами работает внутри небольшой ячейки почвы, восстанавливающейся после пожара, где ненадолго бывшее царство хвойных снова захватили. . .
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin
Copyright ©2000 - 2026, CyberForum.ru