VOOZH about

URL: https://qiita.com/zan/items/5d2af3ea62b1da5b2a63

⇱ Z80 アセンブラからCの関数を呼ぶ #アセンブリ言語 - Qiita


👁 Image
5

Go to list of users who liked

3

Share on X(Twitter)

Share on Facebook

Add to Hatena Bookmark

More than 3 years have passed since last update.

Z80 アセンブラからCの関数を呼ぶ

5
Last updated at Posted at 2016-03-17

Z80 アセンブラからCの関数を呼ぶ方法です
 

アセンブラからCの関数を呼ぶ

実行したい関数のサンプル

C
ULONG test(UBYTE bt,UWORD wd,ULONG lg);

これをアセンブラから呼び出すには以下のように記述する

ASM
	LD XWA,04050607H ;3番目の引数「lg」にセットする値
	PUSH XWA ;スタックに引数を格納
	LDW BC,0203H ;2番目の引数「wd」にセットする値
	PUSHW BC ;スタックに引数を格納
	LDW DE,0001H ;1番目の引数「bt」にセットする値
	PUSHW DE ;スタックに引数を格納

	CALL _test ;関数を呼び出す

	POPW DE ;スタックの後始末
	POPW BC ;スタックの後始末
	POP XWA ;スタックの後始末

なお、関数の戻り値は

ASM
XHL

というレジスタに格納されます。
 

5

Go to list of users who liked

3
2

Go to list of comments

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
5

Go to list of users who liked

3