Автор |
Сообщение |
|
|
Заголовок сообщения: |
Re: m3forth - форт для ARM Cortex-M3 |
|
|
dynamic-wind писал(а): Renha писал(а): на 8-битных атмегах ведь сделали шикарный 16-битный amforth Шикарный, но очень уж медленный. А есть ещё доступные варианты (кроме FF5)?
[quote="dynamic-wind"][quote="Renha"]на 8-битных атмегах ведь сделали шикарный 16-битный amforth[/quote] Шикарный, но очень уж медленный.[/quote] А есть ещё доступные варианты (кроме FF5)?
|
|
|
|
Добавлено: Пн июл 13, 2015 23:13 |
|
|
|
|
|
Заголовок сообщения: |
Re: m3forth - форт для ARM Cortex-M3 |
|
|
Renha писал(а): на 8-битных атмегах ведь сделали шикарный 16-битный amforth Шикарный, но очень уж медленный.
[quote="Renha"]на 8-битных атмегах ведь сделали шикарный 16-битный amforth[/quote] Шикарный, но очень уж медленный.
|
|
|
|
Добавлено: Пн июл 13, 2015 22:53 |
|
|
|
|
|
Заголовок сообщения: |
Re: m3forth - форт для ARM Cortex-M3 |
|
|
mOleg писал(а): как бы да. Однако, памяти немного, команды 32 битные занимают 32 бита\команду. система команд тут Thumb-2, где очень много часто употребляемых команд (например, работа с нижней половиной регистров) занимают 16 бит в памяти mOleg писал(а): Обращение к памяти 16 битное в командах пересылки память->регистр. Извините, впервые слышу об этом. При обращении к памяти по невыровненному адресу используется два обращения по выровненным адресам (см http://infocenter.arm.com/help/index.jsp?topic=/com.arm.doc.ddi0337h/ch03s04s02.html) Обращение к памяти 32-битное, но возможен и 16- и 8-битный доступ
[quote="mOleg"] как бы да. Однако, памяти немного, команды 32 битные занимают 32 бита\команду.[/quote] система команд тут Thumb-2, где очень много часто употребляемых команд (например, работа с нижней половиной регистров) занимают 16 бит в памяти [quote="mOleg"]Обращение к памяти 16 битное в командах пересылки память->регистр. [/quote] Извините, впервые слышу об этом. При обращении к памяти по невыровненному адресу используется два обращения по выровненным адресам (см [url=http://infocenter.arm.com/help/index.jsp?topic=/com.arm.doc.ddi0337h/ch03s04s02.html]http://infocenter.arm.com/help/index.jsp?topic=/com.arm.doc.ddi0337h/ch03s04s02.html[/url]) Обращение к памяти 32-битное, но возможен и 16- и 8-битный доступ
|
|
|
|
Добавлено: Пн июл 13, 2015 11:44 |
|
|
|
|
|
Заголовок сообщения: |
Re: m3forth - форт для ARM Cortex-M3 |
|
|
oco писал(а): Процессор 32-битный как бы да. Однако, памяти немного, команды 32 битные занимают 32 бита\команду. Обращение к памяти 16 битное в командах пересылки память->регистр. Возможно я чего не уловил (только знакомлюсь помаленьку), но выигрыша от 32 бит не вижу.
[quote="oco"]Процессор 32-битный[/quote] как бы да. Однако, памяти немного, команды 32 битные занимают 32 бита\команду. Обращение к памяти 16 битное в командах пересылки память->регистр. Возможно я чего не уловил (только знакомлюсь помаленьку), но выигрыша от 32 бит не вижу.
|
|
|
|
Добавлено: Вс июл 12, 2015 07:31 |
|
|
|
|
|
Заголовок сообщения: |
Re: m3forth - форт для ARM Cortex-M3 |
|
|
mOleg писал(а): у меня вопрос, не возникало ли ощущение, что процессор таки 16 битный в большей степени, и лучше делать 16-разрядный форт (тем более, что для ряда камней памяти маловато)? Процессор 32-битный
[quote="mOleg"]у меня вопрос, не возникало ли ощущение, что процессор таки 16 битный в большей степени, и лучше делать 16-разрядный форт (тем более, что для ряда камней памяти маловато)?[/quote] Процессор 32-битный
|
|
|
|
Добавлено: Вт июн 30, 2015 19:38 |
|
|
|
|
|
Заголовок сообщения: |
Re: m3forth - форт для ARM Cortex-M3 |
|
|
Atmega, как и многие дешевые МК, становится несколько избыточной по ресурсам, поэтому уже можно и 32 бита делать, если нужно.
Atmega, как и многие дешевые МК, становится несколько избыточной по ресурсам, поэтому уже можно и 32 бита делать, если нужно.
|
|
|
|
Добавлено: Вт июн 30, 2015 16:50 |
|
|
|
|
|
Заголовок сообщения: |
Re: m3forth - форт для ARM Cortex-M3 |
|
|
на 8-битных атмегах ведь сделали шикарный 16-битный amforth
на 8-битных атмегах ведь сделали шикарный 16-битный amforth
|
|
|
|
Добавлено: Вт июн 30, 2015 15:44 |
|
|
|
|
|
Заголовок сообщения: |
Re: m3forth - форт для ARM Cortex-M3 |
|
|
у меня вопрос, не возникало ли ощущение, что процессор таки 16 битный в большей степени, и лучше делать 16-разрядный форт (тем более, что для ряда камней памяти маловато)?
у меня вопрос, не возникало ли ощущение, что процессор таки 16 битный в большей степени, и лучше делать 16-разрядный форт (тем более, что для ряда камней памяти маловато)?
|
|
|
|
Добавлено: Сб июн 27, 2015 20:34 |
|
|
|
|
|
Заголовок сообщения: |
Re: m3forth - форт для ARM Cortex-M3 |
|
|
Залил на гитхаб [url=https://github.com/oco2000/m3forth]https://github.com/oco2000/m3forth[/url]
|
|
|
|
Добавлено: Вт фев 03, 2015 01:09 |
|
|
|
|
|
Заголовок сообщения: |
Re: m3forth - форт для ARM Cortex-M3 |
|
|
Версия 0.5Что нового: добавил контроллер lm3s316 для моделирования в Proteus. Для сборки под протеус набирайте make proteus Поддержкой cortex-m3 в proteus разочарован. Не работает system timer, начинает отсчет с нуля и вниз вместо того, чтобы начинать с заданного значения. И на bit-banding срабатывает reset. Может я делаю что не так? Никто не сталкивался?
[url=http://oco.org.ua/download/forth/m3forth-0.5.tar.gz]Версия 0.5[/url] Что нового: [list]добавил контроллер lm3s316 для моделирования в Proteus. Для сборки под протеус набирайте make proteus[/list] [list]мелкие изменения[/list]
Поддержкой cortex-m3 в proteus разочарован. Не работает system timer, начинает отсчет с нуля и вниз вместо того, чтобы начинать с заданного значения. И на bit-banding срабатывает reset. Может я делаю что не так? Никто не сталкивался?
|
|
|
|
Добавлено: Пн янв 27, 2014 19:41 |
|
|
|
|
|
Заголовок сообщения: |
Re: m3forth - форт для ARM Cortex-M3 |
|
|
What assembler do you use? arm-none-eabi-as replaces STMDB R4!, {R5} with STR.W R5, [R4, #-4]! instruction. (There was a patch actually to follow ARM documentation here) So I would not recommend to use STMDB with only one register in list because ARM does not recommend it. If your processor can handle this instruction it does not mean that all processors can handle it.
What assembler do you use? arm-none-eabi-as replaces STMDB R4!, {R5} with STR.W R5, [R4, #-4]! instruction. (There was a patch actually to follow ARM documentation [url=http://sourceware.org/ml/binutils/2010-09/msg00268.html]here[/url]) So I would not recommend to use STMDB with only one register in list because ARM does not recommend it. If your processor can handle this instruction it does not mean that all processors can handle it.
|
|
|
|
Добавлено: Вс дек 29, 2013 01:25 |
|
|
|
|
|
Заголовок сообщения: |
Re: m3forth - форт для ARM Cortex-M3 |
|
|
oco писал(а): 28 - 30 - it's a statistical error, I think, instructions are the same. I tried several times. Sameness is stable. oco писал(а): Did you disassemble this? Код: 0x10005 SYST_CSR ! 0xFFFFFF SYST_RVR !
CODE TTST0
SUBS DSTK, #4 10001248 3C04 SUBS R4, #4 STR TOS, [DSTK] 1000124A 6025 STR R5, [R4, #0] SUBS DSTK, #4 1000124C 3C04 SUBS R4, #4 STR TOS, [DSTK] 1000124E 6025 STR R5, [R4, #0] SUBS DSTK, #4 10001250 3C04 SUBS R4, #4 STR TOS, [DSTK] 10001252 6025 STR R5, [R4, #0] SUBS DSTK, #4 10001254 3C04 SUBS R4, #4 STR TOS, [DSTK] 10001256 6025 STR R5, [R4, #0]
ADDS DSTK, # 4 4 * 10001258 3410 ADDS R4, #16
SUBS DSTK, #4 1000125A 3C04 SUBS R4, #4 STR TOS, [DSTK] 1000125C 6025 STR R5, [R4, #0] SUBS DSTK, #4 1000125E 3C04 SUBS R4, #4 STR TOS, [DSTK] 10001260 6025 STR R5, [R4, #0] SUBS DSTK, #4 10001262 3C04 SUBS R4, #4 STR TOS, [DSTK] 10001264 6025 STR R5, [R4, #0] SUBS DSTK, #4 10001266 3C04 SUBS R4, #4 STR TOS, [DSTK] 10001268 6025 STR R5, [R4, #0]
ADDS DSTK, # 4 4 * 1000126A 3410 ADDS R4, #16 NEXT 1000126C 4770 BX R14 END-CODE
CODE TTST1
STR TOS, [DSTK, #-4]! 1000126E F844 5D04 STR.W R5, [R4, #-4]! STR TOS, [DSTK, #-4]! 10001272 F844 5D04 STR.W R5, [R4, #-4]! STR TOS, [DSTK, #-4]! 10001276 F844 5D04 STR.W R5, [R4, #-4]! STR TOS, [DSTK, #-4]! 1000127A F844 5D04 STR.W R5, [R4, #-4]!
ADDS DSTK, # 4 4 * 1000127E 3410 ADDS R4, #16
STR TOS, [DSTK, #-4]! 10001280 F844 5D04 STR.W R5, [R4, #-4]! STR TOS, [DSTK, #-4]! 10001284 F844 5D04 STR.W R5, [R4, #-4]! STR TOS, [DSTK, #-4]! 10001288 F844 5D04 STR.W R5, [R4, #-4]! STR TOS, [DSTK, #-4]! 1000128C F844 5D04 STR.W R5, [R4, #-4]!
ADDS DSTK, # 4 4 * 10001290 3410 ADDS R4, #16 NEXT 10001292 4770 BX R14 END-CODE
CODE TTST2
STMDB DSTK!, {TOS} 10001294 E924 0020 STMDB R4!, {R5} STMDB DSTK!, {TOS} 10001298 E924 0020 STMDB R4!, {R5} STMDB DSTK!, {TOS} 1000129C E924 0020 STMDB R4!, {R5} STMDB DSTK!, {TOS} 100012A0 E924 0020 STMDB R4!, {R5}
ADDS DSTK, # 4 4 * 100012A4 3410 ADDS R4, #16
STMDB DSTK!, {TOS} 100012A6 E924 0020 STMDB R4!, {R5} STMDB DSTK!, {TOS} 100012AA E924 0020 STMDB R4!, {R5} STMDB DSTK!, {TOS} 100012AE E924 0020 STMDB R4!, {R5} STMDB DSTK!, {TOS} 100012B2 E924 0020 STMDB R4!, {R5}
ADDS DSTK, # 4 4 * 100012B6 3410 ADDS R4, #16 NEXT 100012B8 4770 BX R14 END-CODE
: ttt0 SYST_CVR @ TTST0 SYST_CVR @ - . ; 100012BA B500 PUSH {R14} 100012BC F844 5D04 STR.W R5, [R4, #-4]! 100012C0 F24E 0518 MOVW R5, #57368 ; 0xE018 100012C4 F2CE 0500 MOVT R5, #57344 ; 0xE000 100012C8 682D LDR R5, [R5, #0] 100012CA F7FF FFBD BL 10001248 ( TTST0 ) 100012CE F844 5D04 STR.W R5, [R4, #-4]! 100012D2 F24E 0518 MOVW R5, #57368 ; 0xE018 100012D6 F2CE 0500 MOVT R5, #57344 ; 0xE000 100012DA 682D LDR R5, [R5, #0] 100012DC CC01 LDMIA R4!, {R0} 100012DE 1B45 SUBS R5, R0, R5 100012E0 F7FF FDC4 BL 10000E6C ( . ) 100012E4 BD00 POP {R15} : ttt1 SYST_CVR @ TTST1 SYST_CVR @ - . ; 100012E6 B500 PUSH {R14} 100012E8 F844 5D04 STR.W R5, [R4, #-4]! 100012EC F24E 0518 MOVW R5, #57368 ; 0xE018 100012F0 F2CE 0500 MOVT R5, #57344 ; 0xE000 100012F4 682D LDR R5, [R5, #0] 100012F6 F7FF FFBA BL 1000126E ( TTST1 ) 100012FA F844 5D04 STR.W R5, [R4, #-4]! 100012FE F24E 0518 MOVW R5, #57368 ; 0xE018 10001302 F2CE 0500 MOVT R5, #57344 ; 0xE000 10001306 682D LDR R5, [R5, #0] 10001308 CC01 LDMIA R4!, {R0} 1000130A 1B45 SUBS R5, R0, R5 1000130C F7FF FDAE BL 10000E6C ( . ) 10001310 BD00 POP {R15} : ttt2 SYST_CVR @ TTST2 SYST_CVR @ - . ; 10001312 B500 PUSH {R14} 10001314 F844 5D04 STR.W R5, [R4, #-4]! 10001318 F24E 0518 MOVW R5, #57368 ; 0xE018 1000131C F2CE 0500 MOVT R5, #57344 ; 0xE000 10001320 682D LDR R5, [R5, #0] 10001322 F7FF FFB7 BL 10001294 ( TTST2 ) 10001326 F844 5D04 STR.W R5, [R4, #-4]! 1000132A F24E 0518 MOVW R5, #57368 ; 0xE018 1000132E F2CE 0500 MOVT R5, #57344 ; 0xE000 10001332 682D LDR R5, [R5, #0] 10001334 CC01 LDMIA R4!, {R0} 10001336 1B45 SUBS R5, R0, R5 10001338 F7FF FD98 BL 10000E6C ( . ) 1000133C BD00 POP {R15}
[quote="oco"]28 - 30 - it's a statistical error, I think, instructions are the same.[/quote]
I tried several times. Sameness is stable.
[quote="oco"] Did you disassemble this? [/quote]
[code] 0x10005 SYST_CSR ! 0xFFFFFF SYST_RVR !
CODE TTST0
SUBS DSTK, #4 10001248 3C04 SUBS R4, #4 STR TOS, [DSTK] 1000124A 6025 STR R5, [R4, #0] SUBS DSTK, #4 1000124C 3C04 SUBS R4, #4 STR TOS, [DSTK] 1000124E 6025 STR R5, [R4, #0] SUBS DSTK, #4 10001250 3C04 SUBS R4, #4 STR TOS, [DSTK] 10001252 6025 STR R5, [R4, #0] SUBS DSTK, #4 10001254 3C04 SUBS R4, #4 STR TOS, [DSTK] 10001256 6025 STR R5, [R4, #0]
ADDS DSTK, # 4 4 * 10001258 3410 ADDS R4, #16
SUBS DSTK, #4 1000125A 3C04 SUBS R4, #4 STR TOS, [DSTK] 1000125C 6025 STR R5, [R4, #0] SUBS DSTK, #4 1000125E 3C04 SUBS R4, #4 STR TOS, [DSTK] 10001260 6025 STR R5, [R4, #0] SUBS DSTK, #4 10001262 3C04 SUBS R4, #4 STR TOS, [DSTK] 10001264 6025 STR R5, [R4, #0] SUBS DSTK, #4 10001266 3C04 SUBS R4, #4 STR TOS, [DSTK] 10001268 6025 STR R5, [R4, #0]
ADDS DSTK, # 4 4 * 1000126A 3410 ADDS R4, #16 NEXT 1000126C 4770 BX R14 END-CODE
CODE TTST1
STR TOS, [DSTK, #-4]! 1000126E F844 5D04 STR.W R5, [R4, #-4]! STR TOS, [DSTK, #-4]! 10001272 F844 5D04 STR.W R5, [R4, #-4]! STR TOS, [DSTK, #-4]! 10001276 F844 5D04 STR.W R5, [R4, #-4]! STR TOS, [DSTK, #-4]! 1000127A F844 5D04 STR.W R5, [R4, #-4]!
ADDS DSTK, # 4 4 * 1000127E 3410 ADDS R4, #16
STR TOS, [DSTK, #-4]! 10001280 F844 5D04 STR.W R5, [R4, #-4]! STR TOS, [DSTK, #-4]! 10001284 F844 5D04 STR.W R5, [R4, #-4]! STR TOS, [DSTK, #-4]! 10001288 F844 5D04 STR.W R5, [R4, #-4]! STR TOS, [DSTK, #-4]! 1000128C F844 5D04 STR.W R5, [R4, #-4]!
ADDS DSTK, # 4 4 * 10001290 3410 ADDS R4, #16 NEXT 10001292 4770 BX R14 END-CODE
CODE TTST2
STMDB DSTK!, {TOS} 10001294 E924 0020 STMDB R4!, {R5} STMDB DSTK!, {TOS} 10001298 E924 0020 STMDB R4!, {R5} STMDB DSTK!, {TOS} 1000129C E924 0020 STMDB R4!, {R5} STMDB DSTK!, {TOS} 100012A0 E924 0020 STMDB R4!, {R5}
ADDS DSTK, # 4 4 * 100012A4 3410 ADDS R4, #16
STMDB DSTK!, {TOS} 100012A6 E924 0020 STMDB R4!, {R5} STMDB DSTK!, {TOS} 100012AA E924 0020 STMDB R4!, {R5} STMDB DSTK!, {TOS} 100012AE E924 0020 STMDB R4!, {R5} STMDB DSTK!, {TOS} 100012B2 E924 0020 STMDB R4!, {R5}
ADDS DSTK, # 4 4 * 100012B6 3410 ADDS R4, #16 NEXT 100012B8 4770 BX R14 END-CODE
: ttt0 SYST_CVR @ TTST0 SYST_CVR @ - . ; 100012BA B500 PUSH {R14} 100012BC F844 5D04 STR.W R5, [R4, #-4]! 100012C0 F24E 0518 MOVW R5, #57368 ; 0xE018 100012C4 F2CE 0500 MOVT R5, #57344 ; 0xE000 100012C8 682D LDR R5, [R5, #0] 100012CA F7FF FFBD BL 10001248 ( TTST0 ) 100012CE F844 5D04 STR.W R5, [R4, #-4]! 100012D2 F24E 0518 MOVW R5, #57368 ; 0xE018 100012D6 F2CE 0500 MOVT R5, #57344 ; 0xE000 100012DA 682D LDR R5, [R5, #0] 100012DC CC01 LDMIA R4!, {R0} 100012DE 1B45 SUBS R5, R0, R5 100012E0 F7FF FDC4 BL 10000E6C ( . ) 100012E4 BD00 POP {R15} : ttt1 SYST_CVR @ TTST1 SYST_CVR @ - . ; 100012E6 B500 PUSH {R14} 100012E8 F844 5D04 STR.W R5, [R4, #-4]! 100012EC F24E 0518 MOVW R5, #57368 ; 0xE018 100012F0 F2CE 0500 MOVT R5, #57344 ; 0xE000 100012F4 682D LDR R5, [R5, #0] 100012F6 F7FF FFBA BL 1000126E ( TTST1 ) 100012FA F844 5D04 STR.W R5, [R4, #-4]! 100012FE F24E 0518 MOVW R5, #57368 ; 0xE018 10001302 F2CE 0500 MOVT R5, #57344 ; 0xE000 10001306 682D LDR R5, [R5, #0] 10001308 CC01 LDMIA R4!, {R0} 1000130A 1B45 SUBS R5, R0, R5 1000130C F7FF FDAE BL 10000E6C ( . ) 10001310 BD00 POP {R15} : ttt2 SYST_CVR @ TTST2 SYST_CVR @ - . ; 10001312 B500 PUSH {R14} 10001314 F844 5D04 STR.W R5, [R4, #-4]! 10001318 F24E 0518 MOVW R5, #57368 ; 0xE018 1000131C F2CE 0500 MOVT R5, #57344 ; 0xE000 10001320 682D LDR R5, [R5, #0] 10001322 F7FF FFB7 BL 10001294 ( TTST2 ) 10001326 F844 5D04 STR.W R5, [R4, #-4]! 1000132A F24E 0518 MOVW R5, #57368 ; 0xE018 1000132E F2CE 0500 MOVT R5, #57344 ; 0xE000 10001332 682D LDR R5, [R5, #0] 10001334 CC01 LDMIA R4!, {R0} 10001336 1B45 SUBS R5, R0, R5 10001338 F7FF FD98 BL 10000E6C ( . ) 1000133C BD00 POP {R15} [/code]
|
|
|
|
Добавлено: Сб дек 28, 2013 10:52 |
|
|
|
|
|
Заголовок сообщения: |
Re: m3forth - форт для ARM Cortex-M3 |
|
|
Это что? Типа такой тонкий троллинг? И кто кого троллит?
Это что? Типа такой тонкий троллинг? И кто кого троллит?
|
|
|
|
Добавлено: Пт дек 27, 2013 14:56 |
|
|
|
|
|
Заголовок сообщения: |
Re: m3forth - форт для ARM Cortex-M3 |
|
|
Mihail писал(а): Test for XMC4500 . Result: Код: >TTT2 30 Ok >TTT1 28 Ok >TTT0 37 Ok
28 - 30 - it's a statistical error, I think, instructions are the same. Did you disassemble this? (XMC4500 is Cortex-M4F, ARM v7-EM architecture, but I think STMDB with one register is assembled into STR too)
[quote="Mihail"]Test for XMC4500 .
Result: [code] >TTT2 30 Ok >TTT1 28 Ok >TTT0 37 Ok [/code][/quote] 28 - 30 - it's a statistical error, I think, instructions are the same. Did you disassemble this? (XMC4500 is Cortex-M4F, ARM v7-EM architecture, but I think STMDB with one register is assembled into STR too)
|
|
|
|
Добавлено: Пт дек 27, 2013 14:23 |
|
|
|
|
|
Заголовок сообщения: |
Re: m3forth - форт для ARM Cortex-M3 |
|
|
Test for XMC4500 . Код: 0x10005 SYST_CSR ! 0xFFFFFF SYST_RVR !
CODE TTST0
SUBS DSTK, #4 STR TOS, [DSTK] SUBS DSTK, #4 STR TOS, [DSTK] SUBS DSTK, #4 STR TOS, [DSTK] SUBS DSTK, #4 STR TOS, [DSTK]
ADDS DSTK, # 4 4 *
SUBS DSTK, #4 STR TOS, [DSTK] SUBS DSTK, #4 STR TOS, [DSTK] SUBS DSTK, #4 STR TOS, [DSTK] SUBS DSTK, #4 STR TOS, [DSTK]
ADDS DSTK, # 4 4 * NEXT END-CODE
CODE TTST1
STR TOS, [DSTK, #-4]! STR TOS, [DSTK, #-4]! STR TOS, [DSTK, #-4]! STR TOS, [DSTK, #-4]!
ADDS DSTK, # 4 4 *
STR TOS, [DSTK, #-4]! STR TOS, [DSTK, #-4]! STR TOS, [DSTK, #-4]! STR TOS, [DSTK, #-4]!
ADDS DSTK, # 4 4 * NEXT END-CODE
CODE TTST2
STMDB DSTK!, {TOS} STMDB DSTK!, {TOS} STMDB DSTK!, {TOS} STMDB DSTK!, {TOS}
ADDS DSTK, # 4 4 *
STMDB DSTK!, {TOS} STMDB DSTK!, {TOS} STMDB DSTK!, {TOS} STMDB DSTK!, {TOS}
ADDS DSTK, # 4 4 * NEXT END-CODE
: ttt0 SYST_CVR @ TTST0 SYST_CVR @ - . ; : ttt1 SYST_CVR @ TTST1 SYST_CVR @ - . ; : ttt2 SYST_CVR @ TTST2 SYST_CVR @ - . ;
Result: Код: >TTT2 30 Ok >TTT1 28 Ok >TTT0 37 Ok
Test for XMC4500 . [code] 0x10005 SYST_CSR ! 0xFFFFFF SYST_RVR !
CODE TTST0
SUBS DSTK, #4 STR TOS, [DSTK] SUBS DSTK, #4 STR TOS, [DSTK] SUBS DSTK, #4 STR TOS, [DSTK] SUBS DSTK, #4 STR TOS, [DSTK]
ADDS DSTK, # 4 4 *
SUBS DSTK, #4 STR TOS, [DSTK] SUBS DSTK, #4 STR TOS, [DSTK] SUBS DSTK, #4 STR TOS, [DSTK] SUBS DSTK, #4 STR TOS, [DSTK]
ADDS DSTK, # 4 4 * NEXT END-CODE
CODE TTST1
STR TOS, [DSTK, #-4]! STR TOS, [DSTK, #-4]! STR TOS, [DSTK, #-4]! STR TOS, [DSTK, #-4]!
ADDS DSTK, # 4 4 *
STR TOS, [DSTK, #-4]! STR TOS, [DSTK, #-4]! STR TOS, [DSTK, #-4]! STR TOS, [DSTK, #-4]!
ADDS DSTK, # 4 4 * NEXT END-CODE
CODE TTST2
STMDB DSTK!, {TOS} STMDB DSTK!, {TOS} STMDB DSTK!, {TOS} STMDB DSTK!, {TOS}
ADDS DSTK, # 4 4 *
STMDB DSTK!, {TOS} STMDB DSTK!, {TOS} STMDB DSTK!, {TOS} STMDB DSTK!, {TOS}
ADDS DSTK, # 4 4 * NEXT END-CODE
: ttt0 SYST_CVR @ TTST0 SYST_CVR @ - . ; : ttt1 SYST_CVR @ TTST1 SYST_CVR @ - . ; : ttt2 SYST_CVR @ TTST2 SYST_CVR @ - . ; [/code]
Result: [code] >TTT2 30 Ok >TTT1 28 Ok >TTT0 37 Ok [/code]
|
|
|
|
Добавлено: Чт дек 26, 2013 23:27 |
|
|
|
|