Взялся помочь написать программку на ассемблере под этот контроллер. Вроде почитал об архитектуре, посмотрел инструкции пользователя, но начинаю писать и наступаю на грабли. Среда разработки - IAR Embedded Workbench IDE. 1)В общем пытаюсь, например, установить режим расширения аккумуляторов (биты SATA, SATB регистра контроля) и включить целочисленную арифметику для DSP-команд (бит IF регистра контроля), а компилятор говорит, что CORCON - неизвестный идентификатор, хотя в учебнике есть примеры использования этого регистра, на которые компилятор точно так же ругается: 2)Кроме того, не могу обеспечить ввод/вывод. К сишному компилятору есть макросы для эмуляции UART, а на ассемблере не знаю, что делать. В отладчике есть окошко Terminal I/O, но опять таки: примеров работы с ним никаких. В интернете примеров на ассемблере для dsPIC33F/dsPIC30F не нашел. Если кому не лень, объясните, пожалуйста, пока по этим двум пунктам или неплохо бы примеры на ассемблере под этот контроллер.
Забил на ввод/вывод и на CORCON. Получилась примерно вот такая программка перемножения двух матриц 8x8 (каждый элемент матрицы - два байта): Код (Text): ;W0 - указатель на результирующую матрицу ;W1 - указатель на первую матрицу ;W2 - указатель на вторую матрицу NAME first ASEGN CODE:CODE,0x0 BRA start ;Прыгаем на начало программы ASEGN CODE:CODE,0x100 ;Смещение 100h start: MOV #7,W3 loop1: MOV #7,W4 loop2: CLR A ;Суммируем произведения элементов W3-ей строки матрицы W1 и ;W4-го столбца матрицы W2 MOV #7,W5 loop3: SL W3,#3,W8 ADD W5,W8,W8 SL W8,#1,W8 ;W8 - смещение относительно начала матрицы W1 SL W5,#3,W9 ADD W4,W9,W9 SL W9,#1,W9 ;W9 - смещение относительно начала матрицы W2 MOV [W1+W8],W6 MOV [W2+W9],W7 MAC W6*W7,A SUB #1,W5 BRA NN,loop3 SL W3,#3,W8 ADD W4,W8,W8 SL W8,#1,W8 SAC A,[W0+W8] SUB #1,W4 BRA NN,loop2 SUB #1,W3 BRA NN,loop1 NOP END Но в отладчике видно, что после MAC в ACCA попадает какой-то бред (вроде удвоенное произведение плюс то, что там уже было). А SAC сохраняет вообще нули в память. Опять таки, если кому не лень, объясните, почему.