想从底层开始了解一下程序到底是怎么跑起来的,刚刚开始看《现代x86汇编语言程序设计》第二版的书,但是书上的第一个例子的实现我就卡住了。
书上的源代码是这样的:
CH02_01.cpp文件
#include "stdafx.h"
#include <iostream>
using namespace std;
extern "C" int IntegerAddSub_(int a,int b,int c,int d);
static void PrintResult(const char* msg, int a, int b, int c, int d, int result){
const char n1 = '\n';
cout << msg << n1;
cout << "a = " << a << n1;
cout << "b = " << b << n1;
cout << "c = " << c << n1;
cout << "d = " << d << n1;
cout << "result = " << result << n1;
cout << n1;
}
int main(){
int a,b,c,d,result;
a = 10;b =20;c=30;d =18;
result = IntegerAddSub_(a,b,c,d);
PrintResult("test 1",a,b,c,d,result);
}
CH02_01.asm文件
.code
IntegerAddSub_proc
mov eax,ecx
add eax,edx
add eax,r8d
sun eax,r9d
ret
IntegerAddSub_endp
end