Цитата(Freeuser @ Dec 10 2009, 14:43)

А можно взглянуть на функцию send_comm_to_sd();
Реализовано на АСМе для скорости.
Входной параметр - указатель на comstr.
CODE
PUSH {R4-R7,LR}
LDR R5, PORT0_OUT ;; 0xfffff410
MOV R6,#+128
LSL R7,R6,#+6 ;; #+8192 SD_CLC
LSL R6,R6,#+1 ;; #+256 SD_CMD
STR R6,[R5, #+0] ;; PORT0_OUT = SD_CMD
MOV R2,#+6
SD_write_0:
LDRB R3,[R0, #+0]
LSL R3,R3,#+23
MOV R1,#+8
SD_write_2:
STR R6,[R5, #+36] ;; PORT_CLR = SD_CMD
LSL R3,R3,#+1
BPL SD_write_4
STR R6,[R5, #+32] ;; PORT_SET = SD_CMD
SD_write_4:
STR R7,[R5, #+32] ;; PORT_CLR = SD_CLC
SUB R1,#+1
STR R7,[R5, #+36] ;; PORT_SET = SD_CLC
BNE SD_write_2
SD_write_3:
ADD R0,#+1 ;; ptr++
SUB R2,#+1
BNE SD_write_0
SD_write_1:
POP {R4-R7}
POP {R0}
BX R0 ;; return
Причина редактирования: Оформление цитаты исходника.