Delphi中的Fast Swap64函数

问题描述我使用以下函数交换(无符号)64位整数值:functionSwap64(I:Int64):Int64;beginInt64Rec(Result).Bytes[0]:=Int64Rec(I).Bytes[7];Int64Rec(Result).Bytes[1]:=Int64

发布:2023-01-03 标签:delphiassemblyswap


使用外壳代码调用x86本地函数

问题描述我想使用将流重定向到本地函数,然后使用外壳代码返回到原始函数。我定义了两个简单的函数,并使用objump来获取它们的汇编代码://unsignedchar*g_code="x55x48x89xe5xb8x2ax00x00x00x5dxc3";intg(){return42

发布:2023-01-03 标签:cassemblycode-injectionshellcode


8086中的堆栈段和堆栈指针

问题描述我对堆栈段(Ss)和堆栈指针(Sp)寄存器有一点困惑。当堆栈为空时,sp值是否等于ss值?我读到,当我们把一个字(2字节)压入堆栈时,sp递减2,如果第一个语句为真(sp=ss),那么我可以说如果堆栈不为空,堆栈指针的值总是小于或等于堆栈段的值这是真的吗??如果我们将一个

发布:2022-10-16 标签:stackassemblyx86-16segment


如何让程序在print tf完成后带着0退出?

问题描述这个小程序只打印在外壳中编写的2个argv。.globalmainmain:ldrr2,[r1,#8]ldrr1,[r1,#4]ldrr0,=message_formatblprintfmovr0,#0message_format:.asciz"argv:%s%s"我希望

发布:2022-10-16 标签:assemblyprintfreturnarm


MIPS,如果大于或等于

问题描述if($t4>=$5)$t8=$t8+1给出该伪代码,我根据各种来源进行了这一尝试。看似简单,但我仍在学习基础知识。不太确定这是否正确。slt$t1,$t5,$t4beq$t0,$zero,endLoopaddi$8,$8,1主引用:Greaterthan,lesstha

发布:2022-10-16 标签:assemblyif-statementmips


如何将闪烁的光标添加到图形视频模式?

问题描述在VGA图形模式中,不会显示光标,但BIOS会跟踪其位置。对于每个可用的显示页面,BIOS将光标的列和行坐标(当然不是X和Y坐标)记录在光标保存区中,16字节从线性地址0450h开始。有趣的事实:BIOS还不必要地更新CRT控制器寄存器光标位置高和光标位置低。从一开始,在

发布:2022-10-16 标签:assemblydosx86-16biosvga


使用FreeDOS是否允许我的程序访问超过64K的内存?

问题描述我对在FreeDOS上用C编程感兴趣,同时在这个过程中学习了一些基本的ASM,使用FreeDOS会允许我的程序访问超过标准640K的内存吗?其次,关于ASM,我知道在现代处理器上,由于CPU体系结构的复杂性,很难在汇编语言上编程,但使用FreeDOS是否会限制我使用可能更

发布:2022-10-16 标签:cassemblydosx86-16memory-limit


在Intel 64体系结构中,CALLF(远呼叫)是否具有64位地址内存操作数?

问题描述在Intel32位体系结构中,我可以使用MODR/M字节使用32位地址位置进行调用。根据英特尔手册,操作码扩展需要/2(010B),MOD需要00B,101B允许32位位移。如果我想在64位体系结构中进行远调用,以便有空间容纳64位地址,我知道我可以/3(011B)用于操

发布:2022-10-16 标签:x86-64assemblyintel64-bit


使用R8寄存器作为循环计数器会导致无限循环-为什么?

问题描述以下代码使用RSI寄存器作为循环计数器,将HelloWorld打印10次。section.datahello:db'Helloworld!',10helloLen:equ$-hellosection.textglobal_start_start:movrsi,0;<---

发布:2022-10-16 标签:linuxx86-64assemblynasmsystem-calls


Syscall在ASM中的引用

问题描述https://www.cs.fsu.edu/~langley/CNT5605/2017-Summer/assembly-example/assembly.html我看到类似下面的例子。但我找不到Syscall的手册。例如,60表示退出,1表示写入。是否有针对所有系统调用

发布:2022-10-16 标签:linuxx86-64assemblysystem-calls