The steps should be the same for nearly every new firmware, but to be sure check the Release Notes.
ciscoasa(config)# copy tftp: flash: Address or name of remote host []? 192.168.1.12 Source filename []? asa804-k8.bin Destination filename [asa804-k8.bin]? Accessing tftp://192.168.1.12/asa804-k8.bin... !!!!![...]!!!!! Writing file disk0:/asa804-k8.bin... !!!!![...]!!!!! 14137344 bytes copied in 180.150 secs (78540 bytes/sec)
ciscoasa(config)# copy tftp: flash: Address or name of remote host [192.168.1.12]? Source filename [asa804-k8.bin]? asdm-613.bin Destination filename [asdm-613.bin]? Accessing tftp://192.168.1.12/asdm-613.bin... !!!!![...]!!!!! Writing file disk0:/asdm-613.bin... !!!!![...]!!!!! 7562988 bytes copied in 96.390 secs (78781 bytes/sec)
ciscoasa(config)# show flash: Initializing disk0: cache, please wait....Done. -#- --length-- -----date/time------ path - 8386560 Jan 01 2003 00:07:24 asa723-k8.bin - 4181246 Jan 01 2003 00:08:28 securedesktop-asa-3.2.1.103-k9.pkg - 398305 Jan 01 2003 00:08:44 sslclient-win-1.1.0.154.pkg - 0 May 13 2008 16:28:36 crypto_archive - 6287244 May 13 2008 16:31:42 asdm-523.bin - 14137344 Sep 03 2008 03:31:10 asa804-k8.bin - 7562988 Sep 03 2008 03:35:38 asdm-613.bin - bytes available (41033728 bytes used)
ciscoasa(config)# show running-config | grep asa ciscoasa(config)# show running-config | grep asd asdm image disk0:/asdm-523.bin ciscoasa(config)# no asdm image disk0:/asdm-523.bin ciscoasa(config)# asdm image disk0:/asdm-613.bin ciscoasa(config)# delete flash:/asdm-523.bin Delete filename [asdm-523.bin]? Delete disk0:/asdm-523.bin? [confirm] ciscoasa(config)# delete flash:/asa723-k8.bin Delete filename [asa723-k8.bin]? Delete disk0:/asa723-k8.bin? [confirm] ciscoasa(config)# reload System config has been modified. Save? [Y]es/[N]o: [...] Loading /asa804-k8.bin... Booting... [...]