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

天下

記錄修行的印記

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 天下 閱讀(1120) 評論(0)  編輯 收藏 引用 所屬分類: C/C++匯編語言

<2010年11月>
31123456
78910111213
14151617181920
21222324252627
2829301234
567891011

導航

統計

常用鏈接

留言簿(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>
            久久久久久伊人| 久久国产精品一区二区| 久久不射中文字幕| 香蕉精品999视频一区二区 | 欧美国产先锋| 免费一级欧美片在线观看| 嫩模写真一区二区三区三州| 欧美精品手机在线| 国产精品裸体一区二区三区| 国产日韩精品入口| 一区二区在线不卡| 日韩午夜电影av| 亚洲欧美日本日韩| 老色鬼精品视频在线观看播放| 亚洲二区视频| 91久久夜色精品国产网站| 亚洲视频每日更新| 欧美在线免费视屏| 欧美剧在线观看| 国产亚洲精品aa| 亚洲日本欧美| 新狼窝色av性久久久久久| 母乳一区在线观看| 亚洲在线视频免费观看| 免费观看成人| 国产亚洲观看| 亚洲图色在线| 免费观看在线综合| 亚洲制服少妇| 欧美欧美午夜aⅴ在线观看| 国产日韩欧美在线一区| 99国产精品国产精品久久 | 亚洲福利视频免费观看| 亚洲综合色网站| 亚洲第一天堂无码专区| 香蕉久久国产| 国产精品99一区二区| 亚洲黄色免费| 久久精品一区二区三区四区| 9久草视频在线视频精品| 免费欧美在线视频| 一区二区在线观看av| 香蕉久久国产| 在线亚洲精品| 欧美视频福利| 亚洲最新中文字幕| 欧美激情综合| 久久综合国产精品台湾中文娱乐网| 国产精品免费看久久久香蕉| 一区二区欧美日韩视频| 亚洲国产裸拍裸体视频在线观看乱了中文| 久久精品av麻豆的观看方式| 久久激情一区| 国产在线精品二区| 香蕉av福利精品导航| 久久精品国产v日韩v亚洲 | 国产麻豆91精品| 亚洲黄色免费电影| 国产精品成人一区二区三区夜夜夜 | 欧美刺激性大交免费视频| 99视频国产精品免费观看| 亚洲男女自偷自拍图片另类| 在线观看亚洲视频| 亚洲综合日韩在线| 亚洲视频999| 欧美日韩在线观看一区二区三区| 美女日韩在线中文字幕| 国产一区二区精品久久91| 一本色道久久综合狠狠躁篇怎么玩 | 亚洲第一久久影院| 欧美中文字幕在线播放| 久久成人精品| 国产真实久久| 日韩五码在线| 久久综合图片| 欧美大片免费观看| 亚洲国产婷婷综合在线精品| 久久蜜桃资源一区二区老牛 | 亚洲高清激情| 老司机午夜免费精品视频| 男女精品网站| 99视频一区二区| 欧美三级日本三级少妇99| 亚洲一区二区三区免费观看| 久久er精品视频| 亚洲开发第一视频在线播放| 欧美网站在线观看| 欧美一区二区三区在线播放| 久久国产精彩视频| 最新中文字幕亚洲| 国产一区二区日韩精品| 欧美精品自拍偷拍动漫精品| 亚洲一区二区三区精品在线| 欧美高清视频在线播放| 欧美一级理论片| 亚洲精品麻豆| 在线观看的日韩av| 国内欧美视频一区二区| 欧美电影免费观看高清| 久久精品一区二区国产| 亚洲永久字幕| 中文日韩在线| 一区二区久久久久| 亚洲精品小视频| 亚洲精品国产精品国自产观看浪潮 | 欧美福利一区二区| 一区二区三区色| 亚洲午夜精品一区二区| 亚洲精品视频在线播放| 欧美黄色成人网| 欧美成人资源| 亚洲高清不卡在线观看| 欧美激情精品久久久久| 欧美插天视频在线播放| 欧美1区免费| 亚洲黄色影片| 中日韩高清电影网| 亚洲欧美清纯在线制服| 久久aⅴ国产欧美74aaa| 久久久噜噜噜久久狠狠50岁| 久久久久.com| 欧美国产免费| 国产欧美一级| 亚洲人在线视频| 中文在线不卡| 久久先锋资源| 99精品久久| 久久香蕉国产线看观看av| 蜜臀a∨国产成人精品| 欧美va亚洲va国产综合| 国产精品久久二区二区| 亚洲大片在线观看| 小处雏高清一区二区三区| 欧美www视频在线观看| 亚洲午夜久久久久久久久电影院| 久久aⅴ乱码一区二区三区| 欧美日韩精品免费 | 国产精品自拍网站| 亚洲国产综合91精品麻豆| 午夜在线a亚洲v天堂网2018| 欧美成人国产| 久久精品亚洲国产奇米99| 国产精品极品美女粉嫩高清在线| 91久久在线视频| 美女诱惑黄网站一区| 午夜久久影院| 亚洲欧洲综合另类| 久久婷婷一区| 1024国产精品| 亚洲第一福利社区| 欧美成人一区二区三区在线观看| 国产一区深夜福利| 久久免费少妇高潮久久精品99| 亚洲天堂成人| 国产精品自拍在线| 久久久精品999| 老司机凹凸av亚洲导航| 亚洲国产另类精品专区| 亚洲国产精品www| 欧美激情视频免费观看| 亚洲视频久久| 亚洲一区日韩| 亚洲国产精品久久久久婷婷884| 鲁鲁狠狠狠7777一区二区| 久热国产精品视频| 亚洲午夜伦理| 久久久国产午夜精品| 亚洲伦理在线免费看| 亚洲一区二区三区在线看| 国内精品视频一区| 夜久久久久久| **网站欧美大片在线观看| 99国产一区| 亚洲激情黄色| 久久国产精品免费一区| 亚洲午夜激情在线| 噜噜爱69成人精品| 久久精彩视频| 国产精品成人播放| 暖暖成人免费视频| 国产亚洲观看| 午夜精品亚洲| 欧美自拍偷拍午夜视频| 欧美亚男人的天堂| 日韩视频一区二区在线观看| 亚洲国产片色| 欧美1区视频| 欧美激情在线观看| 亚洲精品极品| 欧美精品三级| 亚洲欧洲精品一区二区| 亚洲免费观看视频| 欧美经典一区二区三区| 狠狠色2019综合网| 久久久久国产一区二区| 亚洲成色精品| 亚洲一区二区在线免费观看| 国产精品日本欧美一区二区三区| 亚洲一区二区三区欧美| 久久久久久久久久码影片|