Ответ: Вот мой листинг
(«Телесистемы»: Конференция «Микроконтроллеры и их применение»)

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

Отправлено amatorAVR 27 июня 2005 г. 22:12
В ответ на: Синтаксис корректный, давай сюда листинг. Только поставь перед ним <pre>, а после - </pre> отправлено =AVR= 27 июня 2005 г. 11:20

С символьными именами листинг привести не могу так как он не генериться из-за ошибок, поэтому привожу тот что получился после замены на R16,R17...


###############################################################################
# #
# IAR Systems AVR Assembler V4.10A/W32 27/Jun/2005 20:49:29 #
# Copyright 2005 IAR Systems. All rights reserved. #
# #
# Target option = Relative jumps reach entire addr space #
# Source file = E:\LCD3\LSD3\bintobcd.s90 #
# List file = E:\LCD3\LSD3\Debug\List\bintobcd.lst #
# Object file = E:\LCD3\LSD3\Debug\Obj\bintobcd.r90 #
# Command line = -v0 -OE:\LCD3\LSD3\Debug\Obj\ -s+ -w+ -r -M<> #
# -LE:\LCD3\LSD3\Debug\List\ -t8 #
# -IC:\Program Files\IAR Systems\Embedded Workbench Evaluation version\avr\INC\ #
# -D__MEMORY_MODEL__=1 -D__AT90S4433__=1 #
# E:\LCD3\LSD3\bintobcd.s90 #
# #
###############################################################################

1 00000000 ;*********************************************
**********************
2 00000000 ;1. Òåêñò ïðîãðàììû "bin16BCD5"- ïðåîáðàçîâàíè
å 16-áèòíîãî äâîè÷íîãî
3 00000000 ;çíà÷åíèÿ â óïàêîâàííûé BCD ôîðìàò
4 00000000 ;*********************************************
**********************
5 00000000 ;* Êîëè÷åñòâî ñëîâ êîäà :25 +
âîçâðàò
6 00000000 ;* Êîëè÷åñòâî öèêëîâ :25/176
(Ìèí/Ìàêñ) + âîçâðàò
7 00000000 ;* Èñïîëüçîâàííûå ìëàäøèå ðåãèñòðû :íåò
8 00000000 ;* Èñïîëüçîâàííûå ñòàðøèå ðåãèñòðû :4(fbinL,fb
inH/tBCD0,tBCD1,tBCD2)
9 00000000 ;* Èñïîëüçîâàííûå óêàçàòåëè :íåò
10 00000000 ;*********************************************
**********************
11 00000000 NAME bintobcd
12 00000000 PUBLIC bintobcd ; Declare symbols to be
exported to C function
13 00000000 ;***** Ðåãèñòðîâûå ïåðåìåííûå ïîäïðîãðàììû
14 00000000
15 00000000 #define fbinL R16 ;äâîè÷íîå
çíà÷åíèå, ìëàäøèé áàéò
16 00000000 #define fbinH r17 ;äâîè÷íîå
çíà÷åíèå, ñòàðøèé áàéò
17 00000000 #define tBCD0 r17 ;BCD
çíà÷åíèå, öèôðû 1 è 0
18 00000000 #define tBCD1 r18 ;BCD
çíà÷åíèå, öèôðû 3 è 2
19 00000000 #define tBCD2 r19 ;BCD
çíà÷åíèå, öèôðà 4
20 00000000 ;Ïðèìå÷àíèå: Ïåðåìåííûå fbinH è tBCD0 äîëæíû
ðàçìåùàòüñÿ â îäíîì
21 00000000 ;ðåãèñòðå.
22 00000000
23 00000000 ;***** Êîä
24 00000000 RSEG CODE
25 00000000 bintobcd:
26 00000000 bin16BCD5:
27 00000000 EF3F ldi R19, -1
28 00000002 bin16BCD5_loop_1:
29 00000002 9533 inc R19
30 00000004 5100 subi r16, low(10000)
31 00000006 4217 sbci R17, high(10000)
32 00000008 F7E0 brsh bin16BCD5_loop_1
33 0000000A 5F00 subi R16, low(-10000)
34 0000000C 4D18 sbci R17, high(-10000)
35 0000000E EE2F ldi R18, -0x11
36 00000010 bin16BCD5_loop_2:
37 00000010 5F20 subi R18, -0x10
38 00000012 5E08 subi R16, low(1000)
39 00000014 4013 sbci R17, high(1000)
40 00000016 F7E0 brsh bin16BCD5_loop_2
41 00000018 5108 subi R16, low(-1000)
42 0000001A 4F1C sbci R17, high(-1000)
43 0000001C bin16BCD5_loop_3:
44 0000001C 9523 inc R18
45 0000001E 5604 subi R16, low(100)
46 00000020 4010 sbci R17, high(100)
47 00000022 F7E0 brsh bin16BCD5_loop_3
48 00000024 590C subi R16, -100
49 00000026 EF10 ldi R17, -0x10
50 00000028 bin16BCD5_loop_4:
51 00000028 5F10 subi R17, -0x10
52 0000002A 500A subi R16, 10
53 0000002C F7E8 brsh bin16BCD5_loop_4
54 0000002E 5F06 subi R16, -10
55 00000030 0F10 add R17, R16
56 00000032
57 00000032 2F01 mov R16, R17 ; Âîçâðàùàåì â R16,r17
BCD çíà÷åíèå
58 00000034 2F12 mov R17, R18 ; Ïîñëåäíèå 2 ñòðîêè
íåîáõîäèìû
59 00000036 9518 reti ; äëÿ ñîâìåòèìîñ
òè ñ IAR
C
60 00000038
61 00000038 END
##############################
# CRC:D00B #
# Errors: 0 #
# Warnings: 0 #
# Bytes: 56 #
##############################




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

Ответы



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

E-mail: info@telesys.ru