Hey Butch - wait till you get started with the assembly stuff - Arrggh!

Give this a try - it compiled for the '629, but I didn't program a chip to try it ...
;
@ DEVICE pic12F629, INTRC_OSC_NOCLKOUT ; System Clock Options
@ DEVICE pic12F629, WDT_ON ; Watchdog Timer
@ DEVICE pic12F629, PWRT_ON ; Power-On Timer
@ DEVICE pic12F629, MCLR_OFF ; Master Clear Options (Internal)
@ DEVICE pic12F629, BOD_OFF ; Brown-Out Detect
@ DEVICE pic12F629, CPD_ON ; Data Memory Code Protect
@ DEVICE pic12F629, PROTECT_OFF
;
; Set Variables and aliases as needed.
; SENSOR (button) input on GPIO.2 - PULL PIN LOW to trigger
POW VAR GPIO.3
SHT VAR GPIO.4
;
; Set External interrupt (GPIO.2) with falling edge trigger...
OPTION_REG = %00001000 ; Enable pullups, falling edge trigger on GP.2, etc
CMCON = %00000111 ; Comparators OFF
INTCON = %10000000 ; Set GIE - clear interrupt enable bit and flags.
; The 'ANSEL' register should probably be set too -
; but I can't figure what to call it for the '629
; ANSEL = %00000000 ; Other Analog stuff OFF
;
; Using the 'LOW' or 'HIGH' command sets the pins to outputs
LOW POW : LOW SHT ; Set In/Out states.
;
GOTO BASE ; Skip past interrupt handler
;
; Interrrupt handler (maybe move shutter control elsewhere).
MYINT:
INTCON = %10000000 ; clear interrupt enable bit and flags
; Camera Shutter & Power control
HIGH sht : PAUSE 100 : HIGH pow : PAUSE 2000
LOW POW : PAUSE 4000 : LOW SHT : PAUSE 6000
HIGH POW : PAUSE 1000 : LOW POW
RESUME BASE ; resume at BASE section
;
; Whatever code needed added in here
;
BASE:
; Might blink an LED here just to know code started.
INTCON = %10010000 ; Set/re-set interrupt enable bit - clear flags
;
ON INTERRUPT GOTO MYINT
;
LOOP: ; Loop here until interrupted in low power SLEEP state
SLEEP 10
;
; Might blink an LED here to know loop is working.
;
; Do any 'housekeeping' here.
;
GOTO LOOP
;
END