English
Language : 

CC78K0S Datasheet, PDF (463/520 Pages) NEC – C Compiler Ver.1.30 or Later Language
CHAPTER 11 EXTENDED FUNCTIONS
[EXAMPLE 2]
(C source)
void func5 (int, register char) ; void func();
void main ()
{
func5 (0x1234, 0x56) ;
}
void func5 (int p1, register char p2)
{
register char r ;
int a ;
r = p2 ;
a = p1 ; func();
}
(Output code)
@@DATA DSEG
L0005 : DS
(2)
L0006 : DS
(2)
; line
; line
; line
1 : void func5 (int, register char) ; void func();
2 : void main ()
3 :{
@@CODE
CSEG
_main :
; line
4 : func5 (0x1234, 0x56) ;
mov
b, #056H
; 86 ; Passes the second argument via register B
movw ax, #01234H ; 4660 ; Passes the first argument via register AX
call !_func5
; Function call
; line 5 : }
ret
; line 6 : void func5 (int p1, register char p2)
; line 7 : {
_func5 :
push de
movw hl, #L0005
; Saves a register for register variables and
; register arguments.
; Copies argument p1 to L0005
callt [@@hlist]
movw ax, bc
User’s Manual U14872EJ1V0UM
463