北理工汇编语言实验报告2.doc_第1页
北理工汇编语言实验报告2.doc_第2页
北理工汇编语言实验报告2.doc_第3页
北理工汇编语言实验报告2.doc_第4页
北理工汇编语言实验报告2.doc_第5页
已阅读5页,还剩2页未读 继续免费阅读

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

本科实验报告实验名称: CPU与汇编实验 课程名称:算术运算类操作实验实验时间:2014.10.14任课教师:高平实验地点:10-102实验教师:高平实验类型: 原理验证 综合设计 自主创新学生姓名:可少雄学号/班级:1120121439/05611201组 号:学 院:信息与电子学院同组搭档:专 业:信息对抗技术成 绩:实验二算术运算类操作实验 (基础与设计)一、实验要求和目的1、了解汇编语言中的二进制、十六进制、十进制、BCD 码的表示形式;2、掌握各类运算类指令对各状态标志位的影响及测试方法;3、熟悉汇编语言二进制多字节加减法基本指令的使用方法;4、熟悉无符号数和有符号数乘法和除法指令的使用;5、掌握符号位扩展指令的使用。6、掌握BCD 码调整指令的使用方法二、实验内容与步骤1、对于两组无符号数,087H 和034H,0C2H 和5FH,试编程求这两组数的和差积商,并考虑计算结果对标志寄存器中状态标志位的影响:计算状态标志源代码如下:DATAS SEGMENTnum1dw 087hnum2dw 034hnum3dw 0c2hnum4dw 5Fhresult1dw 4 dup(?)result2dw 4 dup(?) ;此处输入数据段代码 DATAS ENDSSTACKS SEGMENT ;此处输入堆栈段代码STACKS ENDSCODES SEGMENT ASSUME CS:CODES,DS:DATAS,SS:STACKSSTART: MOV AX,DATAS MOV DS,AXmov bx,num2mov ax,num1addax,bxmov result10,axmov ax,num1subax,bxmov result12,axmov ax,num1mulbxmov result14,axmov ax,num1divbxmov result16,axmov bx,num4mov ax,num3addax,bxmov result20,axmov ax,num3subax,bxmov result22,axmov ax,num3mulbxmov result24,ax mov ax,num3divbxmov result26,axmov AH,4CH INT 21HCODES ENDS END START运行结果如下:计算状态标志表达式结果cfafzfofsfpf087h+034h00bb010001087h-034h0053000000087h*034h1b6c000001087h/034h00020000010c2h+5fh01210100010c2h-5fh00630100010c2h*5fh47fe0100010c2h/5fh0247010001总结各运算对状态标志位的影响,及其意义。2、在数据段定义了两个多精度的有符号16 进制数,FIRST 和SECOND ,1)求两数的和与差,并将结果存放在THIRD 为首地址的缓冲区中;2)如果把两组数据当作十进制数据来处理,再次求两数的和与差,并将结果存放在FORTH 为首地址的缓冲区中。试编程实现上述运算。FIRST DW 45 H,82H,96 H,57HSECOND DW 12 H,46H,83 H,45H16进制结果10进制结果FIRST +SECONDFIRST SECOND源代码如下:DATAS SEGMENT first db 45h,82h,96h,57hseconddb 12h,46h,83h,45hthirddb 8 dup(?)forthdb 8 dup(?);此处输入数据段代码DATAS ENDSSTACKS SEGMENT ;此处输入堆栈段代码STACKS ENDSCODES SEGMENT ASSUME CS:CODES,DS:DATAS,SS:STACKSSTART: MOV AX,DATAS MOV DS,AXmov cx,4mov si,0 l1: moval,firstsimovbl,secondsiaddal,blmov thirdsi,almoval,firstsisubal,blmov thirdsi+4,alincsiloop l1 mov cx,4mov si,0 l2: moval,firstsimovbl,secondsiaddal,bldaamov forthsi,almoval,firstsisubal,bldasmov forthsi+4,alincsi loop l2 ;此处输入代码段代码 MOV AH,4CH INT 21HCODES ENDSEND START结果如下:前8个数据是first和second数组,后面紧接着8个数是first与second相加和想减的16进制结果,为57,c8,19,9c,33,3c,13,12;再接下来是10进制结果,为57,28,79,82,33,36,13,123、编程计算((Z +X*Y -328) -V)/ Y,其中X、Y、Z、V 均为16 位带符号数,假设初始数据分别装入X、Y、Z、V 单元,要求上式计算结果的商存入AX,余数存入DX 寄存器。源代码如下:DATAS SEGMENTxdw 3fhydw 0ffhzdw 2 v dw 34;此处输入数据段代码 DATAS ENDSCODES SEGMENT ASSUME CS:CODES,DS:DATAS,SS:STACKSSTART: MOV AX,DATAS MOV DS,AXmovbx,ymov

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

评论

0/150

提交评论