计算机组成与汇编语言(实验报告)内容:实验一、六、七、八院系专业:计算机学院计算机科学与技术姓名:xxxxxxxxx学号:2011004xxxxx完成时间:2012年12月1日计算机组成与汇编语言实验报告姓名xxxx学号2011004xxxxx计分专业软件工程班级xxxx实验日期2012年12月1日实验名称实验一数制转换实验目的●熟悉各种进制数据之间的相互转换方法。●掌握二-十进制数据的相互转换程序设计。实验内容1.将编写好的程序1输入、编译、连接并运行。程序1清单#include#include#includevoidmain(){inti,l,s0=0,s=0;chara[17];while(l!=16){printf("请输入一个16位的二进制数:\n");gets(a);l=strlen(a);for(i=0;i<16;i++){if(a[i]!='0'&&a[i]!='1'){printf("输入的二进制数不正确!!");break;}}}if(a[15]=='1')s++;for(i=1;i<16;i++){if(a[15-i]=='1')s+=(1<#includevoidmain(){intt0,t1,t2,t3,i,j;inta[16];printf("请输入一个十进制数:");scanf("%d",&t0);t1=t0;for(i=0;i<16;i++){t2=t1/2;if(t2>1)a[i]=t1%2;elseif(t1==1){a[0]=1;for(i=1;i<16;i++)a[i]=0;}elseif(t1==2){a[i]=0;a[i+1]=1;for(j=i+2;j<16;j++)a[j]=0;break;}elseif(t1==3){a[i]=1;a[i+1]=1;for(j=i+2;j<16;j++)a[j]=0;break;}elsea[i]=0;t1=t2;}for(i=0;i<8;i++){t3=a[i];a[i]=a[15-i];a[15-i]=t3;}printf("十进制数:%d\n",t0);printf("对应的二进制数是:");for(i=0;i<16;i++)printf("%d",a[i]);printf("\n");}程序2运行结果:实验情况与体会:运行过程中出现过不能判断是否输错的情况以及权位判断有误等情况,经过思考和修改后修改正确,说明理解好二进制与十进制之间的转换过程很重要。编程过程中主要碰到的问题是,不够十六位的时候要在前面补零。转换方法主要是除二求余的方法。注:篇幅不够,可以另外附页。计算机组成与汇编语言实验报告姓名xxxx学号2011004xxxx计分专业软件工程班级xxxxx实验日期2012年12月1日实验名称实验六分支结构程序设计实验目的●熟悉有符号定点数的表示。●掌握原码、补码、反码之间的相互转换程序设计。实验内容1.调试程序1:求无符号字节变量X,Y之差的绝对值,存储于字节变量A中。源程序如下:DATASEGMENTXDB23YDB45ADB?DATAENDSCODESEGMENTASSUMECS:CODE,DS:DATASTART:MOVAX,DATAMOVDS,AXMOVAL,XMOVBL,YCMPAL,BLJAEBIGSUBBL,ALMOVA,BLJMPEXITBIG:SUBAL,BLMOVA,ALEXIT:MOVAX,4C00HINT21HCODEENDSENDSTART上机运行该程序并检查运行结果是否正确。上机实验过程:说明:该程序中X=23,Y=45,他们之差的绝对值为22,用16进制表示为0016H,即图中显示的结果2.调试程序2:DATASEGMENTBUFDB38H,73H,1FHMAXDB?DATAENDSCODESEGMENTASSUMECS:CODE,DS:DATASTART:MOVAX,DATAMOVDS,AXMOVAL,BUF;取BUF中的第一个数,同第二个数相比较,若大于则CMPAL,BUF+1;跳转到LP1JNBLP1MOVAL,BUF+1;小于则取出第二个数继续比较LP1:CMPAL,BUF+2;若BUF大于BUF+1,则与BUF+2比较JAELP2;大于等于则跳转到LP2MOVAL,BUF+2LP2:MOVMAX,AL;将最大的数转存到MAX中MOVBL,ALMOVCL,04SHRAL,CLCMPAL,0AH;将最大数的高四位和0AH比较JBLP3ADDAL,07HLP3:ADDAL,30H;将高四位转化为相应的ASCII码并以字符形式输出MOVDL,ALMOVAH,2INT21HMOVAL,BLANDAL,0FH;屏蔽高四位CMPAL,0AH;将低四位与0AH比较JBLP4ADDAL,07HLP4:ADDAL,30H;将低四位转化为相应的ASCII码并以字符形式输MOVDL,ALMOVAH,2INT21HMOVAH,4CHINT21HCODEENDSENDSTART上机运行该程序并检查运行结果是否正确。上机实验过程:说明:求出三个数里面的最大数73;3.编写程序1:编程实现从键盘输入一位数字,判断其奇偶性,并在屏幕上输出一个标志,若为奇数,则输出1,否则输出0。程序源代码:codesegmentassumecs:codestart:movah,01h;调用dos中断1#子功能输入字符int21h;al<-输入一位数字clc;cf清0rcral,1;al最低位移入cfjncevn;...