学习汇编 - 我是否正确计算了这个短汇编代码的输出?

时间:2016-09-13 08:58:57

标签: assembly x86

给定一个程序集x86代码.. x是一个内存地址。值3包含在此地址的开头。 sal将寄存器n位中的二进制数转移到左侧。

mov ax, [x]
sal ax, 3
add ax, [x]
sal ax, 1
mov [z], ax

首先我们move [x]包括3ax

第二行,我们将axshift中的内容放在3左侧。二进制文件中的3011,因此我们得到的011000为十进制24

第三行我们add [x]ax的内容,24 + 3 = 27

第四行:二进制文件中的27011011shift1,我们011011054axz十进制。

最后一行我们采用[z] = 54中的内容并将其保存/存入内存preschoolStart = (Sheets("Rotas").Columns(3).Find(What:="School starters", LookAt:=xlWhole, SearchDirection:=xlNext, MatchCase:=False).Row) + 1

最后staffStart = (Columns(3).Find(What:="Staff", LookAt:=xlWhole, SearchDirection:=xlNext, MatchCase:=False).Row) + 1

这是旧考试的任务。我希望我做得对吗?我特别不确定我是否正确地进行了换班。非常感谢!

0 个答案:

没有答案