Style/ru

From KolibriOS wiki
Jump to navigation Jump to search

Стиль оформления

Рекомендации по оформлению кода.

При написании процедур необходимо перед процедурой указывать входные, выходные параметры, так же указывать какие регистры изменяются.

;in:  eax = pointer
;     ebx = PID
;out: eax = return code in (0,-1)
;destroys eax
;================================
subrutine:

При написании процедур очень полезно комментировать их способом, показанным ниже.

Тогда даже человек, только начинающий изучать ассемблер, сразу поймёт, что далает данная функция. И наоборот, даже самому опытному программисту может понадобится некторое время просто на понимание того, что делает данная функция.

;-----------------------------------------------------------------------------
proc key.ctrl_o ;///// ENTER OPEN FILENAME ///////////////////////////////////
;-----------------------------------------------------------------------------
  ...
  ...
  ...
endp

Если Вы вносите изменения или добавление в программу, неважно каких размеров, полезно как-то помечать добавленный код, попутно описывая, какую операцию он выполняет. Тогда потом никто не будет недоумевать "А это здесь откуда и что оно вообще делает?".

Делать это можно так, как показано ниже:

;// diamond [ (convert size from decimal representation to dword)
;--     mov     edx,dword[@PARAMS+1]
 	mov	esi,@PARAMS+1
	xor	edx,edx
	xor	eax,eax
    @@: lodsb
	test	al,al
	jz	@f
	lea	edx,[edx*4+edx]
	lea	edx,[edx*2+eax-'0']
	jmp	@b
    @@:
;// diamond ]