摘要: 一个进程中可以有多个线程,进程Id可作为线程表的外键。为了快速查询一个进程中的线程信息,可以在进程信息中加入线程表的地址。 线程环境块TEB:Thread Environment Block 线程信息块TIB:Thread Information Block TEB结构起始处保存了TIB,TIB的第 阅读全文
posted @ 2020-09-29 07:14 八转达人 阅读(137) 评论(0) 推荐(0) 编辑
摘要: GetThreadContext和SetThreadContext可获取和设置线程上下文,调用前先SuspendThread,完毕后再ResumeThread。 CPU抛出的都是硬件异常,操作系统和软件抛出的异常称为软件异常。 异常过滤程序(exception filter)和异常处理程序(exce 阅读全文
posted @ 2020-09-29 07:13 八转达人 阅读(191) 评论(0) 推荐(0) 编辑
摘要: Call @F ;本条指令后一个@@标号 @@: Pop ebx Sub ebx, offset @B ;本条指令前一个@@标号 Call @F 把Pop ebx一句的地址压栈,然后jmp到Pop ebx一句的地址执行,执行完毕后ebx等于Pop ebx一句所在地址,即运行时的地址。 Sub ebx 阅读全文
posted @ 2020-09-29 07:10 八转达人 阅读(227) 评论(0) 推荐(0) 编辑
摘要: 中断的机制: 在地址0处有中断向量表,表中有多个项,每一项4字节,是中断程序的入口地址(seg:offset)。 Nop指令和xchg ax,ax的机器码一样 封锁前缀指令lock,可放在任何指令前面,效果是封锁总线,使别的控制器无法控制总线,指令执行完后解除封锁,常用于多线程同步,例如InterL 阅读全文
posted @ 2020-09-29 07:08 八转达人 阅读(293) 评论(0) 推荐(0) 编辑
摘要: D:\masm32\include\windows.inc文件中有大部分类型的定义 User32.inc文件中没有CreateWindow,但是有CreateWindowEx 汇编指令Enter相当于push ebp, mov ebp, esp 汇编指令Leave相当于mov esp, ebp, p 阅读全文
posted @ 2020-09-29 07:05 八转达人 阅读(198) 评论(0) 推荐(0) 编辑
摘要: 32位处理器环境的段寄存器:内存描述符表的段选择子 简单的代码: .386 ;使用的指令集 .model flat, stdcall ;内存模型和默认的函数调用约定,后续proc和proto如果没写约定,就用此处默认的 option casemap:none ;大小写敏感 MessageBox eq 阅读全文
posted @ 2020-09-29 07:04 八转达人 阅读(669) 评论(0) 推荐(0) 编辑
摘要: 联合编译: 1. 新建文件mylib.inc, 结构体定义,函数声明等都放在此头文件中,函数声明中加far,例如: BubbleSort proto far C wCount:word, pAryNumber:word 为防止重复包含,可设置头文件保护: ifndef MYLILB_INC MYLI 阅读全文
posted @ 2020-09-29 07:03 八转达人 阅读(284) 评论(0) 推荐(0) 编辑
摘要: 子程序设计时 Push bp Mov bp, sp Sub sp, 2 再push其他需要保存的寄存器,这样可以不受保存要寄存器个数的影响,用bp+4定位到第一个参数,且释放局部变量空间时使用mov sp, bp即可。 宏调用中的参数如果有小于<符号,需要转义,写为!< 代码定式: if(){ .. 阅读全文
posted @ 2020-09-29 07:02 八转达人 阅读(261) 评论(0) 推荐(0) 编辑
摘要: 一. 转移指令:可以修改IP,或同时修改CS和IP的指令,分为 1. 段内转移:只修改IP,jmp的目标代表相对于当前IP的偏移,而不是地址。如 jmp offset8 ;机器码EB XX jmp offset16 ;机器码E9 XXXX jmp ax jmp word ptr[XXXX] 段内转移 阅读全文
posted @ 2020-09-29 07:00 八转达人 阅读(638) 评论(0) 推荐(0) 编辑
摘要: 通常流水线的操作如下: 根据CS:IP取指令 译码 取源操作数(有些指令没有) 执行指令功能 写入结果(有些指令没有) 存储器寻址方式: 直接寻址 :mov ax,[1234] 2. 寄存器间接寻址:mov ax,[bx] 8086 支持的间接寻址寄存器是bx,bp,si,di 3. 寄存器相对寻址 阅读全文
posted @ 2020-09-29 06:59 八转达人 阅读(929) 评论(0) 推荐(0) 编辑
摘要: 1. 移位指令,移出的位保存在CF里 SHL reg/mem, 1/CL ;逻辑左移,右侧补0,移出的位保存在CF里。 SHR reg/mem, 1/CL ;逻辑右移,左侧补0,移出的位保存在CF里。 SAL reg/mem, 1/CL ;算数左移,等同于逻辑左移,机器码也相同 SAR reg/me 阅读全文
posted @ 2020-09-29 06:56 八转达人 阅读(408) 评论(0) 推荐(0) 编辑