#define porta (*(int *)0x05)

ポインタの基本はある程度理解しましたが、上の意味というか書式の組み合わせがよくわからないっす。
PIC16F84マイコン用のプログラムで、I/Oポートaのレジスタ(アドレス0x05)にアクセスするのですが・・・。
なんでこれでアクセスできるようになるのかよくわからないです。

(*(int *)0x05)
↑ここに"(int *)"があるのがよくわかんないです。で、入れたことにより"* 0x05"がどういう役割を持つのかと。

とりあえず、すでに質問している自分が何言ってるのかすらよくわかりません _| ̄|○

サルな私にも理解できるように、優しく、かつ美しく、そして華やかに教えてください。
お願いしますm(__)m