인라인 어셈블리 지침

A

ayan_m

Guest
어떻게) 수 2 Keil (uvision에 C에서 난 기사를 쓰는 인라인 어셈블리의 지시를?ayan

 
설명서에있는 ASM에 대해서 # pargma의 단면도를 읽으 십시요.
내가 필요한해야 볼 수없는 어떤이 와이오밍 이유.ASM 모듈을하는 경우 ASM의 필요한 전력을 추가 그 편지를 beter는 항상

usbman

 
가끔은 모듈을 전체 어셈블리를 인라인에 쓸 수있다 쉽게하는 대신 쓰는 방법.예를 들어, 바이트면 5의 배열을 회전하는 당신이 원하는.당신은 할 수

무효의 rotate_array (비트 C) (
# ASM
MOV R0, # 배열
MOV R6, # 5
루프 : MOV, @ R0
RRC
MOV @ R0,
INC R0
DJNZ R6, 루프
# endasm
)

난 케이 엘 * 대전에서 할 수 있는지 알고 이것은 수

 
쉬운 이잖아

코드 :무효의 rotateRight (UINT8 값)

(

UINT8 나;

은 (i = 0; 나는 <6; 난 )

(

(값 & 나타내고 0x01) P1_1 = 1;

다른 P1_1 = 0;

가치>> = 1;

)

)

 
우선, 여러분의 C 코드 루틴 ASM를하지 않도록 짓을 내가 뭘.

두번째로, 요점은 효율적인 방식이 아니라 더 많은 것들을 그것이 그렇게 할 수 없어 수 ASM 그 everthing 거의 다 C. 않는 수있는 필요하지만, 때로는 수 다에 누릅니다.당신은 ASM을 사용해야합니다.가끔은, 거기의 선택입니다 그냥 안돼.C는 작업 일부 너무 느려에 불타고도.

 
안녕

아래의 코드를 같은 ASM 삽입 :

#에서 Pragma의 ASM

; 어셈블리 코드가 여기에 표시됩니다

#에서 Pragma의 endasm

이것은 또한) 자랑스럽게 발표 오류 컴파일러 필요 소스 제어를 할 활성 (로.에 (프로젝트 작업 영역 창에서 코드를 ASM를 위해 할 삽입된 파일에 이것을 마우스 오른쪽 단추로)와 "whatever_your_filename_is.c">에 대한 파일 <option부터가 "선택한 파일을 생성할 어셈블리갑니다"와 "파일의 SRC 속성을 조립"

베스트 감사합니다

 

Welcome to EDABoard.com

Sponsor

Back
Top