https://www.mediafire.com/file/qc81pcapayilceo/blink.zip/file
60 byte ile bilink.
Kendi programlarinizi gelistirirken bu ornegi referans almayin.
Tam senlik bir site: https://codegolf.stackexchange.com/
Gerçi burada daha çok kaynak kodun kaç byte olduğuna bakıyorlar yanlış anlamadıysam.
84 byte biraz daha küçültebilirim galiba.
https://engineeringvolkan.wordpress.com/2021/01/16/nuvoton-from-scratch-the-bare-minimum/
12 Byte daha kuculttunce 48 Byte oldu.
Kodlari eve gidince kart uzerinde denemem gerekecek.
Alıntı yapılan: volkanunal - 15 Şubat 2021, 18:44:3584 byte biraz daha küçültebilirim galiba.
https://engineeringvolkan.wordpress.com/2021/01/16/nuvoton-from-scratch-the-bare-minimum/
Burada yapılan nedir tam olarak kısaca bahseder misiniz? Anlamadım:(
Günümüzde mcu'ların ram ve romları kolay kolay dolmadığı için açıkçası program boyutunu önemsemeyeli o kadar zaman geçti ki...Assembly kullanmayalı da çok zaman geçti.
Assembly, register seviyesinde kodlama, standart peripheral library, hal library derken insan rahata çok çabuk alışıyor :)
Ilk verdigim projede Blink.S dosyasinin icini bosaltip yerine bu kodlari yerlestirdigimizde ise 48 Byte ile blink yapilmakta.
PRESERVE8
THUMB
RCC_APB2ENR EQU 0x40021018
GPIOC_CRH EQU 0x40011004
AREA RESET, CODE, READONLY
Reset_ PROC
_Vektors DCD 0x20004F00
DCD Reset
ENTRY
Reset LDR R0, =RCC_APB2ENR
MOV R1, #0x10
STR R1, [R0]
LDR R0, =GPIOC_CRH
LDR R1, =0x00500000
L1 STR R1, [R0]
MOV R2, R0
L2 SUBS R2, #0x1000
BGT L2
EOR R1, #0x00500000
B L1
ALIGN
ENDP
END
@kimlenbu Buradaki incelik asm kullanmak degil fakat inceligi gorebilmek icin asm kodlari incelemek gerek.
Biraz daha ugrasilinca Blue Pill'i sadece led yak isine adayinca bayagi da sacma olsa da 36 byte ile BLINK.
PRESERVE8
THUMB
GPIOC_CRH EQU 0x40011004
AREA RESET, CODE, READONLY
Reset_ PROC
_Vektors DCD 0x40021018
DCD Reset
ENTRY
Reset MOV R1, #0x10
STR R1, [R13]
LDR R0, =GPIOC_CRH
L1 STR R1, [R0]
MOV R3, R0
L2 SUBS R3, #0x1000
BGT L2
EOR R1, #0X00500000
B L1
ALIGN
ENDP
END
Fakat hala ugrasmak isterseniz daha da kisa yazmak mumkun gibi.