CALL
This instruction initiates a subroutine. The flags are not affected.
First, it pushes the return address (the address of the instruction following the CALL
) onto the stack. Then, it jumps to the subroutine address, i.e., copies the jump address into IP
.
Usage
vonsim
CALL label
label must be a label that points to an instruction.
Example
vonsim
org 3000h
subroutine: push ax
; --- etc ---
ret
org 2000h
call subroutine ; Valid
call 3000h ; Invalid, must be a label
hlt
end
Encoding
00110001
, addr-low, addr-high