문제

조립에 관한 규정(주로 PIC)이 있습니까?

도움이 되었습니까?

해결책

나는 그것을 찾을 수 있었다 어셈블리 언어 스타일 가이드 (PDF) 당신이 관심을 가질 수 있습니다.

다른 팁

어셈블리를 쓸 때는 꽤 도움이되고 전혀 오버 배가 아닙니다. 모든 줄에 댓글을 달아라

어셈블리 또는 AC 컴파일러를 사용하여 어셈블리를 만들기 위해 프로그래밍이 귀하를위한 어셈블리를 작성하는지 여부에 따라 달라집니다. 성능이 중요한 경우 AC 컴파일러를 사용하지 않으면 어셈블리를 직접 작성하십시오.

그러나 일반적으로 컨벤션은 모든 라인을 주석하고 의미있는 포인터 이름을 가진 간단한 서브 루틴을 사용해야합니다. 블록에 댓글을달라고할만한 사람들이 있습니다.

    start:   movlw   0x24      //  \
             movf    count     //   put 24 into count


    MyCount: decfsz  count     //decrement count and exit if done
             goto    myCount   //do the loop
             goto    exit      //count is done exit

이것은 일반적인 코딩이며, 주소의 첫 번째 열은 명령에 대한 다음 Command 및 관련 Vars를 포인터링합니다. 일반적으로 실제 프로그램 전에 헤더 섹션에서 VAR을 정의하지만 이는 사용중인 어셈블러에 따라 다릅니다. 일부는 가변 포인터 옵션을 제공하지 않으며 직접 메모리 위치를 사용해야합니다. 해체 된 코드에서 다시 나오는 코드를 보면 모양이 될 것입니다.

    0020  movlw  0x24
    0021  movf   0x25     // 0x25 = memory address of count
    0022  decfsz 0x25
    0023  goto   0x0022   // loop back to 0x22 until count = 0
    0024  goto   0x01FF

그런 다음 코드 사용 'NOP'S를 'NOP'로 그룹화하여 코드를 2 ~ 20 사이의 주소를 시작하여 2 ~ 20 개의 주소를 개선하는 등의 주소를 시작하는 것과 같은 좋은 라운드 번호로 코드를 오프셋해야합니다. 칩에 따라 12F675에 대한 많은 코드를 작성하므로 일반적으로 사용하는 모델입니다.

또한 간단한 명확한 서브 루틴으로 코드를 유지하면 주소가 좋은 라운드 숫자가 있어야합니다. 초기 서브 루틴 사이에 10 정도의 블록을 남겨 두십시오. 항상 돌아가서 나중에 코드를 압축 할 수 있습니다. 그리고 항상 코드에 댓글을 달 수 없습니다.

또한 나는 평상시 내 입찰을 메모리 끝에 가깝게 썼다.

그것이 도움이되기를 바랍니다.

나는 공식적인 것이 있다고 생각하지 않지만 웹 사이트에서 코딩 샘플을 읽으면 일반적인 관용구를 맛볼 수 있습니다. 많은 다른 애호가들로부터 많은 '공헌'이 있다는 점에 대해 잘 알고 있으며, 그렇게 좋지 않을 수도 있습니다.

또한 다른 프로젝트를 확인하면 대부분 추악한 코드가 있습니다. 그러나 당신은 보석 한두 개를 찾을 수 있습니다.

나는 그림에 대한 프로그램을하지 않았지만 코드를 읽는 것을 좋아했습니다. 나는 정말 멋지고 깨끗한 실행 흐름이있는 "실시간 OS"를 모호하게 기억합니다. 코딩 스타일이 얼마나 일관성이 있었는지 기억하지 못하지만 거기서 시작할 것입니다.

대부분을 읽는 것이 낫고 산문만큼 쉬운 경우 스타일을 찾을 수 있습니다.

Jason S와 함께 있습니다. "__asm"키워드를 사용하여 ".C"파일에 몇 줄의 어셈블리 언어를 포함하더라도 가능한 경우 C 컴파일러를 사용하십시오.

그림을 위해 Assembler에 전체 프로그램을 작성 해야하는 경우 권장 기능 통화 규칙이PICLIST : PIC 페이징 및 PCLATH.

실제로 사용중인 PIC 모델에 따라 다릅니다.예를 들어, PIC16 및 PIC18에는 웹에서 쉽게 찾을 수 있는 어셈블리 예제가 많이 있습니다.

그러나 PIC24 및 PIC32와 같은 모델은 C에 훨씬 더 적합합니다.특정 PIC 모델에 대한 웹사이트에서 C로 된 많은 PIC 예제를 찾을 수 있습니다.이러한 PIC 모델은 여전히 ​​어셈블리에서 프로그래밍할 수 있지만 방법에 대한 웹 예제는 거의 없습니다.이에 대한 가장 좋은 리소스는 MPLAB의 "도움말" 아래에 있습니다. PIC 모델이 사용하는 어셈블러의 "도움말 목차"를 확인하세요.여기에서는 PIC 어셈블리에서 프로그래밍하는 방법과 메모리 정의 또는 매크로 작성과 같은 간단한 PIC 작업을 수행하는 방법에 대한 지침과 몇 가지 예를 보여줍니다.

라이센스 : CC-BY-SA ~와 함께 속성
제휴하지 않습니다 StackOverflow
scroll top