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

 
 
> Ассемблер от IAR
amator
сообщение Jun 25 2005, 05:08
Сообщение #1





Группа: Новичок
Сообщений: 11
Регистрация: 19-02-05
Пользователь №: 2 756



Господа, проясните ситуацию. До сих пор писал только на ассемблере от Atmel, а тут начал осваивать Си от IAR, и использую пп. преобразования в BCD на ассемблере. Но при ассемблировании компилятор выдаёт кучу ошибок «Error[43]: Illegal effective address». Ассемблировать-то я смог, заменив символьные имена абсолютными, но вопрос остался. Как работать с символьными именами регистров??? Подпрограмму привожу ниже:

Код
NAME    bin16BCD5
#include <io4433.h>

#define    fbinL   r16            
#define    fbinH   r17            
#define    tBCD0   r17            
#define    tBCD1   r18            
#define    tBCD2   r19          
       PUBLIC bin16BCD5    
       RSEG CODE

bin16BCD5:
       ldi     tBCD2, -1
bin16BCD5_loop_1:
       inc     tBCD2
       subi    fbinL, low(10000)
       sbci    fbinH, high(10000)
       brsh    bin16BCD5_loop_1
       subi    fbinL, low(-10000)
       sbci    fbinH, high(-10000)
       ldi     tBCD1, -0x11
bin16BCD5_loop_2:
       subi    tBCD1, -0x10
       subi    fbinL, low(1000)
       sbci    fbinH, high(1000)
       brsh bin16BCD5_loop_2
       subi    fbinL, low(-1000)
       sbci    fbinH, high(-1000)
bin16BCD5_loop_3:
       inc     tBCD1
       subi    fbinL, low(100)
       sbci    fbinH, high(100)
       brsh bin16BCD5_loop_3
       subi    fbinL, -100
       ldi     tBCD0, -0x10
bin16BCD5_loop_4:
       subi    tBCD0, -0x10
       subi    fbinL, 10
       brsh bin16BCD5_loop_4
       subi    fbinL, -10
       add     tBCD0, fbinL

       mov     fbinL, tBCD0
       mov     tBCD0, tBCD1
       ret                  
Go to the top of the page
 
+Quote Post

Сообщений в этой теме


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

 


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


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