组成实验报告.docx
上海理工大学光电信息与计算机工程学院计算机组成实验报告专业计算机科学与技术姓名陈晓阳学号1512480225年级2015级指导教师郭春学成绩:教师签字:目录实验一汇褊实验一4实验二汇编实验二8实蛤三S1.编实验三14!cfI三D01SayrtcB32coa>and.cobxIds-2954BX-000CX-R33ES-2944SS-2954955:00RE2A063SUBD×-BR0ASP-CS-295SIP-IA1.,(03)BP-WWOS!"Af1.0DI-0WR0NUUPEIP1.HZNAPENCDSc03-04×-00FFBX-0BCX-033DX-0000SP-0000S-2954ES-2944SS-29S4CS-295S1P-012955:00128A1E040HOUB1.,0041BP-0000HUUPEIDI-0000ACPECVDS:0004-01WX-80FFBX-801CX-033fos-2954ES-2944SS-2954P?55:0016021E0500ADDDX-0000SP-000CS-2955IP-016B1.,(005BP-0000SI-000DI-0000NUUPEINGNZACPECYDS:0005-04AX-00FFBX-005foS-2954ES-2944P955:001AF6F3CX-033SS-2954D1.UD×-800CS-2955B1.SP-00IP-M1.ABP-00SI-00NUUPEIP1.NZIIDINAPEftX-0033BX-0O5DS-2954ES-29442955:00ICA26U0CX-033SS-2954KoUD×-WW00CS-295SSP-0UIP-M1.C(0U6).A1.BP-000US!-0U00DI-WWNUUPE1.P1.NZNAPENCDS:0UH6-00广C:Vm>OVSsystB32couand.cob一回>X-80FFBX-W01C×-0U33DX-UHOHSP-HO的)S-2954ES-2944SS-2954CS-2955IP-mi6295S:0«16021E050UADDBP-800U$1-WM0D1.必叫NUUPEIMGNZACPECYDS0U5-B4X-00FFBX-005JS-2954ES-2944?955:001AFGF3CX-0033DX-000SS-2954CS-2955DIUB1.SP-00IP-M1.ABP-000SI-000DI-0000NUUPEIP1.NZNRPENCW29S4RX-JWWSES2944295S01CA2060-61133D×-0RR=2954CS=295SHOUSP-0AAIP-M1.C(0006),A1.BP-A00SI-AARADI-011AHNUUPEIP1.HZNAPENCDS:0006-00-8H33BX-00U5-2954ES294455:0U1FB44CC×-033D×-m0SP网的SS2954CS-2955HOU1P-(W1F4CB2图则S1.-0000D1.-0(MWNUUPE1.P1.HZNAPENCXTC33DX-0005S-2954ES-2944955:9021CD21INT21CX-0033DX-0000SPSS-2954CS-2955IP-BP-0060SI-NUUPEIP1.DI-0B0NAPENCIC:WIRDOVSVsyffteB32couand.cob-口XAX-033BX-0005DS-2954ES-29442955:AA1.CA206A0CX-0033DX-000SP-0000SS-2954CS-2955IP-001CMOU(RmGbA1.BP-0000SI-0000NUUPEIP1.NZIIDI-000NAPENCI>Sz0Af1.6-Wift×-0033B×=000SDS>29S4ES=294429SS=001FB44CCX=0033D×-090SP-0000SS=2954CS=2955IP=1.FMOUAH4CBP000NUUPESI-0000D1.000IP1.NZNaPEMCAXTC33BX-0005DS-2954ES-29442955:8021CD21-dds:029S4xA0AA2»:A01AB84:9034:00304C4:0M0ID4:0H5U574:006U434:007018CX-0033DX-0000SPSS-2954CS-2955IP-INT21BP-0080SI-00DINUUPE1.P1.HZNAPE2950K)'E92F8S001005E73m1.23r8ECH3H0B132器蹲038D72%“«mb5m60ixa375m5MEEDf?f16BCo1.3e500)91.3BtB28235ER140D61CERSC29A2图必需Ts需第A第690WE»2»282停200G3E146RA11115292取悻黑器A6F3679APP2U3W0268964FnHPBEF7303GS3BE98AER1S20Eu.su.JC.r<.v.t7r6UU实验二汇编实验二一、实验H的学习间接寻址、数组和转移指令的用法二、实验环境MicrosoftWindows7MasmV2.2-:、实验内容1)一个由3个元素组成的整数数组,已经存放在主存的连续存储单元中,数组的起始地址为AS。设ASuOh,20h,30h)°编程实现:将数组AS中的元素向右循环移动一个位置,例如移位后变成30h,IOh120h.编程实现:将AS中最大元崇和最小元素分别存于Max和Min中。2)将字符串$。UrCe中的内容莫制到IargeC中,并显示输出。四、实验代码及截图datasegmentsourcedb'He1.1.owor1.d$'dataendsdata1.segmenttargetdb30dup(?)data1.endsstacksegment;inputstacksegmentcodeherestackendscodesegmentassumecs:code,ds:data,ss:stackstart:movax,datamovds,ax;data存入dsmovax,data1.moves,ax;data1.存入es1.easi,source;SOUrCe地址存到Si1.eadi,target;target地址存到dimovex,2StdjDF=Irepmovsb;将si中字符串复制到di中1.eadx,targetmovah,9int21h;输出员制得到的字符串movah,4chint21hcodeendsendstart实验三汇编实验三一、实验目的D学习逻辑运算指令和移位指令的用法二、实验环境MicrosoftWindows7MasmV2.2三、实验内容1)将一个指定字符串进行异或加密,每个单字符的密钥(0-255)保存:在数组Key中。程序运行过程:显示明文,显示所产生的密文,显示解密后的明文。例如key-(125,248,16.8,262)将一个指定字符串进行循环移位加密。每个单字符的密钥1-77)保存在数组Key中。程序运行过程:显示明文,显示所产生的密文,显示解密后的明文.例如key=-2.2,1,O,1,其中负数表示循环左移,正数表示循环右移,0不变,数字表示移动的位致四、实验代码及截图1) datasegmentstringdb'He1.1.oV;明文keydb125,248,16,8,26;密钥msg1.db'mingwen:$'msg2db'miwen:$'dataendsstacksegmentjinputstacksegmentcodeherestackendscodesegmentassumecs:code,ds:data,ss:stackstart:movax,datamovds,ax1.ead×,msg1.movah,09hint21h1.ead×,stringmovah,09hint2Ih;输出加箔前明文movex,5100p1.rmovbx,cxmova1.,stringbx-1.×ora1.,keybx-1.movstringb×-1.,a1.1.oop100P1;明文加密1.eadx,msg2movah>09hint21h1.eadx,stringmovah,09hint21h;输出加密后的密文movex,51.oop2:movb×,c×mova1.,stringbx-1.×ora1.,keybx-1.movstringbx-1.ja1.1.oop100P2;解密密文1.ead×,msg1.movah,09hint21h1.ead×,stringmovah,09hint21h;输出解密的明文movah,4chint21hcodeendsendstart2) datasegmentstringdb'He11o*'待加密明文keydb-2,2,1,0,-1;密钥msg1.db'mingwen:$'msg2db'miwen:$'dataendsstacksegment;inputstacksegmentcodeherestackendscodesegmentassumecs:code,ds:data,ss:stackstart:movax,datamovds,ax1.eadx,msg1.movah,09hint21h1.eadx,stringmovah,09hint2Ih;输出加箔前的明文movex,5mova1.,0100p1.:movbx,cxpushex;对CX压栈movc1.jkeybx-1.cmpc1.,a1.j1.t1.;假设密钥小于。那么跳转到t1.ro1.StringbxT,c1.;密钥不小于。那么左循环移位jmpsi;跳至sit1.:negc1.;假设密糊小于0,那么取补,变为正数进行操作norStringbx-1.,c1.;右循环移位si:popex;弹栈1.oop100p1.1.eadx,msg2movah,09hint21h1.eadx,stringmovah,09hint21h;输出加密后的密文movex,5mova1.,0100p2:movbx,cxpushcx;JK栈movc1.,keybx-1.cmpc1.,a1.;比拟密钢与。的大小jgt2;假设密钥大于。那么执行t2negc1.;密钥不大于。那么对CI取补ro1.Stringbx