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

 
 
> Таблицы, как сделать на Си?
Algol
сообщение Jul 31 2006, 08:28
Сообщение #1


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

Группа: Свой
Сообщений: 140
Регистрация: 7-04-05
Из: Россия, Владимир
Пользователь №: 3 941



День добрый!
Недавно начал осваивать Си (HT-PICC) и все было хорошо, пока мне не приспичило сделать таблицу перекодировки. На асме я писал вот так, все просто и понятно - перед вызовом процедуры кидаем в W цифру, образ которой хотим получить

TABLE
ADDWF PCL,1
RETLW B'11101011' ;0
RETLW B'01100000' ;1
RETLW B'11000111' ;2
RETLW B'11100101' ;3

Вопрос к знатокам, как мне сделать тоже самое, но только на Си?

Сообщение отредактировал Algol - Jul 31 2006, 08:29
Go to the top of the page
 
+Quote Post
 
Start new topic
Ответов
giran
сообщение Aug 8 2006, 10:24
Сообщение #2





Группа: Новичок
Сообщений: 12
Регистрация: 18-07-05
Пользователь №: 6 878



То есть что-то типа такого:
Код
const unsigned char table[64]={
0x41, //А
0xA0, //Б
0x42, //В
0xA1, //Г
0xE0, //Д
0x45, //Е
0xA2, //Ё
0xA3, //Ж......
0xC7  // я}


а обращаться
Код
  table['Г'-0xC0]

(C0- код "А" в ASCII а дальше они по порядку, кроме ёЁ). Тогда и абсолютной адресации вроде не надо. Попробую.

Сообщение отредактировал giran - Aug 8 2006, 10:39
Go to the top of the page
 
+Quote Post
Костян
сообщение Aug 8 2006, 10:46
Сообщение #3


Знающий
****

Группа: Свой
Сообщений: 740
Регистрация: 24-07-06
Из: Minsk
Пользователь №: 19 059



Цитата(giran @ Aug 8 2006, 08:24) *
То есть что-то типа такого:
Код
const unsigned char table[64]={
0x41, //А
0xA0, //Б
0x42, //В
0xA1, //Г
0xE0, //Д
0x45, //Е
0xA2, //Ё
0xA3, //Ж......
0xC7  // я}

Не нужно оперировать кодами букв, за Вас это сделает Mplab
const table[]={'П','р','и','в','е','т',' ','м','и','р','`'};
...............
unsigned char i=0;
While (table[i]!='`')
{
write(table[i]+x); //отправляем на индикатор букву и с помощью x добиваемся коректного отображеня на ЖКИ


i++;

}
Go to the top of the page
 
+Quote Post

Сообщений в этой теме
- Algol   Таблицы   Jul 31 2006, 08:28
- - psL   Цитата(Algol @ Jul 31 2006, 12:28) День д...   Jul 31 2006, 10:29
|- - Костян   Цитата(psL @ Jul 31 2006, 08:29) char con...   Aug 3 2006, 15:19
- - upc2   Использовать конструкцию "switch case"   Jul 31 2006, 12:07
- - Algol   upc2 Конструкция switch - case не даст тождественн...   Jul 31 2006, 14:12
- - upc2   1.Согласен, что массив в по сравнению с switch - c...   Aug 1 2006, 06:00
- - Algol   По п.1 согласен, что с буквами будут дополнительны...   Aug 1 2006, 06:30
|- - _Bill   Цитата(Algol @ Aug 1 2006, 09:30) По п.1 ...   Aug 1 2006, 12:54
- - Algol   В случае Си, так как посоветовал psL. В случае асм...   Aug 1 2006, 13:05
|- - _Bill   Цитата(Algol @ Aug 1 2006, 16:05) В случа...   Aug 1 2006, 13:16
- - upc2   Откуда 60 байт? Программа на Си void main(void) {...   Aug 2 2006, 08:09
- - upc2   С точки зрения экономичности совершенно одинаково,...   Aug 4 2006, 05:01
|- - dialex   Цитата(upc2 @ Aug 4 2006, 10:01) Совершен...   Aug 4 2006, 05:06
- - upc2   Сделал. 3 0002 008A MOVWF 0xa ...   Aug 4 2006, 05:19
- - Костян   В итоге с const мы видем наличие 'retlw0x60...   Aug 4 2006, 09:56
|- - upc2   Цитата(Костян @ Aug 4 2006, 12:56) В итог...   Aug 4 2006, 11:43
- - giran   А подскажите, как разместить таблицу, например ...   Aug 8 2006, 08:50
|- - Костян   Цитата(giran @ Aug 8 2006, 06:50) Пытаюсь...   Aug 8 2006, 09:22
- - giran   ЦитатаНе нужно оперировать кодами букв Вы немного ...   Aug 9 2006, 02:30
|- - Костян   Цитата(giran @ Aug 9 2006, 00:30) Вы немн...   Aug 11 2006, 20:35
- - giran   Вообщем, вот окончательный вариант, если кому приг...   Aug 9 2006, 05:39
|- - upc2   Цитата(giran @ Aug 9 2006, 08:39) Вообщем...   Aug 11 2006, 05:17
|- - dialex   const unsigned char rus_codes[66]= { 0x41,0xa0,0...   Aug 11 2006, 06:49
- - upc2   dialex Спасибо я разобрался.Различие в таблицах ко...   Aug 11 2006, 08:01


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

 


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


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