1.基本汇编指令 1.传送指令:MOV 格式:MOV OPD,OPS 操作:将OPS的值传送到OPD中 注意事项: 1.OPD不能是CS 2.不允许在两个存储单元之间传送 3.MOV影响所有标志位 4.OPD、OPS的数据类型要一致 5.OPD为CS时,OPS不能为立即数 2.进栈指令:PUSH 格 ...
分类:
编程语言 时间:
2016-04-22 16:15:42
阅读次数:
192
结构体WDNCLASS如下 WNDCLASS struct Style xxxxx WNDCLASS 可以使用 mov ax,[esi+stWndClass.lpfnWndProc] 或 mov esi,offset stWndClass mov ax,[esi+WNDCLASS.lpfnWndPr ...
之前弄完了16位汇编,现在正式学习win32汇编,首先就是一些原理了,其实就是在16位的基础上增加了一些内容,其程序主要的结构记录如下 (1)指令集 .386 这是指定指令集 必须工作在80386的处理器上 mov cr0,eax 这类指令在特权级0上运行,编译到这个就报错 如果要写VxD等驱动程序 ...
OpenProcess-->ntdll!NtOpenProcess-->ntdll!zwOpenProcess-->ntdll!KiFastSystemCall() ↓mov edx, esp ↓sysenter 用户层 ↓ 内核层 nt!KiFastCallEntry() ↙ ↘ nt!zwope ...
分类:
其他好文 时间:
2016-04-19 17:14:49
阅读次数:
159
_start: 1、设置栈空间:防止之前的UBOOT代码被覆盖,应为c中需要栈空间 ldr sp, =0x40010000 2、设置CPSR的I,F位,A8打开IRQ,FIQ中断: mov r0, #0x53 msr CPSR_cxsf, r0 b main --main函数: 1、led灯引脚功能 ...
分类:
其他好文 时间:
2016-04-13 12:54:44
阅读次数:
153
这章讲一些寻址方法,对前面寻址方法的总结把 7.1 and or 2个指令 上栗子 mov al,00001111b and al,11110000b al=00000000b mov al,00001111b or al,11110000b al=11111111b 7.2 ASCII码 之前就写 ...
分类:
编程语言 时间:
2016-04-11 22:30:55
阅读次数:
252
CPU由运算器,控制器,寄存器等器件组成 汇编指令可以操作寄存器中的数据。如mov AX,BX就是把寄存器BX中的值加上寄存器AX中的值,再把结果放在AX上 8086CPU的寄存器的有14个,这里就讲AX,BX,CX,DX,CS,IP这么几个先 2.1通用寄存器 就是指AX,BX,CX,DX 用来存 ...
分类:
编程语言 时间:
2016-04-11 22:22:19
阅读次数:
177
3.1 内存中的字 内存中的字是16位的,以2个内存单元存储 地址大的存高位(字的左边8位),地址小的存低位(字的右边8位) 字单元:存放1个字形数据的内存单元,由2个内存单元组成,共16位 3.2 DS 一个寄存器的名字,用来放数据段的段地址 mov 指令可以把数据转到寄存器,一个寄存器的内容转到 ...
分类:
编程语言 时间:
2016-04-11 22:19:18
阅读次数:
158
mov ax,[0] 把一个内存单元给寄存器ax,内存单元长度2个字节,偏移地址0,段地址ds mov al,[0] 把一个内存单元给寄存器al,内存单元长度1个字节,偏移地址0,段地址ds so:要描述一个内存单元,需要1.ds和偏移地址2.内存单元长度 [bx]也表示一个内存单元,偏移地址在寄存 ...
分类:
编程语言 时间:
2016-04-11 22:17:25
阅读次数:
216
啥叫转移指令 修改IP或同时修改CS和IP的指令 只修改IP叫段内转移 同时修改CS和IP叫段间转移 段内转移又分为短转移和近转移 短转移 IP修改范围-128-127 近转移IP修改范围-32768-32767 基本的就上面的 9.1 offset 操作符 s1:mov bx,offset s1 ...
分类:
编程语言 时间:
2016-04-11 22:04:51
阅读次数:
204