8086の機械語

XOR命令(r xor imm)

レジスタに対する即値とのXOR命令です。 0: 34 7f xor $0x7f,%al 2: 66 35 ff 7f xor $0x7fff,%ax 6: 35 ff ff ff 7f xor $0x7fffffff,%eax b: 80 f3 7f xor $0x7f,%bl e: 80 f1 7f xor $0x7f,%cl 11: 80 f2 7f xor $0x7f,%dl 14: 66 81 f3 ff 7f xor $0x7ff…

ADD命令(imm+r→r)

ADD命令の即値→レジスタ間転送の逆アセンブル結果です。 0: 04 7f add $0x7f,%al 2: 80 c3 7f add $0x7f,%bl 5: 80 c1 7f add $0x7f,%cl 8: 80 c2 7f add $0x7f,%dl b: 66 05 ff 7f add $0x7fff,%ax f: 66 81 c3 ff 7f add $0x7fff,%bx 14: 66 81 c1 ff 7f a…

MOV命令(imm→r)

MOV命令(即値→レジスタの転送)の、アセンブリコードとニーモニックの対応です。 ニーモニック アセンブリ b0 7f mov $0x7f,%al b3 7f mov $0x7f,%bl b1 7f mov $0x7f,%cl b2 7f mov $0x7f,%dl b8 ff ff ff 7f mov $0x7fffffff,%eax bb ff ff ff 7f mov $0x…

機械語の解読

8086の機械語を読んでみます。私にも、「アセンブリ命令と16進のオペコードは、1対1で対応している。アセンブリコード→機械語の翻訳って、手間だけの問題じゃん!」と思っていた時期がありました。でも、逆アセンブルの結果を見ると、同じmov命令なのに、ど…