北理工汇编语言实验报告2.docVIP

  • 11
  • 0
  • 约2.9千字
  • 约 7页
  • 2016-11-26 发布于重庆
  • 举报
北理工汇编语言实验报告2

本科实验报告 实验名称: CPU与汇编实验 课程名称: 算术运算类操作实验 实验时间: 2014.10.14 任课教师: 高平 实验地点: 10-102 实验教师: 高平 实验类型: □ 原理验证 □ 综合设计 □ 自主创新 学生姓名: 可少雄 学号/班级: 1120121439组 号: 学 院: 信息与电子学院 同组搭档: 专 业: 信息对抗技术 成 绩: 实验二算术运算类操作实验 (基础与设计) 一、实验要求和目的 1、了解汇编语言中的二进制、十六进制、十进制、BCD 码的表示形式; 2、掌握各类运算类指令对各状态标志位的影响及测试方法; 3、熟悉汇编语言二进制多字节加减法基本指令的使用方法; 4、熟悉无符号数和有符号数乘法和除法指令的使用; 5、掌握符号位扩展指令的使用。 6、掌握BCD 码调整指令的使用方法 二、实验内容与步骤 1、对于两组无符号数,087H 和034H,0C2H 和5FH,试编程求这两组数的和差积商,并考 虑计算结果对标志寄存器中状态标志位的影响: 计算状态标志 ·源代码如下: DATAS SEGMENT num1dw 087h num2dw 034h num3dw 0c2h num4dw 5Fh result1dw 4 dup(?) result2dw 4 dup(?) ;此处输入数据段代码 DATAS ENDS STACKS SEGMENT ;此处输入堆栈段代码 STACKS ENDS CODES SEGMENT ASSUME CS:CODES,DS:DATAS,SS:STACKS START: MOV AX,DATAS MOV DS,AX mov bx,num2 mov ax,num1 addax,bx mov result1[0],ax mov ax,num1 subax,bx mov result1[2],ax mov ax,num1 mulbx mov result1[4],ax mov ax,num1 divbx mov result1[6],ax mov bx,num4 mov ax,num3 addax,bx mov result2[0],ax mov ax,num3 subax,bx mov result2[2],ax mov ax,num3 mulbx mov result2[4],ax mov ax,num3 divbx mov result2[6],ax mov AH,4CH INT 21H CODES ENDS END START ·运行结果如下: 计算 状态标志 表达式 结果 cf af zf of sf pf 087h+034h 00bb 0 1 0 0 0 1 087h-034h 0053 0 0 0 0 0 0 087h*034h 1b6c 0 0 0 0 0 1 087h/034h 0002 0 0 0 0 0 1 0c2h+5fh 0121 0 1 0 0 0 1 0c2h-5fh 0063 0 1 0 0 0 1 0c2h*5fh 47fe 0 1 0 0 0 1 0c2h/5fh 0247 0 1 0 0 0 1 总结各运算对状态标志位的影响,及其意义。 2、在数据段定义了两个多精度的有符号16 进制数,FIRST 和SECOND ,1)求两数的和 与差,并将结果存放在THIRD 为首地址的缓冲区中;2)如果把两组数据当作十进制数据 来处理,再次求两数的和与差,并将结果存放在FORTH 为首地址的缓冲区中。试编程实现 上述运算。 FIRST DW 45 H,82H,96 H,57H SECOND DW 12 H,46H,83 H,45H 16进制结果10进制结果 FIRST +SECOND FIRST –SECOND 源代码如下: DATAS SEGMENT first db 45h,82h,96h,57h seconddb 12h,46h,83h,45h thirddb 8 dup(?) forthdb 8 dup(?);此处输入数据段代码 DATAS ENDS STACKS SEGMENT ;此处输入堆栈段代码 STACKS ENDS CODES SEGMENT ASSUME CS:CODES,DS:DATAS,SS:STACKS START: MOV AX,DATAS MOV DS,AX mov cx,4 mov si,0 l1: m

您可能关注的文档

文档评论(0)

1亿VIP精品文档

相关文档