AnnexF/weigh_il.txt
author mjsousa
Tue, 20 Aug 2013 11:15:40 +0100
changeset 834 783ef40344dd
parent 0 fb772792efd1
permissions -rwxr-xr-x
Add support for FB call semantics of 'S' and 'R' IL operators!
Remove segfaults when analysing buggy IL code (IL operators with no operands).
FUNCTION WEIGH : WORD     (* BCD encoded *)
  VAR_INPUT  (* "EN" input is used to indicate "scale ready" *)
    weigh_command : BOOL;
    gross_weight : WORD ; (* BCD encoded *)
    tare_weight : INT ;
  END_VAR
(* Function Body *)
	LD	weigh_command	
	JMPC	WEIGH_NOW	
	ST	ENO	(* No weighing, 0 to "ENO" *)
	RET		
WEIGH_NOW:	LD	gross_weight	
	BCD_TO_INT		
	SUB	tare_weight	
	INT_TO_BCD		(* Return evaluated weight *)
	ST	WEIGH	

END_FUNCTION                     (* Implicit "ENO" *)