Yes, /MCLR is pulled high. I'm using a LABX-3 development board, designed for 18 pin PICs.

I'm certain that the problem is in the program, not the hardware. As I said earlier, the same program works on a 16F84A. Programming the 16F88 with a pre-made .hex file from another project works as well, but I can't see why my code won't work.

I've turned off the analog peripherals, ANSEL = 0, CMCON = 7, and I'm feeding the clock input pins with a 4MHz crystal plus 2x 22pF caps. If I set the oscillator type to be HS I can see the 4MHz oscillation on my scope. The chip is working, so why isn't my program?

I'm not an expert on the 16F88, far from it, so is there something I'm forgetting?

If I set the oscillator to HS, do I need to tell the PIC what speed the clock is? That would be OSCCON = $60, right? I've tried that and nothing seems to work.

Is there something wrong with how I'm setting up the port? I've tried setting it with TRISB as well, and that doesn't make my LED blink either. This is the absolute simplest program I can think of to test my setup and it's very frustrating that it works great on an '84A and not on an '88. Exact same code is working on the hardware with an '84A, so I think the hardware is OK. What's wrong with my code?