Question
ā§§. āĻāύāϏā§āĻā§āϰāĻžāĻāĻļāύ āĻĢāϰāĻŽā§āϝāĻžāĻā§āϰ āĻŽā§āϞ āϧāĻžāϰāĻŖāĻž (Basic Concept of Instruction Format)¶
āϝā§āĻā§āύ⧠āĻāύāϏā§āĻā§āϰāĻžāĻāĻļāύ āĻĢāϰāĻŽā§āϝāĻžāĻā§ (Instruction Format) āϏāĻžāϧāĻžāϰāĻŖāϤ āĻĻā§āĻāĻŋ āĻŽā§āϞāĻŋāĻ āĻ āĻāĻļ āĻĨāĻžāĻā§:
- āĻ
āĻĒāĻā§āĻĄ (Opcode - Operation Code): āĻāĻāĻŋ āύāĻŋāϰā§āĻĻā§āĻļ āĻāϰ⧠āĻāĻŽā§āĻĒāĻŋāĻāĻāĻžāϰ⧠āĻ āĻŋāĻ āĻā§ āĻ
āĻĒāĻžāϰā§āĻļāύ āĻŦāĻž āĻāĻžāĻ āĻāϰāϤ⧠āĻšāĻŦā§ (āϝā§āĻŽāύ: āϝā§āĻ
+, āĻŦāĻŋā§ā§āĻ-, āĻļāĻŋāĻĢāĻ āĻāϤā§āϝāĻžāĻĻāĻŋ)āĨ¤ - āĻ āĻĒāĻžāϰā§āύā§āĻĄ (Operand): āĻāĻāĻŋ āĻšāϞ⧠āϏā§āĻ āĻĄā§āĻāĻž āϝāĻžāϰ āĻāĻĒāϰ āĻāĻžāĻ āĻāϰāĻž āĻšāĻŦā§āĨ¤ āĻ ā§āϝāĻžāĻĄā§āϰā§āϏāĻŋāĻ āĻŽā§āĻĄ (Addressing Mode)-āĻāϰ āϏāĻžāĻšāĻžāϝā§āϝ⧠āĻŽā§āĻŽā§āϰāĻŋ āĻŦāĻž āϰā§āĻāĻŋāϏā§āĻāĻžāϰ āĻĨā§āĻā§ āĻāĻ āĻ āĻĒāĻžāϰā§āύā§āĻĄā§āϰ āĻ āĻŦāϏā§āĻĨāĻžāύ āĻā§āĻāĻā§ āĻŦā§āϰ āĻāϰāĻž āĻšā§āĨ¤
āĻāĻŽā§āĻĒāĻŋāĻāĻāĻžāϰ āĻāϰā§āĻāĻŋāĻā§āĻāĻāĻžāϰ⧠āĻāĻŋāύā§āύ āĻāĻŋāύā§āύ āĻāύāϏā§āĻā§āϰāĻžāĻāĻļāύ āϏā§āĻ āĻĨāĻžāĻāϤ⧠āĻĒāĻžāϰā§, āϝā§āĻŽāύ: ā§Ļ-āĻ ā§āϝāĻžāĻĄā§āϰā§āϏ, ā§§-āĻ ā§āϝāĻžāĻĄā§āϰā§āϏ, ⧍-āĻ ā§āϝāĻžāĻĄā§āϰā§āϏ āĻāĻŦāĻ ā§Š-āĻ ā§āϝāĻžāĻĄā§āϰā§āϏ āĻāύāϏā§āĻā§āϰāĻžāĻāĻļāύāĨ¤ āĻāĻ āύāĻŋāϰā§āĻĻāĻŋāώā§āĻ āĻĒā§āϰāĻļā§āύ⧠āĻāĻŽāύ āĻāĻāĻāĻŋ āĻĢāϰāĻŽā§āϝāĻžāĻ āĻāϞā§āĻāύāĻž āĻāϰāĻž āĻšā§ā§āĻā§ āϝā§āĻāĻžāύ⧠āĻāĻāĻžāϧāĻŋāĻ āĻ āĻĒāĻžāϰā§āύā§āĻĄ āϰā§ā§āĻā§āĨ¤
⧍. āĻĒā§āϰāĻļā§āύ āĻāĻŦāĻ āĻĄā§āĻāĻž āĻŦāĻŋāĻļā§āϞā§āώāĻŖ (Question & Given Data Analysis)¶
āĻĒā§āϰāĻļā§āύ: āĻāĻāĻāĻŋ āĻŽā§āĻļāĻŋāύā§āϰ āĻāύāϏā§āĻā§āϰāĻžāĻāĻļāύ āĻĢāϰāĻŽā§āϝāĻžāĻ ā§¨ā§Ē-āĻŦāĻŋāĻ (24-bit)āĨ¤ āĻāĻ āĻŽā§āĻļāĻŋāĻ¨ā§ ā§Šā§¨āĻāĻŋ āϰā§āĻāĻŋāϏā§āĻāĻžāϰ āĻāĻā§ āĻāĻŦāĻ āĻĒā§āϰāϤāĻŋāĻāĻŋ āϰā§āĻāĻŋāϏā§āĻāĻžāϰ ā§Šā§¨-āĻŦāĻŋāĻ āĻĻā§āϰā§āĻāĨ¤ āĻŽā§āĻļāĻŋāύāĻāĻŋ āĻŽā§āĻ ā§Ē⧝āĻāĻŋ āĻāϞāĻžāĻĻāĻž āĻāύāϏā§āĻā§āϰāĻžāĻāĻļāύ āϏāĻžāĻĒā§āϰā§āĻ āĻāϰā§āĨ¤ āĻĒā§āϰāϤāĻŋāĻāĻŋ āĻāύāϏā§āĻā§āϰāĻžāĻāĻļāύ⧠⧍āĻāĻŋ āϰā§āĻāĻŋāϏā§āĻāĻžāϰ āĻ āĻĒāĻžāϰā§āύā§āĻĄ (Register Operands) āĻāĻŦāĻ ā§§āĻāĻŋ āĻāĻŽāĻŋāĻĄāĻŋā§ā§āĻ āĻ āĻĒāĻžāϰā§āύā§āĻĄ (Immediate Operand) āĻĨāĻžāĻā§āĨ¤ āϝāĻĻāĻŋ āĻāĻŽāĻŋāĻĄāĻŋā§ā§āĻ āĻ āĻĒāĻžāϰā§āύā§āĻĄāĻāĻŋāĻā§ āĻāĻāĻāĻŋ āϏāĻžāĻāύāĻĄ āĻāύā§āĻāĻŋāĻāĻžāϰ (Signed Integer - āĻāĻŋāĻšā§āύāϝā§āĻā§āϤ āĻĒā§āϰā§āĻŖāϏāĻāĻā§āϝāĻž) āĻšāĻŋāϏā§āĻŦā§ āϧāϰāĻž āĻšā§, āϤāĻŦā§ āĻāϰ āϏāϰā§āĻŦāύāĻŋāĻŽā§āύ āĻŽāĻžāύ (Minimum Value) āĻāϤ āĻšāϤ⧠āĻĒāĻžāϰā§?
āĻĻā§āĻā§āĻž āĻāĻā§ (Given Data):
- āĻā§āĻāĻžāϞ āĻāύāϏā§āĻā§āϰāĻžāĻāĻļāύā§āϰ āϏāĻžāĻāĻ = \(⧍ā§Ē\text{ āĻŦāĻŋāĻ}\)
- āĻŽā§āĻ āĻāύāϏā§āĻā§āϰāĻžāĻāĻļāύā§āϰ āϏāĻāĻā§āϝāĻž = \(ā§Ē⧝\)
- āĻŽā§āĻ āϰā§āĻāĻŋāϏā§āĻāĻžāϰā§āϰ āϏāĻāĻā§āϝāĻž = \(ā§Šā§¨\) (āĻĒā§āϰāϤāĻŋāĻāĻŋ ā§Šā§¨-āĻŦāĻŋāĻ āϞāĻŽā§āĻŦāĻž, āϤāĻŦā§ āĻĢāϰāĻŽā§āϝāĻžāĻā§ āϰā§āĻāĻŋāϏā§āĻāĻžāϰ āĻāĻāĻĄā§āύā§āĻāĻŋāĻĢāĻžāĻ āĻŦāĻž āĻā§āύāĻžāϰ āĻāύā§āϝ āĻāϤ āĻŦāĻŋāĻ āϞāĻžāĻāĻŦā§ āϏā§āĻāĻžāĻ āĻāĻŽāĻžāĻĻā§āϰ āĻŽā§āϞ āĻŦāĻŋāĻŦā§āĻā§āϝ)
- āĻĢāϰāĻŽā§āϝāĻžāĻā§āϰ āĻāĻ āύ:
[Opcode] [Register 1] [Register 2] [Immediate Operand]
ā§Š. āϧāĻžāĻĒā§ āϧāĻžāĻĒā§ āĻāĻžāĻŖāĻŋāϤāĻŋāĻ āϏāĻŽāĻžāϧāĻžāύ (Step-by-Step Mathematical Solution)¶
āϧāĻžāĻĒ-ā§§: āĻ āĻĒāĻā§āĻĄā§āϰ āĻāύā§āϝ āĻĒā§āϰā§ā§āĻāύā§ā§ āĻŦāĻŋāĻ āύāĻŋāϰā§āϧāĻžāϰāĻŖ (Bits for Opcode)¶
āĻŽā§āĻļāĻŋāύāĻāĻŋāĻā§ āĻŽā§āĻ ā§Ē⧝āĻāĻŋ āĻāϞāĻžāĻĻāĻž āĻāύāϏā§āĻā§āϰāĻžāĻāĻļāύ āϏāĻžāĻĒā§āϰā§āĻ āĻāϰāϤ⧠āĻšāĻŦā§āĨ¤ āĻŦāĻŋāĻ āϏāĻāĻā§āϝāĻž āϏāĻŦāϏāĻŽā§ ā§¨-āĻāϰ āĻĒāĻžāĻā§āĻžāϰ āĻŦāĻž āĻāĻžāϤ (\(⧍^n\)) āĻšāĻŋāϏā§āĻŦā§ āĻšāĻŋāϏāĻžāĻŦ āĻāϰāĻž āĻšā§āĨ¤
- āϝāĻĻāĻŋ āĻāĻŽāϰāĻž ā§ĢāĻāĻŋ āĻŦāĻŋāĻ āύāĻŋāĻ: \(⧍^ā§Ģ = ā§Šā§¨\), āϝāĻž ā§Ē⧝āĻāĻŋ āĻāύāϏā§āĻā§āϰāĻžāĻāĻļāύā§āϰ āĻāύā§āϝ āĻ āĻĒāϰā§āϝāĻžāĻĒā§āϤāĨ¤
- āϝāĻĻāĻŋ āĻāĻŽāϰāĻž ā§ŦāĻāĻŋ āĻŦāĻŋāĻ āύāĻŋāĻ: \(⧍^ā§Ŧ = ā§Ŧā§Ē\), āϝāĻž ā§Ē⧝āĻāĻŋ āĻāύāϏā§āĻā§āϰāĻžāĻāĻļāύāĻā§ āĻ āύāĻžā§āĻžāϏ⧠āĻāĻžā§āĻāĻž āĻĻāĻŋāϤ⧠āĻĒāĻžāϰāĻŦā§ (āĻŦāĻžāĻāĻŋ ā§§ā§ĢāĻāĻŋ āĻŦāĻŋāĻ āĻĒāϰāĻŦāϰā§āϤā§āϤ⧠āĻŦā§āϝāĻŦāĻšāĻžāϰā§āϰ āĻāύā§āϝ āϏāĻāϰāĻā§āώāĻŋāϤ āĻĨāĻžāĻāĻŦā§)āĨ¤
āĻ āϤāĻāĻŦ, āĻ āĻĒāĻā§āĻĄ (Opcode) āĻāϰ āϏāĻžāĻāĻ = \(ā§Ŧ\text{ āĻŦāĻŋāĻ}\)āĨ¤
āϧāĻžāĻĒ-⧍: āϰā§āĻāĻŋāϏā§āĻāĻžāϰ āĻ āĻĒāĻžāϰā§āύā§āĻĄā§āϰ āĻāύā§āϝ āĻĒā§āϰā§ā§āĻāύā§ā§ āĻŦāĻŋāĻ āύāĻŋāϰā§āϧāĻžāϰāĻŖ (Bits for Register Operands)¶
āĻŽā§āĻļāĻŋāύ⧠āĻŽā§āĻ ā§Šā§¨āĻāĻŋ āϰā§āĻāĻŋāϏā§āĻāĻžāϰ āϰā§ā§āĻā§ (āϝāĻžāϰ āύāĻŽā§āĻŦāϰ \(ā§Ļ\) āĻĨā§āĻā§ \(ā§Šā§§\) āĻĒāϰā§āϝāύā§āϤ)āĨ¤
- ā§Šā§¨āĻāĻŋ āĻāϞāĻžāĻĻāĻž āϰā§āĻāĻŋāϏā§āĻāĻžāϰāĻā§ āĻāĻāύāĻŋāĻāĻāĻžāĻŦā§ (Uniquely) āύāĻŋāϰā§āĻĻā§āĻļ āĻāϰāĻžāϰ āĻāύā§āϝ āĻāĻŽāĻžāĻĻā§āϰ \(⧍^ā§Ģ = ā§Šā§¨\), āĻ āϰā§āĻĨāĻžā§ ā§ĢāĻāĻŋ āĻŦāĻŋāĻā§āϰ āĻĒā§āϰā§ā§āĻāύāĨ¤
- āĻĒā§āϰāĻļā§āύ⧠āĻŦāϞāĻž āĻšā§ā§āĻā§ āĻĒā§āϰāϤāĻŋāĻāĻŋ āĻāύāϏā§āĻā§āϰāĻžāĻāĻļāύ⧠⧍āĻāĻŋ āϰā§āĻāĻŋāϏā§āĻāĻžāϰ āĻ āĻĒāĻžāϰā§āύā§āĻĄ āĻĨāĻžāĻā§āĨ¤
- āĻĒā§āϰāĻĨāĻŽ āϰā§āĻāĻŋāϏā§āĻāĻžāϰ āĻ āĻĒāĻžāϰā§āύā§āĻĄ (\(Register_1\)) āĻāϰ āĻāύā§āϝ āϞāĻžāĻāĻŦā§ = \(ā§Ģ\text{ āĻŦāĻŋāĻ}\)
- āĻĻā§āĻŦāĻŋāϤā§ā§ āϰā§āĻāĻŋāϏā§āĻāĻžāϰ āĻ āĻĒāĻžāϰā§āύā§āĻĄ (\(Register_2\)) āĻāϰ āĻāύā§āϝ āϞāĻžāĻāĻŦā§ = \(ā§Ģ\text{ āĻŦāĻŋāĻ}\)
āĻ āϤāĻāĻŦ, āϰā§āĻāĻŋāϏā§āĻāĻžāϰāĻā§āϞā§āϰ āĻāύā§āϝ āĻŽā§āĻ āĻŦā§āϝāĻŦāĻšā§āϤ āĻŦāĻŋāĻ = \(ā§Ģ + ā§Ģ = ā§§ā§Ļ\text{ āĻŦāĻŋāĻ}\)āĨ¤
āϧāĻžāĻĒ-ā§Š: āĻāĻŽāĻŋāĻĄāĻŋā§ā§āĻ āĻ āĻĒāĻžāϰā§āύā§āĻĄā§āϰ āϏāĻžāĻāĻ āĻŦā§āϰ āĻāϰāĻž (Size of Immediate Operand)¶
āϏāĻŽā§āĻĒā§āϰā§āĻŖ āĻāύāϏā§āĻā§āϰāĻžāĻāĻļāύā§āϰ āϏāĻžāĻāĻ ā§¨ā§Ē-āĻŦāĻŋāĻāĨ¤ āĻāĻāύ āĻĒāϰā§āϝāύā§āϤ āĻāĻŽāϰāĻž āĻ āĻĒāĻā§āĻĄ āĻāĻŦāĻ āϰā§āĻāĻŋāϏā§āĻāĻžāϰāĻā§āϞā§āϰ āĻŽā§āĻ āĻŦāĻŋāĻ āĻĒā§ā§ā§ āĻā§āĻāĻŋāĨ¤ āϏā§āϤāϰāĻžāĻ, āĻŦāĻžāĻāĻŋ āĻ āĻāĻļāĻāĻŋāĻ āĻšāĻŦā§ āĻāĻŽāĻŋāĻĄāĻŋā§ā§āĻ āĻ āĻĒāĻžāϰā§āύā§āĻĄā§āϰ āϏāĻžāĻāĻāĨ¤
āĻ āϤāĻāĻŦ, āĻāĻŽāĻŋāĻĄāĻŋā§ā§āĻ āĻ āĻĒāĻžāϰā§āύā§āĻĄā§āϰ āĻāύā§āϝ āĻ āĻŦāĻļāĻŋāώā§āĻ āϏāĻžāĻāĻ = \(ā§Ž\text{ āĻŦāĻŋāĻ}\)āĨ¤
ā§Ē. āϏāĻžāĻāύāĻĄ āĻāύā§āĻāĻŋāĻāĻžāϰā§āϰ āϰā§āĻā§āĻ āĻāĻŦāĻ āĻā§ā§āĻžāύā§āϤ āĻāϤā§āϤāϰ (Signed Integer Range & Final Answer)¶
āĻĒā§āϰāĻļā§āύ⧠āĻāĻāĻāĻŋ āĻ āϤā§āϝāύā§āϤ āĻā§āϰā§āϤā§āĻŦāĻĒā§āϰā§āĻŖ āĻļāϰā§āϤ āĻĻā§āĻā§āĻž āĻāĻā§âāĻāĻŽāĻŋāĻĄāĻŋā§ā§āĻ āĻ āĻĒāĻžāϰā§āύā§āĻĄāĻāĻŋ āĻāĻāĻāĻŋ āϏāĻžāĻāύāĻĄ āĻāύā§āĻāĻŋāĻāĻžāϰ (Signed Integer)āĨ¤ āĻĒā§āϰāϤāĻŋāϝā§āĻāĻŋāϤāĻžāĻŽā§āϞāĻ āĻĒāϰā§āĻā§āώāĻžā§ āϤāĻžā§āĻžāĻšā§ā§ā§ āĻāϰāϤ⧠āĻāĻŋā§ā§ āĻāĻ āĻĒā§ā§āύā§āĻāĻāĻŋ āĻŦāĻžāĻĻ āĻĻāĻŋāϞ⧠āĻāϤā§āϤāϰ āĻā§āϞ āĻšāϤ⧠āĻĒāĻžāϰā§āĨ¤
- āϝāĻĻāĻŋ āĻāĻāĻŋ āĻāύāϏāĻžāĻāύāĻĄ (Unsigned) āĻšāϤā§, āϤāĻŦā§ āĻāϰ āϰā§āĻā§āĻ āĻšāϤ⧠\(ā§Ļ\) āĻĨā§āĻā§ \(⧍ā§Ģā§Ģ\) (\(⧍^ā§Ž = ⧍ā§Ģā§Ŧ\)āĻāĻŋ āĻŽāĻžāύ)āĨ¤
- āϝā§āĻšā§āϤ⧠āĻāĻāĻŋ āϏāĻžāĻāύāĻĄ (Signed), āϤāĻžāĻ ā§Ž-āĻŦāĻŋāĻā§āϰ āĻŽāϧā§āϝ⧠āϏāĻŦāĻā§ā§ā§ āĻŦāĻžāĻŽā§āϰ āĻŦāĻŋāĻāĻāĻŋ (MSB - Most Significant Bit) āϏāĻāĻā§āϝāĻžāϰ āĻāĻŋāĻšā§āύ āĻŦāĻž āϏāĻžāĻāύ (āĻĒā§āϞāĻžāϏ āύāĻžāĻāĻŋ āĻŽāĻžāĻāύāĻžāϏ) āύāĻŋāϰā§āϧāĻžāϰāĻŖā§āϰ āĻāύā§āϝ āϏāĻāϰāĻā§āώāĻŋāϤ āĻĨāĻžāĻāĻŦā§āĨ¤ āĻŦāĻžāĻāĻŋ ā§āĻāĻŋ āĻŦāĻŋāĻ āĻŽāĻžāύ āĻŦāĻž āĻŽā§āϝāĻžāĻāύāĻŋāĻāĻŋāĻāĻĄ āύāĻŋāϰā§āϧāĻžāϰāĻŖ āĻāϰāĻŦā§āĨ¤
ā§Ž-āĻŦāĻŋāĻ āϏāĻžāĻāύāĻĄ āĻāύā§āĻāĻŋāĻāĻžāϰā§āϰ āϰā§āĻā§āĻ (Range for 8-bit Signed Integer):
- āϏāϰā§āĻŦā§āĻā§āĻ āϏāĻŽā§āĻāĻžāĻŦā§āϝ āĻŽāĻžāύ (Maximum Value): \(+⧧⧍ā§\)
- āϏāϰā§āĻŦāύāĻŋāĻŽā§āύ āϏāĻŽā§āĻāĻžāĻŦā§āϝ āĻŽāĻžāύ (Minimum Value): \(-ā§§ā§¨ā§Ž\)
āĻĒā§āϰāĻļā§āύ⧠āĻāĻŽāĻžāĻĻā§āϰ āĻāĻžāĻā§ āϏāϰā§āĻŦāύāĻŋāĻŽā§āύ āĻŽāĻžāύ (Minimum Value) āĻāĻžāύāϤ⧠āĻāĻžāĻā§āĻž āĻšā§ā§āĻā§āĨ¤
āĻ āϤāĻāĻŦ, āϏāĻ āĻŋāĻ āĻāϤā§āϤāϰāĻāĻŋ āĻšāϞ⧠\(-ā§§ā§¨ā§Ž\) (āĻāĻŋāĻĄāĻŋāĻāϰ āĻ āĻĒāĻļāύ āĻ āύā§āϝāĻžā§ā§ āϏāĻ āĻŋāĻ āĻāϤā§āϤāϰāĻāĻŋ B)āĨ¤
