汇编
文章平均质量分 57
hacker&cracker
这个作者很懒,什么都没留下…
展开
-
移位和循环移位指令 shl, shr sal, sar, sol, sor, scl, scr, shld, shrd
移位和循环移位指令shl, shr sal, sar, sol, sor, scl, scr, shld, shrd逻辑移位和算术移位shlshl reg/mem, imm8/clmov bl, 8fhshl bl, 1 ; bl = 00011110b cf = 1mov al, 10000000bshl al, 2 ; cf = 0, al = 00000000b当一...原创 2020-05-07 18:20:18 · 2620 阅读 · 0 评论 -
汇编 控制流伪指令 .break .continue .else .elseif .endif .endw .if .repeat .until .untilcxz .while
条件控制流伪指令.break.continue.else.elseif.endif.endw.if.repeat.until.untilcxz.while条件控制流语法如下:.if condition1 statements[.elseif condition2 statements][.else statements].endif.dataval1...原创 2020-05-05 23:54:09 · 757 阅读 · 0 评论 -
汇编 and or xor not test cmp 条件跳转指令 jcc
布尔和比较指令andand destination, sourceand reg, reg/mem/immand mem, reg/immmov al, 10101110band al, 11110110b.dataarray byte 50 dup(?).codemov ecx, lengthof arraymov esi, offset arrayL1: and...原创 2020-05-04 00:08:11 · 732 阅读 · 0 评论 -
Irvine64链接库过程的使用说明 Microsoft x64 调用规范 添加Irvine64.obj 64位链接库错误及解决方法
Irvine64链接库Crlf 向控制台写一个行结束的序列Random64 在0到264−12^64-1264−1内,生成一个64位的伪随机整数。用rax返回值Randomize 随机种子ReadInt64 从键盘读取一个64位有符号整数,用回车符结束。用rax返回ReadString 从键盘读取一个字符串,用回车符结束。用rdx传递输入缓冲区偏移量;rcx传递最大字符数+1。用rax返...原创 2020-05-02 17:16:33 · 516 阅读 · 0 评论 -
汇编 Irvine32链接库中一些过程函数的使用说明
Irvine32链接库过程的使用说明CloseFile 关闭文件mov eax, fileHandlecall CloseFileClrscr 清屏call WaitMsgcall ClrscrCreateOutputFile 打开文件进行写.datafilename byte "newfile.txt", 0.codemov edx, offset filenamec...原创 2020-04-30 22:50:52 · 2159 阅读 · 0 评论 -
汇编 过程 创建并测试 proc endp call ret uses
过程堆栈操作LIFO运行时堆栈入栈操作高地址向低地址出栈操作低地址高低地址堆栈作用临时保存寄存器, 被修改后可恢复执行call时,保存返回地址参数压入堆栈进行传递临时存储局部变量push, poppush减少esp的值,将源操作数复制到堆栈push reg/mem16push reg/mem32push imm32pop...原创 2020-04-29 15:21:19 · 313 阅读 · 0 评论 -
64位汇编下指令的一些说明 mov movsxd add sub inc dec 指针
; 64位汇编下指令的一些说明mov rax, 0ABCDEF0AFFFFFFFFhmov rax, 0FFFFFFFFh ; rax = 00000000ffffffffhMOV RAX, 06666h ; 16-63清位mov rax, 055h ; 8-63清位.datamyDword dword 800000000h.codemov rax, 0fffffffffffff...原创 2020-04-28 22:27:37 · 3106 阅读 · 0 评论 -
与数据相关的运算符和伪指令 offset align ptr type lengthof sizeof label 间接寻址 间接操作数 数组 变址操作数 指针 jmp, loop
与数据相关的运算符和伪指令offset数据标号的偏移量,按字节计算,表示数据标号到数据段开始的距离.databVal byte ?wVal word ?dVal dword ?dVal2 dword ?.codemov esi, offset bVal ; esi = 00404000hmov esi, offset wVal ; esi = 00404001hmov ...原创 2020-04-28 16:54:35 · 309 阅读 · 0 评论 -
汇编 加法减法指令 inc dec add sub neg 标志寄存器测试
加法和减法inc 和 decinc reg/memdec reg/mem.datamyWord word 1000h.codeinc myWordmov bx, myWorddec bx; 不影响进位标志addadd dest, source.datavar1 dword 10000hvar2 dword 20000h.codemov eax, val1add...原创 2020-04-26 00:38:01 · 824 阅读 · 0 评论 -
汇编指令 MOV MOVZX MOVSX XCHG LAHF SAHF
操作数类型立即数寄存器操作数内存操作数操作数说明reg8AH, AL, BH, BL, CH, CL, DH,DLreg16AX, BX, CX, DX, SI, DI, SP, BPreg32EAX, EBX, ECX, EDX, ESI, EDI, ESP, EBPreg通用寄存器sregCS, DS, SS, ES, FS, ...原创 2020-04-25 00:03:00 · 1513 阅读 · 0 评论 -
visual studio 64位汇编 listing列表文件
编写64位汇编与32位汇编步骤一样,但要增加一步右键项目找到属性弹出窗口,如下图所示在visual studio中生成列表文件右键项目找到属性弹出窗口,如下图所示...原创 2020-04-23 23:15:33 · 366 阅读 · 0 评论 -
汇编 整数变量 浮点数变量 符号常量
数据定义语句[name] directive initializer [, initializer]类型用法BYTE8位无符号整数,B代表字节SBYTE8位有符号整数,S代表字节WORD16位无符号整数SWORD16位有符号整数DWORD32位无符号整数,D代表双(字)SDWORD32位有符号整数,SD代表有符号双(字)FWO...原创 2020-04-23 17:17:46 · 864 阅读 · 0 评论 -
汇编 整数常量 实数常量 字符常量 字符串常量 保留字 标识符 伪指令 指令 nop指令
整数常量[{ + | - }] digits { radix }符号含义h十六进制q/o八进制d十进制b二进制r编码实数t十进制(备用)y二进制(备用)24 ; 十进制23d ; 十进制11000011b ; 二进制32q ; 八进制32o ; 八进制1Ah ; 十六进制0A3h ; 十六进制; 以字母开...原创 2020-04-22 22:23:14 · 678 阅读 · 0 评论 -
汇编 头文件 依赖库文件
Irvine文件夹内容如下添加头文件和依赖库链接依赖库原创 2020-04-22 01:27:56 · 637 阅读 · 0 评论 -
visual studio 汇编 创建 项目
第一步:创建新项目第二步:创建空项目第三步:项目的配置第四步:生成依赖右键项目名,依次点击图示位置第五步:勾选依赖项第六步:添加文件右键源文件夹名,依次点击图示位置第七步:文件的配置第八步:添加插件,语法高亮依次点击图示位置第九步:安装插件至此可以编写汇编程序了...原创 2020-04-21 22:54:16 · 618 阅读 · 0 评论