青青草原综合久久大伊人导航_色综合久久天天综合_日日噜噜夜夜狠狠久久丁香五月_热久久这里只有精品

天下

記錄修行的印記

C++整數、浮點數、結構體的返回值

 

#include "stdafx.h"


struct person{
    
int age;
    
int sex;
    
char name[20];
};

struct person GetPerson(int age,int sex,char* name)
{
    
struct person p;
    p.age 
= age;
    p.sex 
= sex;
    strcpy(p.name,name);
    
return p;
}

int main()
{
    
int m = 0x7ffff123;
    
int n = 0x7ffff456;
    
int k = 0x7fffffff;

    
//匯編指令:imul,mul
    long long x = (long long)(m * n);    //返回值類型為 int,然后強制轉換為long long,最后賦值給x,
    long long y = (long long)m * n;        //返回值類型為 long long,然后賦值給y,注意強制類型轉換括號的位置,
    

    
long long z = m * n;                //返回值類型為 int,然后賦值給x.
/*

匯編指令:
    004114BC  mov         eax,dword ptr [m] 
    004114BF  imul        eax,dword ptr [n] 
    004114C3  cdq          //數據擴展指令,將雙字數據擴展為四字類型
    //CDQ—Convert Double to Quad (386+),該指令把edx擴展為eax的高位,也就是說變為64位。     
    004114C4  mov         dword ptr [z],eax 
    004114C7  mov         dword ptr [ebp-4Ch],edx 
*/

    printf(
"m = %d,n = %d \n",m,n);
    printf(
"x = %lld\n",x);
    printf(
"y = %lld\n",y);
    printf(
"z = %lld\n",z);





    
int m1 = 8;
    
int n1 = 3;
    
int k1 = m1/n1;

    
double k2 = m1/n1;        //返回值類型為 int,然后賦值給k2,匯編指令:idiv
/*

匯編指令:
    0041155E  mov         eax,dword ptr [m1] 
    00411561  cdq              
    00411562  idiv        eax,dword ptr [n1] 
    00411565  mov         dword ptr [ebp-1F4h],eax 
    0041156B  fild        dword ptr [ebp-1F4h] 
    00411571  fstp        qword ptr [k2] 

    fild和fstp都是x87指令 
    fild浮點加載整數 然后轉換為長雙精度  
    fild是將整數轉化為長雙精FP80壓棧(壓到st0),
    fstp是將彈棧指令,將st0彈出。

*/


    
double k3 = (double)(m1/n1);    //返回值類型為 int,然后強制轉換為double,最后賦值給k3,匯編指令:idiv


    
double k4 = (double)m1/n1;        //返回值類型為double,然后賦值給k4,注意強制類型轉換括號的位置,匯編指令:fidiv
/*

    匯編指令:
    00411590  fild        dword ptr [m1] 
    00411593  fidiv       dword ptr [n1] 
    00411596  fstp        qword ptr [k4] 
*/

    printf(
"k1=%d \r\n",k1);
    printf(
"k2=%f \r\n",k2);
    printf(
"k3=%f \r\n",k3);
    printf(
"k4=%f \r\n",k4);

    
char l1 = 127;
    
char l2 = 122;
    
int  l3 = l1* l2;
/*
匯編指令:
    0041162E  movsx       eax,byte ptr [l1] 
    00411635  movsx       ecx,byte ptr [l2] 
    0041163C  imul        eax,ecx 
    0041163F  mov         dword ptr [l3],eax 
*/



    
char l4 = l1* l2;
/*
    匯編指令:
    00411645  movsx       eax,byte ptr [l1] 
    0041164C  movsx       ecx,byte ptr [l2] 
    00411653  imul        eax,ecx 
    00411656  mov         byte ptr [l4],al 
*/




    
int l5 = l1/l2;
    
int l6 = double(l1)/l2;


    
long double k5 = l1* l2;
/*
    匯編指令:
    004116A6  movsx       eax,byte ptr [l1] 
    004116AD  movsx       ecx,byte ptr [l2] 
    004116B4  imul        eax,ecx 
    004116B7  mov         dword ptr [ebp-1F4h],eax 
    004116BD  fild        dword ptr [ebp-1F4h] 
    004116C3  fstp        qword ptr [k5] 
*/


    printf(
"l3=%d \r\n",l3);
    printf(
"l4=%d \r\n",l4);
    printf(
"k4=%lf \r\n",k5);

    
long long o1 = 0xff34567812345677;    
    
long long o2 = 0xab34567834125615;
    
long long o3 = o1 * o2;    //溢出

    
int age = 5;
    
int sex = 1;
    
char name[20= "Aaron";

    
struct person p1 = {5,1,"Aaron"};
    
struct person p2;
    
struct person* pp1 = &p1;
    
struct person* pp2 = &p2;
    p2
= p1;
/*
匯編指令:
00414348  mov         ecx,7 
0041434D  lea         esi,[ebp-188h] 
00414353  lea         edi,[ebp-1ACh] 
00414359  rep movs    dword ptr es:[edi],dword ptr [esi] 

//ecx 是計數器(counter),是重復(REP)前綴指令和LOOP指令的內定計數器。
因為sizeof(person) = 28,所以才有mov ecx,7 
*/


    
struct person p3;
    p3
= GetPerson(age,sex,name);


//結論:
/*

整數類型:
    小于等于4字節的返回值放在eax中,
    8字節的返回值放在edx + eax中,其中edx為高位,eax為低位.

浮點數類型:
計算是通過壓棧的方式,如匯編指令:fild
返回是通過出棧的方式,如匯編指令:fstp

結構體類型賦值:
是通過內存拷貝的方式,如匯編指令:rep movs
將源值的地址放入esi,
將目標值的地址放入edi,

00414393  lea         esi,[ebp-2D8h] 
00414399  lea         edi,[ebp-1D0h] 
0041439F  rep movs    dword ptr es:[edi],dword ptr [esi] 


結構體類型返回值:
通過eax將結構體的指針返回
*/

    system(
"pause");
    
return 0;
}
//111111111111111111111111111111
//00000000000000000000000000000001
//
//111111111111111111001010111100
//10000000101011010101110111000010
//取反加一 1111111010100101010001000111110
//11111001111111111111111111111110000011000

//11111111111111111111110000011000
//1111101000


//11111010000000000000000000000000000000000 = 0
//00000000000000000000000000000000
//
//1111111111111111111110000011000

 

posted on 2013-03-01 10:16 天下 閱讀(1122) 評論(0)  編輯 收藏 引用 所屬分類: C/C++匯編語言

<2012年9月>
2627282930311
2345678
9101112131415
16171819202122
23242526272829
30123456

導航

統計

常用鏈接

留言簿(4)

隨筆分類(378)

隨筆檔案(329)

鏈接

最新隨筆

搜索

最新評論

青青草原综合久久大伊人导航_色综合久久天天综合_日日噜噜夜夜狠狠久久丁香五月_热久久这里只有精品
  • <ins id="pjuwb"></ins>
    <blockquote id="pjuwb"><pre id="pjuwb"></pre></blockquote>
    <noscript id="pjuwb"></noscript>
          <sup id="pjuwb"><pre id="pjuwb"></pre></sup>
            <dd id="pjuwb"></dd>
            <abbr id="pjuwb"></abbr>
            久久裸体视频| 欧美大片第1页| 日韩亚洲国产精品| 久久精选视频| 久久gogo国模裸体人体| 欧美美女喷水视频| 欧美激情亚洲| 亚洲国产日韩欧美一区二区三区| 亚洲一二三级电影| 一区二区三区四区蜜桃| 欧美激情一区二区久久久| 欧美成人精品激情在线观看| 国产亚洲精品久久久| 亚洲一区视频在线| 亚洲女同精品视频| 国产精品久久久久av| 日韩午夜中文字幕| 在线亚洲欧美视频| 欧美理论大片| 一本色道久久99精品综合| 亚洲美女黄色| 欧美日韩国产在线| 亚洲靠逼com| 亚洲色在线视频| 国产精品高潮呻吟久久av无限 | 性刺激综合网| 欧美激情亚洲视频| 亚洲国产综合在线看不卡| 亚洲三级电影全部在线观看高清 | 欧美在线中文字幕| 欧美中文字幕在线视频| 国产日韩一区二区三区在线| 亚洲欧美国产日韩中文字幕| 久久aⅴ国产紧身牛仔裤| 国产欧美va欧美va香蕉在| 亚洲图片你懂的| 欧美专区18| 亚洲国产精品久久久久久女王| 久久久在线视频| 亚洲激情欧美| 亚洲女人天堂成人av在线| 国产麻豆9l精品三级站| 久久精品99久久香蕉国产色戒 | 欧美一区二区三区在线看| 国产欧美日韩亚洲| 久久精品视频在线播放| 欧美激情性爽国产精品17p| 一区二区三区你懂的| 国产精品尤物| 麻豆成人在线播放| 一区二区三区鲁丝不卡| 久久国产精品一区二区三区四区 | 久久综合色一综合色88| 亚洲国产小视频| 国产精品精品视频| 久久久www| 日韩午夜电影在线观看| 久久久久九九视频| 一二三区精品福利视频| 国产丝袜一区二区| 欧美精品1区2区3区| 亚洲欧美在线高清| 91久久精品www人人做人人爽| 亚洲资源在线观看| 在线电影国产精品| 裸体女人亚洲精品一区| 亚洲乱码一区二区| 国产午夜精品一区二区三区视频| 欧美成人国产| 欧美在线日韩| 亚洲一级电影| 亚洲国产老妈| 欧美专区中文字幕| 一本大道久久a久久精二百| 红桃视频国产精品| 国产精品你懂的在线| 欧美高潮视频| 久久久噜噜噜久久| 午夜在线一区二区| 一区二区三区欧美在线| 亚洲高清视频一区| 久热精品在线视频| 久久av红桃一区二区小说| 一区二区欧美日韩| 亚洲福利视频网站| 狠狠干综合网| 国产婷婷精品| 国产精品系列在线| 欧美性淫爽ww久久久久无| 免费中文字幕日韩欧美| 久久久久久久波多野高潮日日 | 红桃视频国产精品| 国产精品r级在线| 欧美男人的天堂| 欧美国产专区| 欧美激情精品久久久| 久久综合图片| 久久久久99| 久久不射中文字幕| 久久xxxx| 久久精品最新地址| 久久蜜臀精品av| 久久久www| 久久综合伊人77777蜜臀| 久久久精品国产99久久精品芒果| 香蕉成人久久| 久久超碰97中文字幕| 欧美亚洲在线视频| 久久国产欧美精品| 久久精品男女| 老司机一区二区| 男女精品网站| 欧美日韩国产系列| 欧美日韩在线不卡一区| 欧美性事在线| 国产日韩在线视频| 极品尤物av久久免费看| 激情久久综合| 亚洲日本国产| 亚洲一区二区三区国产| 午夜精品久久久久久99热软件| 午夜久久影院| 久热成人在线视频| 亚洲激情第一页| 99香蕉国产精品偷在线观看| 亚洲一二三级电影| 久久精品视频免费观看| 牛人盗摄一区二区三区视频| 欧美日本免费一区二区三区| 欧美三区在线| 国产一区二区三区在线观看免费视频 | 欧美性开放视频| 国产精品免费看片| 尤物在线观看一区| 妖精成人www高清在线观看| 午夜精品久久久久久久久| 久久久欧美精品| 亚洲人成网站精品片在线观看| 99热在线精品观看| 久久精彩免费视频| 欧美精品色一区二区三区| 国产乱码精品1区2区3区| 亚洲国产精品999| 亚洲自拍偷拍色片视频| 久热精品视频| 一区二区三区国产精华| 久久青青草原一区二区| 欧美四级在线观看| 一区二区三区在线免费观看| 一道本一区二区| 蜜臀av一级做a爰片久久 | 一区二区三区视频在线| 久久九九电影| 国产精品久久久久影院亚瑟| 亚洲成在线观看| 新67194成人永久网站| 亚洲第一精品夜夜躁人人躁| 亚洲摸下面视频| 欧美日韩国产一区| 在线看片成人| 久久精品道一区二区三区| 日韩一级不卡| 农夫在线精品视频免费观看| 欧美国产日韩免费| 欧美亚洲色图校园春色| 欧美视频一区二区| 亚洲久久在线| 欧美a级一区二区| 性伦欧美刺激片在线观看| 欧美日韩亚洲高清一区二区| 亚洲国产欧美久久| 久久在线播放| 欧美一级久久久| 国产精品欧美日韩一区| 在线亚洲高清视频| 亚洲国产午夜| 欧美成人一区二区三区片免费| 国产亚洲亚洲| 欧美中在线观看| 亚洲欧美日韩国产另类专区| 国产精品v欧美精品v日韩| 亚洲最黄网站| 日韩一级裸体免费视频| 欧美精品一区二区三区高清aⅴ| 亚洲国产一区二区在线| 欧美成人影音| 麻豆国产精品一区二区三区| 永久久久久久| 欧美高清影院| 欧美成人免费大片| 亚洲精品在线免费| 亚洲精品国产系列| 欧美女主播在线| 中文日韩欧美| 亚洲一区二区视频在线| 国产精品视屏| 久久久国产91| 巨胸喷奶水www久久久免费动漫| 在线日韩视频| 亚洲国产精品一区制服丝袜|