为纹身编写汇编代码

问题描述 投票:0回答:2

我请求帮助为简单的“程序纹身”编写 32 位汇编代码。

我想要纹身。经过深思熟虑,我决定要一个使用汇编代码并与我的女儿 Alisha 打交道的纹身。我的想法是提出一种“不合逻辑的计算”,一种违反汇编语言定律的计算。我想向像我这样习惯了 1 和 0 的人来说生孩子是多么不合逻辑表示敬意。

我正在考虑使用基于 x86 的 32 位寄存器,例如 EAX、EBX 和 ECX,当然还有一些推送和弹出。

纹身不会有注释(括号中没有任何内容),但会包含开始:符号。

start:
    mov eax, 53656C66h   (ASCII for "Self")
    mov ebx, 57696665h   (ASCII for "Wife")
    add ebx, eax

    push ebx
    push 3F81DBh         (Decimal 4162011 = daughter's birth date)

    pop ecx              (The first pop would give my daughter's birth date)
    pop ecx              (the second pop would NOT give the answer of eax added to ebx,
                          but would rather give my daughter’s nickname)
    ??? ecx

我的想法是更换???使用读取指令,然后显示 ecx 中的值现在是 416c69h(ASCII 表示“Ali”,我女儿的昵称)。我认为这个想法很棒,如果我得到它,我会发布纹身的照片(当然)。

我的想法是最后一次弹出将违反计算机逻辑。从本质上讲,生孩子违背了我们所知道的“逻辑”,所以这是我尝试与出生之美相提并论的尝试。

还有其他想法吗?

assembly nasm
2个回答
5
投票

有点奇怪的是该程序实际上什么也没做。 为什么不编写代码,将您的名字、您妻子的名字以及她出生日期的某种编码等内容组合起来,得到您女儿的名字呢?也许通过一系列具有一些有意义的值的

XOR
指令?


0
投票

您的汇编代码纹身概念具有创意和象征意义。为了达到你想要的效果,你可以替换“???”使用以下代码: 集会 移动 eax, ecx

这会将 ecx 中的值 (4162011) 复制到 eax,这有效地表明 ecx 中的值现在是您女儿 Alisha 的出生日期。正如您所希望的那样,您的想法抓住了违背逻辑的本质和诞生之美。祝你的纹身好运!

© www.soinside.com 2019 - 2024. All rights reserved.