用VC写Assembly代码(5) --字符串

原创 2006年06月06日 09:13:00

是有几个朋友也喜欢这种编城方法的,前几天听我一个朋友说:"真正的高手是懂C,而不是C++",想想也是.

几乎所有代码最后还是有汇编代码组成的,只是效率的问题,汇编和机器语言11对应,这使汇编可以叫机器做机器能做的所有事.所以学好汇编对任何高级语言的理解很有好处.希望编程爱好者也能学习.

没事做, 写了短字符串处理的代码:

#include <string.h>
#include <stdio.h>


int main(int argc, char* argv[])
{
 __asm
 {
  push ebp
  mov ebp, esp
  sub esp, 10h
  mov byte ptr[ebp-09h], 'a'
  mov byte ptr[ebp-08h], 'b'
  mov byte ptr[ebp-07h], 'c'
  mov byte ptr[ebp-06h], 'd'
  mov byte ptr[ebp-05h], '/n'
  mov byte ptr[ebp-04h], 0
  lea eax, [ebp-09h]
  push eax
  call printf
  mov esp, ebp
  pop ebp
 }
 return 0;
}
我不知他的实现方法,很多高手应该会,可以解释一下吗?

用VC写Assembly代码

各位好,最近我在研究SHELLCODE 的编写,因为需要ASM的基础,所以用VC写一些ASM代码.有兴趣的朋友可以一起讨论.我们都欢迎你. 用VC写Assembly代码(1) 用VC写Assembly...
  • i_like_cpp
  • i_like_cpp
  • 2006年10月15日 22:01
  • 3689

用VC写Assembly代码(1)

VC完全可以支持所有.486指令.我们的方法是使用__asm关键字插入Assembly代码.Assembly可以完成N多C&C++不能完成的任务.这个谁动知道.所以我们到C&C++,再懂一些Assem...
  • i_like_cpp
  • i_like_cpp
  • 2006年05月18日 21:52
  • 3019

用VC写Assembly代码(2)

虽然没人看,但我决定还是写多篇啦.至于Assembly指令的功能,我会在适当的位置说名,如果不懂汇编的朋友,我们也可以通过没个例子和说名,慢慢也了解汇编.来看看这个:#include void loo...
  • i_like_cpp
  • i_like_cpp
  • 2006年05月18日 22:18
  • 2575

用VC写Assembly代码(4)

在汇编中使用printf没什么意义,这里只说明一写问题,printf 再 __asm中的使用有点复杂.先看看下面代码:void main(){ int t = 10; char *szformat =...
  • i_like_cpp
  • i_like_cpp
  • 2006年05月24日 20:19
  • 2362

用VC写Assembly代码(3)

不知为什么,对这种编程方法越来越大越有兴趣.先写个使用参数的例子(十分简单,适用于任何懂C的人)给各位参考一下吧:#include int asm(int s){ int t=0; __asm {  ...
  • i_like_cpp
  • i_like_cpp
  • 2006年05月21日 20:16
  • 2080

用VC写Assembly代码(5) --循环的使用(一)

如果用C语言写循环,很简单,用for,while之类的语句就可以实现,但inline assembler就有点难,刚开始有点迷失,但找了下资料,现在会用了,先看个例子吧:#include void m...
  • i_like_cpp
  • i_like_cpp
  • 2006年06月13日 19:34
  • 1717

用VC写Assembly代码(5) --函数调用(三)

没什么好说的啦,看代码就是啦#include void main(){ char *a = (char*)MessageBox; __asm {  push 0  push 0  push 0  pu...
  • i_like_cpp
  • i_like_cpp
  • 2006年10月21日 13:30
  • 1634

用VC写Assembly代码(5) --函数调用(二)

终于知道如何用LoadLibrary,但不知为什么!我自己写的例子是:#include int main(int argc, char* argv[]){  char *msvcrt = "msvcr...
  • i_like_cpp
  • i_like_cpp
  • 2006年06月07日 19:06
  • 1700

用VC写Assembly代码(5) --函数调用(一)

用C写一个加载msvcrt.dll的方法如下:#include #include void main(){  char *msvcrt = "msvcrt.dll";  HINSTANCE h = L...
  • i_like_cpp
  • i_like_cpp
  • 2006年06月07日 19:24
  • 2210

VC++向txt文件中写入字符串

VC++向文件中输入数据的时候得到一堆数据,在txt文件中看到的是乱码。
  • datouniao1
  • datouniao1
  • 2015年11月18日 15:29
  • 1551
内容举报
返回顶部
收藏助手
不良信息举报
您举报文章:用VC写Assembly代码(5) --字符串
举报原因:
原因补充:

(最多只允许输入30个字)