[an error occurred while processing this directive]
В разные ты ячейки полубайт положишь, али в 1 яч. 2-полубайта положишь от этого ни число ни формат его не изменится, это я коляну. А уменя вот что получилось-
(«Телесистемы»: Конференция «Микроконтроллеры и их применение»)

миниатюрный аудио-видеорекордер mAVR

Отправлено nikolaus 16 февраля 2005 г. 22:58
В ответ на: Да где уж там ферштейн :) Если исходное число лежит в двух байтах - это бинари, а не hex. hex - это когда в 4ёх. А для разложения WORD в DEC для печати imho есть два способа (+) отправлено 507 16 февраля 2005 г. 22:39

;п\п перевода HEX-числа в DEC
hedec: mov 2fh,#0 ;обнулить дес-ное число
mov 2eh,#0
mov 2dh,#0
mov 2ch,#0
mov 2bh,#0
clr psw.5
mov a,2ah ;старший нибл, 12ти разрядного числа
anl a,#8
jz hed0
setb psw.5
hed0: mov a,2ah
anl a,#7
clr c
rrc a
mov 2ah,a
mov a,29h
rrc a
mov 29h,a
jnc hed1
mov 2bh,#5
hed1: jb psw.5,hed3
mov a,2ah
add a,#4
mov 2ah,a
hed3: mov b,2ah
jnb b.2,hed4
mov 2fh,#1 ;добавить 1024
mov 2eh,#0
mov 2dh,#2
mov 2ch,#4

hed4: jnb b.1,hed5
mov r7,#5 ;добавить 512
mov r6,#1
mov r5,#2
acall dadd

hed5: jnb b.0,hed6
mov r7,#2 ;добавить 256
mov r6,#5
mov r5,#6
acall dadd
hed6: mov b,29h
jnb b.7,hed7
mov r7,#1 ;добавить 128
mov r6,#2
mov r5,#8
acall dadd
hed7: jnb b.6,hed8
mov r7,#0
mov r6,#6 ;добавить 64
mov r5,#4
acall dadd
hed8: jnb b.5,hed9
mov r7,#0
mov r6,#3 ;добавить 32
mov r5,#2
acall dadd
hed9: jnb b.4,heda
mov r7,#0
mov r6,#1 ;добавить 16
mov r5,#6
acall dadd
heda: mov a,b ;перевод 2с,2д,2е из hex в дес.
anl a,#0fh
add a,2ch
mov 2ch,a
hedb: clr c
subb a,#0ah
jc hedb1
mov 2ch,a
inc 2dh
jnz hedb
hedb1: mov a,2dh
hedb11: clr c
subb a,#0ah
jc hedb2
mov 2dh,a
inc 2eh
jnz hedb11
hedb2: mov a,2eh
clr c
subb a,#0ah
jc hedb3
mov 2eh,a
inc 2fh
hedb3: mov a,2bh
add a,#30h
mov 2bh,a
mov a,2ch
add a,#30h
mov 2ch,a
mov a,2dh
add a,#30h
mov 2dh,a
mov a,2eh
add a,#30h
mov 2eh,a
mov a,2fh
add a,#30h
mov 2fh,a
ret

;п\п добавления десятичного эквивалента соответствующего выбранному разрду
dadd: mov a,2ch
add a,r5
mov 2ch,a
mov a,2dh
add a,r6
mov 2dh,a
mov a,2eh
add a,r7
mov 2eh,a
ret

Составить ответ  |||  Конференция  |||  Архив

Ответы


Отправка ответа

Имя (обязательно): 
Пароль: 
E-mail: 

Тема (обязательно):
Сообщение:

Ссылка на URL: 
Название ссылки: 

URL изображения: 


Перейти к списку ответов  |||  Конференция  |||  Архив  |||  Главная страница  |||  Содержание  |||  Без кадра

E-mail: info@telesys.ru