ВходНаше всё Теги codebook 无线电组件 Поиск Опросы Закон Суббота
18 мая
52585 Топик полностью
Bill (01.03.2006 14:15, просмотров: 1) ответил MDenis на Вот интересно, как это ассемблер помощнее... Ассемблер это символическое представление машинных кодов. Разве что макро ассемблер, так это на любителя...
Я бы сказал, на любителя. Все зависет от возможностей выбора ассемблера и возможностей самого ассемблера. А все ассемблеры, даже для одного и того же процессора, могут сильно отличаться друг от друга и с точки зрения синтаксиса, и с точки зрения возможностей. Например, Вы работаете с плавающей арифметикой, Вам требуется определить некоторые константы с плавающей точкой, например: Pi: .flt2 3.1415926 ; Число Пи Можете Вы это сделать в AVRASM? Наверняка нет. Нет у него такой возможности, впрочем, как и в IAR тоже. Но если задаться такой целью, то можно сделать ассеблер, который поддерживает данные с плавающей точкой:
MacroCrossassembler (Zilog-80), 01-Mar-06 Wednesday 16:14  Page 1.
.MAIN.

   0000 3e ff                 1 	ld	a, -1
                              2 	.irpc	dst, bcdehl
                              3 	ld	dst, a
                              4 	.endr
   0002 47                    4 	ld	b, a
   0003 4f                    4 	ld	c, a
   0004 57                    4 	ld	d, a
   0005 5f                    4 	ld	e, a
   0006 67                    4 	ld	h, a
   0007 6f                    4 	ld	l, a
                              5 
                              6 	.psect	$$CONST	; Switch to constant program section
                              7 
   0000                       8 Pi::			; The Pi number
   0000 82 49 0f da           9 	.flt2	3.1415926
                             10 
                             11 	.psect	$$STRNG	; Here the program section for strings
                             12 
   0000                      13 Hello:				; Hello message
   0000 48 65 6c 6c 6f 77    14 	.asciz	/Hellow from Africa/
        20 66 72 6f 6d 20
        41 66 72 69 63 61
        00
                             15 
   0013                      16 	.end
Обратите внимание также на директиву .irpc Мы такую директиву повторения сделали, есть она и в IAR. А вот есть ли она в AVRASM? Корче говоря, кто-то предпочитает удобства под боком, а кто-то довольствуется теми, что во дворе.