上一页 1 ··· 15 16 17 18 19 20 21 22 23 ··· 164 下一页
摘要: 下面是包含全部段的源程序结构: 堆栈段 由于Win 32汇编不必考虑堆栈, 系统会为程序分配一个向下扩展的、足够大的段作为堆栈段, 所以.stack段定义常常被忽略 在程序中不必定义堆栈段,系统会自动分配堆栈空间。惟一值得一提的是,堆栈段的内存属性是可读写并且是可执行的,这样靠动态修改代码的反跟踪模 阅读全文
posted @ 2023-11-24 07:23 天子骄龙 阅读(74) 评论(0) 推荐(0)
摘要: Irvine32库 VS2019添加Irvine32链接库 Irvine32库下载: 链接:https://pan.baidu.com/s/1WSPnB2iFSLf3CcAPebVdKA 提取码:6666 Irvine32 链接库提供了很多简单的输入输岀接口,因此有必要添加Irvine32链接库,方 阅读全文
posted @ 2023-11-23 09:58 天子骄龙 阅读(518) 评论(0) 推荐(0)
摘要: PUSHAD指令按照EAX、ECX、EDX、EBX、ESP(执行PUSHAD之前的值) 、EBP、ESI及EDI的顺序, 将所有32位通用寄存器压入堆栈。 POPAD指令按照相反的顺序将同样的寄存器弹出堆栈 阅读全文
posted @ 2023-11-22 08:57 天子骄龙 阅读(219) 评论(0) 推荐(0)
摘要: PUSHA指令按顺序(A X、CX、DX、BX、SP、BP、SI 及DI) 将16位通用寄存器压入堆栈。 POPA指令按照相反的顺序将同样的寄存器弹出堆栈。 阅读全文
posted @ 2023-11-22 08:51 天子骄龙 阅读(250) 评论(0) 推荐(0)
摘要: 32位汇编 执行动作分为两步: 第一步:改变栈地址 如果操作数是16位, 则ESP减2; 如果操作数是32位, 则ESP减4 esp=esp-2或esp=esp-4 第二步:写入数据 PUSH指令有3种格式: 实例:把字符串顺序倒转 .386 .model flat,stdcall .stack 4 阅读全文
posted @ 2023-11-21 19:31 天子骄龙 阅读(300) 评论(0) 推荐(0)
摘要: JMP指令无条件跳转到目的地址, 该地址用代码标号来标识, 并被汇编器转换为偏移量。语法如下所示: 阅读全文
posted @ 2023-11-19 19:46 天子骄龙 阅读(36) 评论(0) 推荐(0)
摘要: LABEL伪指令可以插入一个标号, 并定义它的大小属性, 但不为这个标号分配存储空间。 LABEL可以使用所有的标准大小属性, 如BYTE、WORD、DWORD、QWORD或T BYTE。 LABEL通常的用法是, 为在数据段中定义的下一个变量提供另一个名称和大小属性 .386 .model fla 阅读全文
posted @ 2023-11-17 10:30 天子骄龙 阅读(121) 评论(0) 推荐(0)
摘要: SIZEOF操作符的返回值等于LENGTHOF与TYPE的返回值的乘积 .386 .model flat,stdcall .stack 4096 ExitProcess PROTO,dwExitCode:DWORD .data intArray WORD 32 DUP(0) .code main P 阅读全文
posted @ 2023-11-17 09:04 天子骄龙 阅读(64) 评论(0) 推荐(0)
摘要: LENGTH OF操作符计算数组中元素的个数 .386 .model flat,stdcall .stack 4096 ExitProcess PROTO,dwExitCode:DWORD .data byte1 BYTE 10,20,30 arrayl WORD 30 DUP(?) ,0,0 ar 阅读全文
posted @ 2023-11-17 07:25 天子骄龙 阅读(127) 评论(0) 推荐(0)
摘要: TYPE操作符返回变量的单个元素的大小, 以字节为单位计算。例如,TYPE对字节操作得1,对字操作得2,对双字操作得4,对四字操作得8。 .386 .model flat,stdcall option casemap:none .data var1 BYTE ? var2 WORD ? var3 D 阅读全文
posted @ 2023-11-17 05:12 天子骄龙 阅读(72) 评论(0) 推荐(0)
上一页 1 ··· 15 16 17 18 19 20 21 22 23 ··· 164 下一页