x64汇编数组基本操作

x64汇编数组基本操作
1)堆栈介绍
咱们还是和x86一样哦,看下x64下的数组操作,比如常见的字符串长度,字符串复制操作等,使用前面学的知识如堆栈或寄存器来完成这两个小案例。
字符串长度计算:通过遍历字符串,检查每个字符直到遇到null字符0x00,在x64中,这依然是通过循环和寄存器对比来实现的。
字符串复制:通过寄存器如rsi和rdi逐个字节地复制数组内容。复制一个数组时,源数组地址存储在rsi,目标数组地址存储在rdi,然后通过移动数据到目标位置就可以了哦。

2)案例
 

x64汇编数组基本操作
1)堆栈介绍
咱们还是和x86一样哦,看下x64下的数组操作,比如常见的字符串长度,字符串复制操作等,使用前面学的知识如堆栈或寄存器来完成这两个小案例。
字符串长度计算:通过遍历字符串,检查每个字符直到遇到null字符0x00,在x64中,这依然是通过循环和寄存器对比来实现的。
字符串复制:通过寄存器如rsi和rdi逐个字节地复制数组内容。复制一个数组时,源数组地址存储在rsi,目标数组地址存储在rdi,然后通过移动数据到目标位置就可以了哦。

2)案例
 

;Project mouse right -> Build Dependencies -> Build Customizations
;Project mouse file.asm -> propertis -> item type -> Microsoft Macro Assembler
;Only rely on VS2022 built-in tools, no need for external MASM32 library

; Link required libraries for x64 Windows resolve external symbols
includelib ucrt.lib                      ; Universal C Runtime Library contains printf implementation
includelib legacy_stdio_definitions.lib  ; Provides legacy stdio function symbols printf compatibility
includelib kernel32.lib       &n

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值