Hi
Before reading and writing ports, the ports need to be powered up.
The following is the low level operation on port A (for example).
Power up port a:
Set bit 0x00000200 in register SIM_SCGC5 at address 0x40048038
To configure a port as port output you need to do (example bit 0):
Set PORTA_GPCLR (address 0x40049080) to 0x00010144 [high drive strength and fastest slew rate]
Set GPIOA_PDDR (address 0x400ff014) to 0x00000001 ('1' to is to set output direction)
To write a value to the output
set the appropriate bit in GPIOA_PDOR (address 0x400ff000) to 0x00000001 or 0x00000000 ['1' and '0'].
Reading is similar....
There may be some useful general developer's information here: http://www.utasker.com/docs/KINETIS/uTaskerV1.4_Kinetis_demo.pdf (see the appendix).
However most examples are in C.
In fact I don't know of any assembler programmers for this chip and generally I thought that it died out in the 70's or 80's (although I know that there are lots of complaints from the die-hards when one mentions this...;-)
Regards
Mark