gpt4 book ai didi

组装 - 输出应该是什么

转载 作者:行者123 更新时间:2023-12-02 21:58:02 28 4
gpt4 key购买 nike

在组装方面,我绝对是个初学者。我尝试找出以下内容的输出应该是什么:

Jan dd 255,256
Feb dw 16, 17, 18, 19
Mar db 8, 9, 10, 11

Sub edi, Mar - Feb
mov ebx, Jan[edi]
add bl, Mar

因此,Sub edi, Mar - Feb 将从 MarFeb 数组中减去第一个元素,给出值 -8 at edi...但是接下来什么会被移动到 Jan[edi]Mar 将添加哪些内容?

你能给我这个练习的答案并附上解释吗?请原谅我缺乏基本的组装知识。

最佳答案

Sub edi, Mar - Feb will subtract first elements from Mar and Feb arrays

它不能那样做。不允许汇编器在汇编时计算它(内存中的内容是可变的,因此结果会有所不同),并且没有可以“双减”的指令。它实际上做了什么

  1. 作为汇编时间,计算地址 Mar(这是一个地址,它不是一堆数字,只是它们开始的位置)和地址二月。中间有 4 个字,总共大小 8,因此汇编器将发出 sub edi, 8 的机器代码。
  2. 在运行时,将从 edi 中减去 8。

edi 中有什么?好吧谁知道呢。但现在少了8个。 mov ebx, Jan[edi] 顺便说一下 mov ebx, [edi + Jan],所以希望 edi 是明智的,0 或 4是最有意义的。

关于组装 - 输出应该是什么,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/34187966/

28 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com