Телесистемы
 Разработка, производство и продажа радиоэлектронной аппаратуры
На главную   | Карта сайта | Пишите нам | В избранное
Требуется программист в Зеленограде
- обработка данных с датчиков; ColdFire; 40 тыс.
e-mail:jobsmp@pochta.ru

Телесистемы | Электроника | Конференция «Микроконтроллеры и их применение»

:-))

Отправлено -=ВН=- 03 мая 2007 г. 20:00
В ответ на: 8051 как разделить word 16bit на 2 байта по 8bit отправлено <font color=gray>voron</font> 03 мая 2007 г. 16:38

Вот набросал вариантик смеха ради. Беззнаковое целое преобразуется в 5 десятичных цифррей. Преобразуемое число в R6,R7 (R7 - младшие 8 р.).
Резальт в R4-R7. R4 всенгда=0. R7 - единицы в младших 4 разрядах и десятки в старших. R6 - сотни и тысячи. R5 - десятки тысячю
Циклов 300 с лихером наверное будет. Не считал.

MOV R5,#0
MOV R1,#0
CLR C
MOV A,R7
RLC A
MOV R7,A
MOV A,R6
RLC A
MOV R6,A
MOV A,R5
RLC A
MOV R5,A
MOV R0,#3 ;13
LABEL0: CLR C
MOV A,R1
RL A
MOV R1,A
MOV A,R7
MOV R4,A
SUBB A,#0x80
MOV R7,A
MOV A,R6
MOV R3,A
SUBB A,#0x38
MOV R6,A
MOV A,R5
MOV R2,A
SUBB A,#1
MOV R5,A
CLR C
JNB ACC.7,LABEL1
MOV A,R4
RLC A
MOV R7,A
MOV A,R3
RLC A
MOV R6,A
MOV A,R2
RLC A
MOV R5,A
DJNZ R0,LABEL0
SJMP LABEL2
LABEL1: INC R1
MOV A,R7
RLC A
MOV R7,A
MOV A,R6
RLC A
MOV R6,A
MOV A,R5
RLC A
MOV R5,A
DJNZ R0,LABEL0
LABEL2: MOV A,R7
SWAP A
MOV R7,A
MOV A,R6
SWAP A
MOV R6,A
ANL A,#0xF0
ORL A,R7
MOV R7,A
MOV A,R6
ANL A,#0xf
MOV R6,A
MOV A,R5
SWAP A
ANL A,#0xF0
ORL A,R6
MOV R6,A
MOV R2,#0
MOV R0,#4
LABEL3: CLR C
MOV A,R2
RL A
MOV R2,A
MOV A,R7
MOV R4,A
SUBB A,#0x40
MOV R7,A
MOV A,R6
MOV R3,A
SUBB A,#0x1F
MOV R6,A
CLR C
JNB ACC.7,LABEL4
MOV A,R4
RLC A
MOV R7,A
MOV A,R3
RLC A
MOV R6,A
DJNZ R0,LABEL3
SJMP LABEL5
LABEL4: INC R2
MOV A,R7
RLC A
MOV R7,A
MOV A,R6
RLC A
MOV R6,A
DJNZ R0,LABEL3
LABEL5:
MOV A,R7
SWAP A
MOV R7,A
MOV A,R6
SWAP A
MOV R6,A
ANL A,#0xF0
ORL A,R7
MOV R7,A
MOV A,R6
ANL A,#0xf
MOV R6,A
MOV R5,#0
MOV R0,#4
LABEL6: CLR C
MOV A,R5
RL A
MOV R5,A
MOV A,R7
MOV R4,A
SUBB A,#0x20
MOV R7,A
MOV A,R6
MOV R3,A
SUBB A,#0x3
MOV R6,A
CLR C
JNB ACC.7,LABEL7
MOV A,R4
RLC A
MOV R7,A
MOV A,R3
RLC A
MOV R6,A
DJNZ R0,LABEL6
SJMP LABEL8
LABEL7: INC R5
MOV A,R7
RLC A
MOV R7,A
MOV A,R6
RLC A
MOV R6,A
DJNZ R0,LABEL6
LABEL8:
PUSH B
MOV A,R7
SWAP A
MOV R7,A
MOV A,R6
SWAP A
ANL A,#0xF0
ORL A,R7
MOV B,#10
DIV AB
SWAP A
ORL A,B
MOV R7,A
MOV A,R2
SWAP A
ORL A,R5
MOV R6,A
MOV A,R1
MOV R5,A
MOV R4,#0
POP B


Составить ответ | Вернуться на конференцию

Ответы


Отправка ответа
Имя*: 
Пароль: 
E-mail: 
Тема*:

Сообщение:

Ссылка на URL: 
URL изображения: 

если вы незарегистрированный на форуме пользователь, то
для успешного добавления сообщения заполните поле, как указано ниже:
сложите три и три:

Перейти к списку ответов | Конференция | Раздел "Электроника" | Главная страница | Карта сайта

Rambler's Top100 Рейтинг@Mail.ru
 
Web telesys.ru