added OBJ_GetChildAt
This commit is contained in:
@@ -271,6 +271,39 @@ OBJ_GetLastChild_ret:
|
|||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
; ---------------------------------------------------------------------------
|
||||||
|
; @routine OBJ_GetChildAt @global
|
||||||
|
;
|
||||||
|
; @param Y address of object
|
||||||
|
; @param R16 idx of child to get (starting at 0)
|
||||||
|
; @return CFLAG set, if found, cleared otherwise
|
||||||
|
; @return r19:r18 resulting object
|
||||||
|
; @clobbers none
|
||||||
|
|
||||||
|
OBJ_GetChildAt:
|
||||||
|
push yl
|
||||||
|
push yh
|
||||||
|
rcall OBJ_GetFirstChild ; R19:R18=obj (none)
|
||||||
|
brcc OBJ_GetChildAt_ret
|
||||||
|
|
||||||
|
OBJ_GetChildAt_loop:
|
||||||
|
tst r16
|
||||||
|
breq OBJ_GetChildAt_secRet
|
||||||
|
mov yl, r18
|
||||||
|
mov yh, r19
|
||||||
|
rcall OBJ_GetNext ; R19:R18=obj (none)
|
||||||
|
brcs OBJ_GetChildAt_loop
|
||||||
|
rjmp OBJ_GetChildAt_ret ; idx too high, not found
|
||||||
|
OBJ_GetChildAt_secRet:
|
||||||
|
sec
|
||||||
|
OBJ_GetChildAt_ret:
|
||||||
|
pop yh
|
||||||
|
pop yl
|
||||||
|
ret
|
||||||
|
; @end
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
; ---------------------------------------------------------------------------
|
; ---------------------------------------------------------------------------
|
||||||
; @routine OBJ_AddChild @global
|
; @routine OBJ_AddChild @global
|
||||||
;
|
;
|
||||||
|
|||||||
Reference in New Issue
Block a user