请教汇编语言中对硬件端口操作的原理是什么

请问汇编语言中对硬件端口操作的原理是什么?
请问汇编中说的对端口操作,比如要写硬盘,就要知道硬盘的端口,那个端口是什么意思呢,它是怎样形成的呢.

------解决方案--------------------
和内存地址类似,可以看作另一维空间,称为IO空间

实际上很多其他cpu中内存空间和IO空间是统一编址的,也使用同样一套指令来访问