我想将原始机器码字节以0和1的形式写入文本文件,并通过BIOS执行它。然而,我有些问题不理解寻址、乘法、偏移量、操作数和指令在组合排列中的工作方式,例如MOV AL,07和MOV BL,AL之间的区别。在汇编语言中这是有意义的,但在机器码中变得非常难以理解参数的概念。因此,我想知道的是:如何更好地理解这个问题?我没有找到准确解释/描述指令中0和1的组合相关性或数据传递、MMIO、寻址模式、算术等之间联系的教程。这个网站http://ref.x86asm.net/coder32.html#x00尝试了解释,但我不理解。
举个例子:如果我想将数字5移入AL寄存器中,我需要在机器码的前缀中指定二进制字面量'5'吗?还是每个指令都有一个固定的二进制代码,无论值为多少都一样?我想知道的是如何理解机器码的编写方式。