ВходНаше всё Теги codebook 无线电组件 Поиск Опросы Закон Четверг
28 ноября
192077 Топик полностью
Bill (28.04.2010 06:40 - 06:59, просмотров: 69) ответил Ксения на А ресурсы это чего?
Кстати, еще один маленький пример, который показывает, что в некоторых случаях можно в программах обходится вообще без регистров. Только не говорите, что это нечестно потому что в AVR этого нет. Именно тем и хороши STM8, что в них есть то, чего нет в AVR. Иначе зачем их вообще использовать. Имена переменных в памяти были выбраны для сходства с AVR. В комментариях в скобках указаны циклы выполнения инструкций. Размер подпрограммы можно определить из листинга. 47 switch .bss 48 49 0000 00 R16: ds 1 ; Data register 50 0001 00 R17: ds 1 ; Counter 51 52 0000500b PINC: equ PC_IDR ; Input port 53 00028058 DAT: equ PINC:0 ; Data bit 54 00028059 _CLK: equ PINC:1 ; Clock bit 55 56 switch .text 57 58 0024 ReadPort: 59 0024 35080001 mov R17, #8 ; Set bit counter (1) 60 0028 7201500b00 1$: btjf DAT, 2$ ; Read bit into R16 (2/3) 61 002d 72590000 2$: rlc R16 ; (1) 62 0031 7212500b bset _CLK ; Clock pulse (1) 63 0035 7213500b bres _CLK ; (1) 64 0039 725a0001 dec R17 ; Bump counter (1) 65 003d 26e9 jrne 1$ ; Loop if not done yet (2) 66 67 003f 81 ret ; Total cycles (9/10)