реклама на сайте
подробности

 
 
> сравнить пару регистров и константу
add
сообщение Apr 11 2006, 06:47
Сообщение #1


Местный
***

Группа: Свой
Сообщений: 345
Регистрация: 10-10-05
Пользователь №: 9 459



Коллеги, прошу помощи. Необходимо сравнить пару регистров и константу (db) на асме, по условию RH:RL<const перейти к обработке события. Задачка вроде несложная, но чего-то получается криво как то :


.equ const_l=low(point1)
.equ const_h=high(point1)

..

cpi RH,const_h
brlo a
cpi RL,const_l
brlo b
rjmp not_a
b:
cpi RH,const_h
breq a
rjmp not_a


a: ;..событие......


not_a:


unsure.gif

Сообщение отредактировал add - Apr 11 2006, 07:07


--------------------
Если задачу можно решить, то не надо тревожиться. А если нельзя решить, то тревожиться бесполезно.
Go to the top of the page
 
+Quote Post
 
Start new topic
Ответов (1 - 6)
shamray
сообщение Apr 11 2006, 06:50
Сообщение #2


Частый гость
**

Группа: Свой
Сообщений: 114
Регистрация: 31-08-05
Из: Украина, Одесса
Пользователь №: 8 105



Сравниваеш вначале старшие разряды, если RH > const(H), то переход, если равны, то далее сравниваеш младшие части. Вот и все.
Go to the top of the page
 
+Quote Post
add
сообщение Apr 11 2006, 07:09
Сообщение #3


Местный
***

Группа: Свой
Сообщений: 345
Регистрация: 10-10-05
Пользователь №: 9 459



"Сравниваеш вначале старшие разряды, если RH > const(H), то переход, если равны, то далее сравниваеш младшие части. Вот и все."
shamray :-) я вот тоже так решил .но.... а можно в коде?


--------------------
Если задачу можно решить, то не надо тревожиться. А если нельзя решить, то тревожиться бесполезно.
Go to the top of the page
 
+Quote Post
vet
сообщение Apr 11 2006, 07:13
Сообщение #4


Знающий
****

Группа: Свой
Сообщений: 550
Регистрация: 16-06-04
Из: Казань
Пользователь №: 32



CPI R30,LOW(10000)
MOV R26,HIGH(10000)
CPC R31,R26

"и никаких гвоздей!" (с)


--------------------
Главная линия этого опуса ясна мне насквозь!
Go to the top of the page
 
+Quote Post
add
сообщение Apr 11 2006, 07:35
Сообщение #5


Местный
***

Группа: Свой
Сообщений: 345
Регистрация: 10-10-05
Пользователь №: 9 459



vet Пасиба :-).. Ведь просто так.. и правда "никаких гвоздей"..

с этим я несовсем согласен:
MOV R26,HIGH(10000) наверное ldi....
но суть понятна... :-)

Сообщение отредактировал add - Apr 11 2006, 07:36


--------------------
Если задачу можно решить, то не надо тревожиться. А если нельзя решить, то тревожиться бесполезно.
Go to the top of the page
 
+Quote Post
PowerF1
сообщение Apr 11 2006, 14:58
Сообщение #6


Участник
*

Группа: Новичок
Сообщений: 34
Регистрация: 12-03-05
Из: Новосибирск
Пользователь №: 3 288



Когда используются команды breq, brlo и т.п. после сравнения cpi двух чисел, переход произойдет, если эти числа записаны в двоичном коде. Пробуйте.
Go to the top of the page
 
+Quote Post
add
сообщение Apr 12 2006, 12:47
Сообщение #7


Местный
***

Группа: Свой
Сообщений: 345
Регистрация: 10-10-05
Пользователь №: 9 459



Цитата
Когда используются команды breq, brlo и т.п. после сравнения cpi двух чисел, переход произойдет, если эти числа записаны в двоичном коде. Пробуйте.


Простите непонял к чему Вы это?! если про это:(MOV R26,HIGH(10000) ) то компилятор покроет трехэтажным матом :-)
Вот это тоже странно: ("если эти числа записаны в двоичном коде"...)
Прошу Вас PowerF1 обьяснить подробнее что Вы хотели этим сказать.


--------------------
Если задачу можно решить, то не надо тревожиться. А если нельзя решить, то тревожиться бесполезно.
Go to the top of the page
 
+Quote Post

Reply to this topicStart new topic
1 чел. читают эту тему (гостей: 1, скрытых пользователей: 0)
Пользователей: 0

 


RSS Текстовая версия Сейчас: 28th July 2025 - 22:21
Рейтинг@Mail.ru


Страница сгенерированна за 0.01382 секунд с 7
ELECTRONIX ©2004-2016