calculating port address from base address in 8255
Typically your base address will be a multiple of the number of addresses uses by your device (in your case 4).
Although it is possible to finangle a way to have the base at any address, this would be uncommon and require extra address decoding logic instead of just connecting the lower 2 bits of your address bus directly to the 8255.

So what this means is that your base address should have its lower 2 bits as 0's leading to, in your case FFF8h.
With a Base address of FFF8h:
 - PortA will be at FFF8h
 - PortB will be at FFF9h
 - PortC will be at FFFAh
 - Control will be at FFFBh  

If you do decide to implement the extra logic to get a base address of FFF9h, then this is going to be PortA's address, with B, C &amp; Control following form there (assuming you don't do anything else 'interesting' with the address lines).