0040100F|. 83C404ADD ESP,400401012|. C745 FC04000>MOV DWORD PTR SS:[EBP-4],4; a=400401019|. B803000000MOV EAX,3; eax=30040101E|. 2B45 FC SUB EAX,DWORD PTR SS:[EBP-4] ;3-4cmp eax,[ebp-4]00401021|.740E JE SHORT JNE_JNZ.0040103100401023|.68FC204000 PUSH JNE_JNZ.004020FC ...
ADD DWORD PTR DS:[0x0012FFC4],0x12 立即数到内存 【SUB指令】 SUB表示“减”,“SUB 目标操作数,源操作数”:目标操作数-源操作数的结果保存在目标操作数中,它的格式同MOV、ADD一样。举例说明SUB EAX,0x00000004,我们在软件中观察EAX的变化。 第一步:输入指令,EAX当前存储的数据为0x00000004如图2-8-9所示。
SUB EAX,ECX——计算EAX-ECX的值保存到EAX中。SUB EAX,DWORD PTR DS:[405000]——寄存器EAX减去405000内存单元的值,并将结果保存在EAX中。SUB DWORD PTR DS:[405000],EAX——这种情况下,由于我们对405000这个内存单元没有写权限,将结果存放到其中的话,会引发一个异常。 基本汇编指令--SBB(带进位的减运算) S...
jmp far ptr nextroutint 段间直接 4、段间间接转移 用存储器里两个连续的字来取代cs和ip的内容,此时存储器里的内容可以用除立即数以外的任意一种数据寻址方式获得;若用此方式须在指令中加以dword ptr字符,如: jmp dword ptr[inters+bx] 段间间接 二、程序占有的空间和执行时间 对于一条指令来说,若为16位...
SUB DST , SRC //Byte/Word 执行操作:dst=dst - src 1.DST和SRC寻址方式及规定与ADD相同. 2.影响全部标志位.(判断标志位参见ADD) SBB ( SuBtract with Borrow) 带借位减法指令 SBB DST , SRC //Byte/Word 执行操作:dst= dst - src - CF DEC ( DECrement ) 减1指令 DEC OPR //Byte/Word 执行操...
(1)SUB(减法指令) (2)SBB (带借位减) 5. 乘法 (1)无符号数乘法 1. MUL(无符号乘法指令) (2)有符号数乘法 1. IMUL(单操作数乘法指令) ...
sub eax,512 ; 针对数组的相加同样可以 mov esi,offset MyList ; 获取到首地址 mov eax,0 mov ebx,0 mov eax,dword ptr ds:[esi] ; 找到第一个元素 mov ebx,dword ptr ds:[esi + 1 * 4] ; 找到第二个元素 add eax,ebx ; 相加操作
SUB 通用寄存器,通用寄存器 SUB 通用寄存器,内存 SUB 内存,通用寄存器 SUB指令不能对段寄存器操作 (5)SBB——带借位减指令 SBB dest,src SBB指令会在执行减法时将CF位的借位值减去 其含义为:(dest)=(dest)-(src)-CF (6)DEC———自减1指令 DEC BX,即将BX的内容自减1 ...
word是2字节,dword是4字节,qword是8字节 作用: int a = 3;int类型告诉编译器分配4个字节给a变量。 image.png 所以汇编要通过dword等告诉编译器分配多少个字节。 ptr是固定写法,表示指定单位大小。 一个格子代表1个字节。 image.png 指定大小后就知道占4个字节。
通用寄存器 EAX 累加器 在乘法和除法指令中被自动使用 EBX 基址寄存器 ECX 计数器 循环计数器 EDX 数据寄存器 ESI 源变址寄存器 EDI 目的变址寄存器 EBP 栈底 ESP 栈顶 指令 mov 传送 add 相加 sub 相减 mul 相乘 inc 加1 dec 减1 neg 求相反数,比如 neg [ebx+0000