A semiconductor integrated circuit device includes a data circuit and a group of bit line application voltage terminals to which different voltages are applied. The data circuit holds program data to be programmed into a memory cell and changes the data held according to a verify result from the memory cell. Then, the data circuit selects one of the bit line application voltage terminals based on the data held therein and applies voltage of the selected bit line application voltage terminal to a bit line BLe or BLo.