2013-02-06 2 views
3

PIC 프로젝트 용 마이크로 칩 MPLAB IDE에 삽입 할 수있는 어셈블러 코드의 초안 작성 및 편집에 이맥스를 사용하고 싶습니다. 파일 확장명으로 .asm을 사용하면 열 1에 세미콜론을 사용하여 주석 줄을 시작할 때 재미있는 결과가 나타납니다. 다음 줄은 항상 들여 쓰여집니다. 어떻게 이것을 피할 수 있습니까? .asm 파일의 주요 모드로 "gas"가 있지만이 방법은 효과가 없습니다.PIC 어셈블러 코드 용 이맥스 설정 방법

아마도 실제 문제는 이러한 모드가 작동하는 방식에 대한 설명을 이해할 수 없다는 것입니다.

+0

잘 모르겠지만 asm-mode.el 파일을 편집하거나 .asm이 아닌 파일을 편집하기위한 onw 규칙을 만들어야한다고 생각합니다. emacs-lisp 언어로 작성되어야합니다. NASM의 구문 규칙을 구현하기위한이 구현을 확인하십시오. (어떻게 할 지 생각해보십시오) http://matthieuhauglustaine.blogspot.com.br/2011/08/nasm-mode-for-emacs.html'nasm-mode .el' 및/또는'asm-mode.el'을 사용하면 사용중인 어셈블리 버전을 구현하기에 충분합니다. 죄송합니다. 정확한 답변이 아닙니다. (내가 의견으로 게시하는 이유입니다.)하지만 도와 드리겠습니다. – Jack

답변

0

init.el에 아래 함수를 추가하여 asm-calculate-indentation을 재정의 할 수 있습니다. "테스트 드라이브"기능을 사용하려면 스크래치 버퍼에 붙여 넣기하고 eval로 저장 한 다음 asm 파일에서 편집하여 원하는 결과인지 확인하십시오.

(defun asm-calculate-indentation() 
    (or 
    ;; Flush labels to the left margin. 
    (and (looking-at "\\(\\sw\\|\\s_\\)+:") 0) 
    ;; Same thing for `;;;' comments. 
    (and (looking-at "\\s<\\s<\\s<") 0) 
    ;; Simple `;' comments go to the comment-column. 
    (and (looking-at "\\s<\\(\\S<\\|\\'\\)") comment-column) 
    ;; Do not indent after ';;;' comments. 
    (and (progn 
      (previous-line) 
      (beginning-of-line) 
      (looking-at "\\s<\\s<\\s<")) 0) 
    ;;The rest goes at the first tab stop. 
    (or (car tab-stop-list) tab-width)) 

이것은 그 라인을 직접 ;;; 아래에 있도록 할 것 자동 들여 쓰기가되지 않습니다. 눈치 챘을 지 모르겠지만 정의를 그대로두면 라고 입력하면 다음 주석을 넣을 수 있다고 생각합니다. 레이블이 자동으로 왼쪽으로 들여 쓰고 레이블 아래의 모든 문자가 들여 쓰기됩니다 자동 들여 쓰기. 나는 이것들이 지시어들 또는 머리말 논평을 언급하기 위해 짜증나게 될 것 인 곳을 볼 수있다.