以下の関数を init.el に配置することで、asm-calculate-indentation を再定義できます。関数を「テストドライブ」するには、それをスクラッチバッファーに貼り付けて評価し、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))
これにより、;;; のすぐ下の行になります。自動インデントしません。あなたが気づいたかどうかはわかりませんが、定義をそのままにしておくと、コメントの下に置く次の考えがラベルである場合、 : ラベルは左に自動インデントされ、ラベルの下のすべてが自動インデントされます。ただし、コメント ディレクティブやヘッダー コメントにとってこれが煩わしい場所はわかります。