摘要:
1.听到一个说法,VCC是和电源正极相连的,GND是和电源负极相连的。 https://www.sohu.com/a/129149803_610448 2.震荡电路工作原理 https://zhidao.baidu.com/question/47750754.html https://jingyan 阅读全文
摘要:
做一个防空警报 蜂鸣器 做一个寻迹小车(跟踪人的小车 应该是同样哦原理吧) 买一台3D打印机(这个自己应该做不了吧,要不试着自己做一下吧) 做一个MP3 智能垃圾桶 人走进自动打开盖子,人走后自动关闭 做一个类似摩拜单车的智能锁 做几个耳机 milf's control dota2 ym 杨幂 xj 阅读全文
摘要:
转载:https://zhidao.baidu.com/question/297003574.html 首先说一下怎么区分大三度与小三度。音程有两个要素,音数和度数。音数指的是音程所的包含全音的数目(也就是音程所包含的半音的数目的二分之一)。例如,C-D这个音程,包含C-升C和升C-D这两个半音,所 阅读全文
摘要:
有一个问题,怎么用其它指令实现push操作。 第一步看一下push操作具体干了什么事情。 查看intel指令手册 先让esp-4,然后把操作数写到[esp]这个地方。 第二步看影响的标志位。 手册说不影响标志位。 第一步是让esp-4,这个比较简单,lea esp,esp-4 lea指令不影响标志位 阅读全文
摘要:
float是占用四个字节,double是栈用8个字节的。 float a=5; double b=5; printf("%lf",a+b); return 0; 对应的汇编代码 00401028 |. C745 FC 0000A>mov [local.1],0x40A00000 0040102F | 阅读全文
摘要:
我们写一个函数,里面必然会用到变量,每个变量都会占用内存,这些内存分成三个种类。 第一个是栈内存,函数内部局部变量是栈内存。栈内存不用我们手动管理,在调用完函数之后 函数会自动释放栈内存。实际上就是函数末尾被编译器添加的mov esp,ebp和pop ebp。 栈内存的大小是有两个大小,一个是res 阅读全文
摘要:
lea指令是取得源操作数的地址到目的操作数,lea指令的格式只支持 lea r16/r32 ,[mem]这种形式,也就是目的操作数只能是寄存器,源操作数只能是内存操作数。 还有几种特殊的形式。 假如源操作数是32位的,目的操作数是16位的。 类似下面这种 lea ax,word ptr ss:[ed 阅读全文
摘要:
:00401008 E801000000 call 0040100E:0040100D C3 ret call 0040100E的机器码是E801000000,E8是CALL指令的opcode,后面的0100 0000是怎么和0040100e对应起来的。 其实01000000这是一个相对地址,并不是 阅读全文
摘要:
ret是retn和retf的助记符表达。 retn是return near的意思,段内返回。retf是return far 段间返回 retn的操作有两部 第一步把[esp]复制到EIP中。 第二步esp +4 retn param 这种带参数的,比如retn 0x16 第一步还是把[esp]复制到 阅读全文
摘要:
在一个delphi程序中看到这样一句代码,有点蒙。它是在push ebp,mov ebp,esp的后面的,平常都是sub esp,xx之类的。后来突然想明白了,0ffffff0这不就是一个有符号数麻,对应的十进制数就是 -16 ,也就是相当于sub esp,16 阅读全文
摘要:
unk就是unknown的意思,未知。 阅读全文
摘要:
在IDA中看到这样一个函数。 call @System@@LStrClr$qqrpv ; System::__linkproc__ LStrClr(void *) 这是delphi里面的系统函数,@System@@LStrClr$qqrpv 这个名字很奇怪,后来我看懂了。 Ststen这是类名,LS 阅读全文
摘要:
or eax, eax ; 判断eax是否为0 jnz short loc_41A7D1 今天看到这样一段代码。 or是或操作。eax无非两种情况,0和非0,当eax是0,or之后的结果还是0,置ZF为1。当eax是非0,or之后的结果还是非0。ZF为0。 意思就是如果eax不是0则跳转。 阅读全文