一个关于汇编语言的问题,很简单,帮我看看,解释一下吧

2024-12-18 20:05:44
推荐回答(2个)
回答1:

是这样的,就是CPU在执行指令的时候,取过来的东西是B8 02 01
,而不是mov -->ax,cpu是不懂得这个东西的,而是我们给CPU规定的,比如mov-->bx,我们假如编成B9,不管编成什么,对于每一个指令,我们总要编编一个指令代码给他。
这样的话,cpu才知道要干什么。比如B8 0311,这样就知道是把1103(intel CPU是高端对齐的)这个数放到ax寄存器里面。
B9 0311是把1103这个数放到bx寄存器里面(这个是我假设的)
mov ax这样是汇编指令,B8 02 01才是真正的机器执行的时候的代码。

回答2:

MOV AX,0102H 是汇编指令,计算机是无法直接执行的,汇编指令必须通过汇编程序(如MASM)将它编译成指令码,CPU 才能执行。 B8 是MOV AX,??的指令码,程序员不需要知道“怎么知道是B8”,因为那是汇编程序的事。