版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
1、实用文档北京罐工大季He承臂K hiMituieTeLlimfiofjy本科实验报告实验名称:算术运算类操作实验课程名称:CPU与汇编实验实验时间:2015.10.29任课教师:王耀威实验地点:10-102实验教师:潘丽敏实验类型:原理验证综合设计自主创新学生姓名:王晓明学/班级:1120131332/05111311组 号:学 院:信息与电子学院同组搭档:专 业:信息工程成 绩:信息与电子学院MMOHMr Cf »NV«iUTIM *MV “f TWMIC4实用文档实用文档一、实验要求和目的1、了解汇编语言中的二进制、十六进制、十进制、BCD码的表示形式;2、掌握各类运算
2、类指令对各状态标志位的影响及测试方法;3、熟悉汇编语言二进制多字节加减法基本指令的使用方法;4、熟悉无符号数和有符号数乘法和除法指令的使用;5、掌握符号位扩展指令的使用。6、掌握BCD码调整指令的使用方法 二、软硬件环境1、硬件环境:计算机系统windows ;2、软件环境:装有 MASM、DEBUG、LINK、等应用程序。 三、实验涉及的主要知识1、加减法处理指令主要有加法指令 ADD ,带进位加法 ADC ,减法指令 SUB,带进位减法指令 SBB。2 .乘除法指令和符号位扩展指令主要有无符号数乘法指令 MUL,带符号数乘法指令IMUL,无符号数除法指令 DIV,带符号 数除法指令 IDI
3、V,以及符号位从字节扩展到字的指令CBW和从字扩展到双字的指令CWD。3 . BCD码的调整指令主要有非压缩的 BCD码加法调整指令 DAA ,压缩的BCD码减法调整指令 DAS ,非 压缩的BCD码加法调整指令 AAA ,非压缩的BCD码减法调整指令 AAS ,乘法的非压缩 BCD码调整指令 AAM ,除法的非压缩 BCD码调整指令 AAD 。8088/8086指令系统提供了实现加、减、乘、除运算的上述基本指令,可对表1所示的数据类型进行数据运算。表1-2-1数据类型数据运算表数制二进制BCD码带符号无符号组合非组合运算符+、一、X、+十、一+、一、X、+操作数字节、字、多精度字节(二位数字
4、)字节(一位数字)四、实验内容与步骤1、对于两组无符号数,087H 和034H,0C2H 和5FH ,试编程求这两组数的和差积商,并考虑计算结果对标志寄存器中状态标志位的影响:(1 )实验流程将一组操作数存入内存分别用ADD,SUB,MUL,DIVX寸两数进 加减乘除,并把结果存入内存,进 行除法运算时商和余数单独储存r运算结束i(2)实验代码:DATAS SEGMENTBUF1 DB 087HBUF2 DB 034HBUF3 DB 4 DUP(?);此处输入数据段代码DATAS ENDSSTACKS SEGMENT;此处输入堆栈段代码STACKS ENDSCODES SEGMENTASSUM
5、E CS:CODES,DS:DATAS,SS:STACKSSTART:MOV AX,DATASMOV DS,AXMOV AX,0MOV SI,AX;两数相加MOV AL,BUF1MOV BL,BUF2ADD AL,BLMOV BUF3SI,ALMOV AL,0MOV AL,0INC SIMOV BUF3SI,AL;两数相减MOV AL,BUF1MOV BL,BUF2SUB AL,BLINC SIMOV BUF3SI,ALMOV AL,0SBB AL,0INC SIMOV BUF3SI,AL;两数相乘MOV AL,BUF1MOV BL,BUF2MUL BLINC SIMOV BUF3SI,ALI
6、NC SIMOV BUF3SI,AH;两数相除,AL中存放商,AH中存放余数MOV AX,0MOV AL,BUF1MOV BL,BUF2DIV BLINC SIMOV BUF3SI,ALINC SIMOV BUF3SI,AH;此处输入代码段代码MOV AH,4CHINT 21HCODES ENDSEND START(3)实验结果:1)第一组操作数 87H,34HDORox D.74, Cpi <pppd- 0(10 ryrlp Frameskip 0F Prngram: DFR. 一 口AX=1FQ2 BX=0934 CX=0G?4 DX土90G0 SF=00G9 BP=0Q0O SlO
7、GO? DI=OQG0 DS=G?70 ES=076G SS=07SF CS0771 IP=0G5C MU UP EI Pl NZ NA PO CY 9?1:QO5C 88杆4G2GOM9U 【S1+0002LAHDS:00仍=69-tI)XlFGE BX=0034I3=G7?0 ES=G?6G二X=0Q74 DX=0O0O SP=e©00SS-076F CS=6771 IP=0060BP=000O SI =060(7 DI =0000HU UP EI FL NZ MA PO CYfl fl71:0060 B44CMUAHf4CXXCCE BX=M34 0=6779 E3=076G
8、(?1; 606Z CDZ1-dds iO70:0000 B7 317«:0G>1O B8 7G7:00EG 00 027«:60QO A0 0G7«:0GHO IC 06 7。,005。4G 8Q ?G:0Q60 8A IE7G:GQ70 B4 4c=X=O0?4 DX=9000 SP=6O09SS=OTbF CS=6771 IP=G06EINT 21BP-0000 3 厂 0607 DI=0000NU UP EI FL NS MA PO CY-rfU UF EI FL HE MAC08CII0CO 619 6o(a0(0(oo40f 心8>2>
9、;1丘 6m 的 0B00&4F0384E4)Q6)G 5D81 后。F0I®E8 8 8>2:咐 i oebbeoo2 Br?fnD64nDB- Q c Q 4- 8 0 cIBGZ IF G0-BB FOEO-00 BC 2A-C3 46 白®-00 06 占4-G2 g E8-B4 02GO-00 QG00 的0*G8 BftB8GO00ello®3ol01 flv 0- 11冷E>296的0的 010BFQQQ GA400O40 8 8 0。a R& eHaRleJl心 8g 9 _w- -J _w- 9 DD2)第二组操作数
10、0C2H,5FHDOSBgx 0.74r Cpu speed:3000 cycles* Frameskip 0, Program:ftX-GHGE DX-005F CX-GG74 DX-9000 Sr-GOOO DP-0000 31-000? DI-OOOODS-O77G ES-0760 SS=OT6F CS-0771 1P-005CNU UP El PL HZ Nfl PO C?O771i0GEC 8SA4G2G0 MDU SI*GGG2JDSiGQG9-©0IIX=04O2 BX=G05FS=G77G ES-G760CX=e074 DX=0000 SP=060QSS=G76F 0
11、0771 】P=G66GBP=0000 S1=QIM? DI=eO0ONU UP El FL MZ N# PO CY71:0666 B44crwAHqCK=KQE I s-ev?e 171:OOGZ-dds :。70:0606 70:闹 16 70:0020 70:0030 70:QG4G 7Q:QQ5G/7U:UtJbU 7010G7CCDZLC2 HFRfl 70 90 02 AG始 IC GO 46 88HA IE B4 4CCX=06f?, DX=90O© 3F=0O0eSS=G76r CS-Q771 1=O062IHT 21EF=800 31=0007 DI=0000NU
12、UF El FL HZ HA ? CYEfi0l908bl9 F"Qt0(0(co4G( otRa0Q4Fo 63m84lE84G0!se0 llE 8 a 8122 147-02 8 *RR FQ A0 B0-GG 14 002A-C3 46 88A0-GG GO BAA4-6E GO B8HH-H4 第 GO 9G-G0 GO GO6 H电 m(K)l0 。elOEOHol 应 E 006K90电G1GBFG0Go A 44 o- o- 4 o aRCOoaRR® eeRDJleH 电0 0 & 4- E G b 0&0 4 8 工a4 日F(4)计算结
13、果计算状态标志表式结果CFAFZFOFSFPF087H+034H00BB000011087H-034H0053000101087H*034H1B6c100100087H/084H02(1F)1000010C2H+05FH01210000000C2H-O5FH00630010010c2H*05FH47FE0000010C2H/05FH02(04)000000(5)各运算对状态标志位的影响及其意义。状态标志位加法减法乘法除法CF最高功效位向局位有进位为1 ,否则为0最高功效位向局位有借位为1 ,否则为0CF OF=0 ,乘积的高一半为0 (字节操作的AH或字操作的DX);CF OF=1 ,乘积的高
14、一半不为0不确定AF无影响ZF运算结果非0 ,ZF=0 ,否则为1无影响OF两个不同符号数同符号数相减,或CF OF=0 ,乘积的高相加,或同符号数不同符号数相减一半为0 (字节操作相加,结果符号与时结果符号与减的AH或字操作的其相同,则为0;数不同,则为0;DX);同符号数相加,结两数符号相反,结CF OF=1 ,乘积的高果符号与其相反,果符号与减数相一半不为0则为1同,则为1SF结果/、为负则为无影响0 ;否则为1PF无影响2、在数据段定义了两个多精度的有符号16进制数,FIRST和SECOND ,1)求两数的和与差,并将结果存放在THIRD为首地址的缓冲区中;2)如果把两组数据当作十进制
15、数据来处理,再次求两数的和与差,并将结果存放在FORTH为首地址的缓冲区中。试编程实现上述运算。FIRST DB 45 H , 82H ,96 H , 57HSECOND DB 12 H , 46H , 83 H , 45H(1)程序流程图将两组数字存入内存用ADC从最低位对操作数进行 相加,结果存入 THIRD中调整相加结束,进行相减循环f进行十进制运算,结果存 入FORTH中结束(2)程序代码:DATAS SEGMENTFIRST DB 45H,82H,96H,57HSECOND DB 12H,46H,83H,45HTHIRD DB 8 DUP (?)FORTH DB 8 DUP(?)DA
16、TAS ENDSSTACKS SEGMENTSTACKS ENDSCODES SEGMENTASSUME CS:CODES,DS:DATAS,SS:STACKS实用文档START:MOV AX,DATASMOV DS,AXMOV AX,0MOV BX,4MOV CX,4L:MOV AL,BX+3ADC AL,BX-1MOV BX+7,ALDEC BXLOOP LMOV BX,4MOV CX,4M:MOV AL,BX-1SBB AL,BX+3MOV BX+11,ALDEC BXLOOP M实用文档MOV BX,4MOV CX,4N:MOV AL,BX+3ADC AL,BX-1DAAMOV BX+
17、15,ALDEC BXLOOP NMOV BX,4MOV CX,4O:MOV AL,BX-1SBB AL,BX+3DASMOV BX+19,ALDEC BXLOOP O实用文档MOV AH,4CHINT 21HCODES ENDSEND START(3)运行结果3000 cydes. Frameskip 0( Program: DEBDOS Bex 0J4, Cpu speed:377Z:Q04F 4BEECBX3772:0060 E2F3LOOPGO459772:QQ5Z B44CNOUH, 4c3772:0064 CD2LIMT213?2;0066 0OG9ADDtBX+SU.AL3772
18、:0068 0009ADDLBX*SIJ,AL3?72:0G5A GQGE)ADDBX+SU.AL3?72:0G6C 0069ADDBX+SIJpAL3772:005g D0G9ADDtBX*SU,AL3772:006® 0009ADDBX+S1J,ALX=4C33 BX=00C £=077。ES=0?6Gg4772:0664 dds70:0006 _ 7Q:001G _77O:0OE0 -770:00(30 ,770 0040 .770:0060 ,770:OO6O ,770 OCTOCD21CX=00OG BX=O000 SF=0G09 BF=00G0 51=0060
19、DI =0060SS=G76F CS=0?7Z P=0G64 NU UF El FL ZR NA PE NC IMT 21EZ8Z96 8G07i7 FF8AB5 E。57 G2 BEFF 1A 47 GK 4c12 46 83 15-57 3 33 36 13 12-00 G9DB明赳BB值 80 47 3 1B-EZ F147 03 B8 47-0B 4B GG 12 47 FF-Z7 830G 8自 4? FF-lfi 47 CE Z1 00 00-09 00工期7咐9 B B电 194 8BB4。1 0 8 0 F 1 3cQ0fi0B9明EZ”质33Q0阚00即北8800Eloy 件
20、 4 F FOsotffeFgz®lQ6£BE4Gr16进制结果10进制结果FIRST +SECOND57 C9 19 9c58 29 80 02FIRST -SECOND33 3C 13 1233 36 13 123、编程计算(Z +X*Y-328)-V)/ Y ,其中X、Y、Z、V均为16位带符号数,假设初始据分别装入 X、Y、Z、V单元,要求上式计算结果的商存入AX,余数存入 DX寄存器。同学自行给出初始值加以验证程序。(1)流程图及代码DATAS SEGMENTX DW 0D9HY DW 05CHZ DW 22HV DW 33Hresult DW 2 DUP(?);
21、此处输入数据段代码DATAS ENDSSTACKS SEGMENT;此处输入堆栈段代码STACKS ENDSCODES SEGMENTASSUME CS:CODES,DS:DATAS,SS:STACKSSTART:MOV AX,DATASMOV DS,AXMOV AX,XIMUL YMOV BX,AXMOV CX,DXMOV AX,ZCWDADD BX,AXADC CX,DXSUB BX,328SBB CX,0MOV AX,VCWDSUB BX,AXSBB CX,DXMOV AX,BXMOV DX,CXIDIV YMOV RESULT,AXMOV RESULT+ 2,DX;此处输入代码段代码MOV AH,4CHINT 21HCODES ENDSEND START(2)运行结果g771;0GZ3 0BD1MOUDX,CX771:0G2B F73E9E00IDIUWORD PTH 000Z1/71;*F A3UCCJ0ruvLOTSCJjAX7771:G03Z 9916000MOVQQOnLDXg7?1:G(CTh R44cmuRH, 4c771:0038 C»21I NT21fl77l:G03A ©GO©ADD(BX*SILAL序71: 003c oee
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 二零二五年度远程英语教育兼职外教合同3篇
- 二零二五年酒店员工福利待遇转让合同示例3篇
- 二零二五版寄卖合同范本:农产品寄售协议书3篇
- 二零二五版植物营养肥料试验与研究服务合同3篇
- 二零二五年度酒类批发市场租赁销售合同2篇
- 二零二五年度耕地承包与农村土地承包权登记发证合同2篇
- 二零二五年度红色文化遗址保护与修复合同3篇
- 二零二五版趸购电合同:电力批发市场交易合同2篇
- 二零二五版高端社区地下车库经营权转让合同3篇
- 二零二五年度智能化办公大楼安全防范系统合同2篇
- 【传媒大学】2024年新营销
- 乳腺癌的综合治疗及进展
- 【大学课件】基于BGP协议的IP黑名单分发系统
- 2025届广东省佛山市高三上学期普通高中教学质量检测(一模)英语试卷(无答案)
- 自身免疫性脑炎课件
- 人力资源管理各岗位工作职责
- 信阳农林学院《新媒体传播学》2023-2024学年第一学期期末试卷
- 2024建筑公司年终工作总结(32篇)
- 信息安全意识培训课件
- 2024年项目投资计划书(三篇)
- 配电安规课件
评论
0/150
提交评论