- 博客(7)
- 资源 (5)
- 收藏
- 关注
原创 直接call地址
记得寒假期间搞过这个,找到一个函数的地址后,直接call 地址就相当于调用函数。procedure TForm1.Button5Click(Sender: TObject); var i:integer;begin asm mov eax,offset Button2Click mov i,eax end; showmessage(inttostr(i));// show出来4
2006-02-13 18:01:00 1278
原创 得到返回地址
class procedure TList.Error(const Msg: string; Data: Integer); function ReturnAddr: Pointer; asm MOV EAX,[EBP+4] end;begin raise EListError.CreateFmt(Msg, [Data]) at ReturnAddr;en
2006-02-13 12:24:00 1213
原创 local in marco
Macros are expanded directly in code, therefore if there are labels inside the macro definition you may get "Duplicate declaration" error when macro is used for twice or more. To avoid such problem, u
2006-01-24 17:09:00 665
原创 ret & IRET
The Stack Stack is an area of memory for keeping temporary data. Stack is used by CALL instruction to keep return address for procedure, RET instruction gets this value from the stack and returns to t
2006-01-24 16:57:00 1762
原创 8086 cpu标志积存器
Carry Flag (CF) - this flag is set to 1 when there is an unsigned overflow. For example when you add bytes 255 + 1 (result is not in range 0...255). When there is no overflow this flag is set to 0.
2006-01-23 18:17:00 773
原创 大道至简--明白了一个地球人都明白的问题。
可执行程序被载入内存后进行,机器执行的肯定是编译后的2进制代码,因此书写程序是用高级语言调用函数或其他等都被编译器编译成对应2进制代码。因此,如果你足够牛的话,直接写2进制代码也可。^_^for exaple:(摘自8086 Assembler Tutorial for Beginners )#MAKE_COM#ORG 100hMOV AL, var1MOV BX, var2RET
2006-01-23 16:57:00 947
原创 My first blog!
今天又上csdn,看见了blog专栏。产生了写自己的bolg的想法。 知识在于积累嘛,顺便也可以记录一下自己工作,学习,生活的情况,不亦乐乎? 现在正在看unix c编程的书,感觉看看编程,实现一下unix的简单命令,反而对unix系统有更进一步的认识。真是相得益彰啊。unix c我是第一次接触,现在正看的是一本从书店借的600多页的《unix系统编程》,感觉某些概念讲的不是很清楚,也可
2005-05-27 17:56:00 722
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人