From what I'm reading in this CircuitBread tutorial, the microcontroller PIC10F200 has flash memory of 256 words. PIC10F200 has a constant word unit of 12bits and so the maximum program size I can flash into the memory is 256 words * 12 bits = 3072 bits or 384 bytes. But still, I can't see how the word "word size" or "bytes size" indicate how much I can write into the flash, or how many cycles it takes to run.
Program size: If PIC10F200 has fix 12-bit words size (also the tutorial mentioned each instruction is one word in size). Should I count each assembly operation (or an opcode) as an instruction (i.e. GOTO as one instruction, MOVLW as another instruction)? If I have an assembly program consisted of two MOVLW and one GOTO (assuming labels are not instructions and occupies no flash), then I would have 3 word/instruction * 12 bits = 36bits or 4.5 bytes. But that's not the case and I was wrong. How can I count for myself the quantity of words or instructions I wrote in my assembly other than being just told to by the IDE?
Time to process an instruction: My understanding is that different manufacturers of MCU may have their instructions each takes a varying multiples of word. So if an instruction for a particular MCU's instruction occupies 128bits on flash on a machine of 32bits word size, does that mean it'll take the MCU 4 cycles to complete this specific instruction?
I googled and looked into stackoverflow but am confused with different architectures and abstraction which doesn't help. I want to check my understanding and be able to roughly calculate and time my program and understand why.