# `unlk`

[M68K Documentation](https://asm-editor.specy.app/documentation/m68k.md) › [Instructions](https://asm-editor.specy.app/documentation/m68k/instruction.md)

Web page: https://asm-editor.specy.app/documentation/m68k/instruction/unlk

**Unlink**

Category: Stack

Loads a7 from the address register, then pops a long from the stack into that register.

Used in: [bsr, rts, link and unlk](https://asm-editor.specy.app/learn/courses/m68k/think-in-assembly/bsr-rts-link-and-unlk.md) (M68K assembly), [Stack arguments and a stack frame](https://asm-editor.specy.app/learn/courses/m68k/examples/subroutine-with-stack-arguments.md) (M68K assembly), [Recursion: factorial and Fibonacci](https://asm-editor.specy.app/learn/courses/m68k/examples/factorial-and-fibonacci.md) (M68K assembly)

## Flags

| Flag | Effect |
| --- | --- |
| X | not changed |
| N | not changed |
| Z | not changed |
| V | not changed |
| C | not changed |

## Forms

- `unlk An`

## Operands

- [`An`](https://asm-editor.specy.app/documentation/m68k/addressing-mode/direct.md): An address register, `a0` to `a7`; `sp` is another name for `a7`.

## Example

```m68k
* --- Used with link to tear down a stack frame ---
link a6, #-8
move.l #$1234, -4(a6)
move.l #$5678, -8(a6)
unlk a6 ; sp = a6, a6 = (sp)+
```
