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

天下

記錄修行的印記

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>
            久久国产精品99久久久久久老狼| 欧美大片va欧美在线播放| 99热免费精品| 欧美国产一区二区| 欧美激情91| 亚洲一区三区电影在线观看| 亚洲女人av| 一区在线影院| 亚洲激情婷婷| 欧美日本高清| 久久爱www久久做| 久久人人97超碰精品888| 噜噜噜噜噜久久久久久91 | 国产一区视频在线看| 99国内精品久久| 亚洲午夜电影| 伊人久久男人天堂| 亚洲欧洲在线播放| 国产乱码精品1区2区3区| 久久久人成影片一区二区三区| 美女国内精品自产拍在线播放| 亚洲视频免费观看| 欧美一级午夜免费电影| 午夜精品福利在线| 91久久夜色精品国产九色| 在线午夜精品自拍| 一区二区三区在线免费观看| 亚洲国产综合在线| 国产乱码精品一区二区三区忘忧草| 免费成人激情视频| 欧美视频精品在线观看| 久久婷婷国产综合国色天香| 欧美精品日韩| 久久久久久婷| 欧美日韩视频免费播放| 久久久久免费视频| 欧美日韩一二三区| 美女啪啪无遮挡免费久久网站| 午夜精品999| 亚洲精品一区中文| 午夜一区二区三区在线观看| 亚洲精品欧美| 欧美综合第一页| 久久精品国产69国产精品亚洲 | 亚洲精品乱码久久久久久蜜桃91| 欧美激情中文不卡| 久久久国产精品一区| 欧美片第1页综合| 久久综合伊人| 国产精品美女xx| 亚洲国产欧美精品| 国模吧视频一区| 亚洲深夜激情| 亚洲精品免费一二三区| 久久精品国产999大香线蕉| 亚洲午夜av电影| 欧美99久久| 久久亚洲国产精品一区二区| 国产精品wwwwww| 亚洲国产一区二区三区a毛片| 欧美不卡视频| 久久免费偷拍视频| 国产精品色婷婷久久58| 亚洲精品国产日韩| 亚洲国产精品久久91精品| 午夜影视日本亚洲欧洲精品| 亚洲一区二区三| 欧美理论电影网| 欧美国产激情| 久久在线播放| 一本久道久久久| 欧美aⅴ99久久黑人专区| 久久婷婷麻豆| 国产午夜精品在线| 亚洲午夜视频在线观看| 在线视频欧美日韩| 欧美激情久久久久| 国产综合精品| 欧美 日韩 国产精品免费观看| 国产欧美日韩综合精品二区| 一区二区久久久久久| 一区二区高清在线| 欧美国产第一页| 亚洲二区免费| 在线观看91精品国产麻豆| 欧美一级播放| 亚洲国产三级网| 久久综合99re88久久爱| 六月婷婷一区| 精品999在线播放| 久久精品欧美日韩精品| 久久久91精品国产一区二区三区 | 亚洲人成精品久久久久| 亚洲丰满在线| 久久人人97超碰精品888| 久久久久久亚洲精品杨幂换脸| 国产免费亚洲高清| 亚洲欧美日韩精品久久亚洲区| 亚洲一区久久久| 国产精品国产三级国产aⅴ浪潮| 日韩亚洲欧美中文三级| 在线亚洲伦理| 欧美性猛交xxxx乱大交退制版| 日韩视频在线免费观看| 亚洲视频碰碰| 国产精品二区三区四区| 亚洲午夜电影在线观看| 欧美一区二视频在线免费观看| 久久综合五月| 欧美激情精品久久久久久变态 | 亚洲精品视频啊美女在线直播| 免费欧美日韩国产三级电影| 欧美黄污视频| 99国产精品国产精品毛片| 欧美日韩国产二区| 一区二区三区日韩欧美| 午夜精品久久久久久久男人的天堂 | 久久夜色精品国产欧美乱| 黑人巨大精品欧美一区二区小视频| 久久精品30| 欧美插天视频在线播放| 亚洲精品国产视频| 欧美伦理一区二区| 在线中文字幕不卡| 久久国产精品久久久久久电车| 国产永久精品大片wwwapp| 久久亚洲影院| 亚洲激情在线视频| 亚洲一区二区三区精品在线| 国产精品羞羞答答xxdd| 欧美中文日韩| 欧美激情一区在线| 国产自产在线视频一区| 老妇喷水一区二区三区| 亚洲巨乳在线| 欧美一区二区播放| 精品av久久707| 欧美激情一区在线观看| 亚洲图片欧美一区| 久久久久.com| 亚洲精品久久久久久久久| 欧美午夜宅男影院| 欧美在线不卡| 91久久在线视频| 欧美电影免费观看大全| 亚洲神马久久| 免费亚洲一区二区| 一区二区三区久久网| 国产日韩欧美亚洲| 亚洲天堂成人在线观看| 国产亚洲成av人在线观看导航| 久久这里有精品15一区二区三区 | 99精品国产高清一区二区| 久久狠狠亚洲综合| 最近看过的日韩成人| 国产精品高清一区二区三区| 久久精品国产亚洲高清剧情介绍| 亚洲国产欧美另类丝袜| 欧美一区二区三区在线播放| 亚洲国产成人久久| 国产精品蜜臀在线观看| 看片网站欧美日韩| 美女福利精品视频| 亚洲特级片在线| 樱桃国产成人精品视频| 欧美日韩亚洲一区二区三区在线观看 | 蜜桃久久av一区| 亚洲一区高清| 亚洲激情亚洲| 国产日韩欧美综合一区| 日韩午夜高潮| 亚洲一区在线观看免费观看电影高清 | 女人天堂亚洲aⅴ在线观看| 亚洲视频axxx| 亚洲电影观看| 久久九九久久九九| 亚洲视频一区在线| 亚洲国产福利在线| 国产精品一区二区女厕厕| 欧美国产成人在线| 久久久国产成人精品| 亚洲一二三四久久| 亚洲国产精品美女| 久久夜色精品亚洲噜噜国产mv| 亚洲一区二区三区国产| 亚洲精品国产精品国自产在线| 国产一区二区久久| 亚洲三级视频| 亚洲天堂av电影| 国产精品麻豆va在线播放| 欧美国产日韩视频| 久久久久99| 午夜精品久久久久久久99黑人| 亚洲乱码国产乱码精品精98午夜| 快射av在线播放一区| 欧美一区二区三区免费看 | 欧美一区亚洲| 亚洲一区欧美一区| 亚洲麻豆国产自偷在线| 国产在线精品二区|