汇编实验报告详细版.docx
- 文档编号:43774
- 上传时间:2022-10-01
- 格式:DOCX
- 页数:46
- 大小:963.71KB
汇编实验报告详细版.docx
《汇编实验报告详细版.docx》由会员分享,可在线阅读,更多相关《汇编实验报告详细版.docx(46页珍藏版)》请在冰豆网上搜索。
汇编实验报告详细版
计算机组成与汇编语言
(实验报告)
内 容:
实验一、六、七、八
院系专业:
计算机学院计算机科学与技术
姓名:
xxxxxxxxx
学号:
*******xxxxx
完成时间:
2012 年12月1日
计算机组成与汇编语言实验报告
姓名
xxxx
学号
2011004xxxxx
计分
专业
软件工程
班级
xxxx
实验日期
2012年12月1日
实验名称
实验一数制转换
实验目的
●熟悉各种进制数据之间的相互转换方法。
●掌握二-十进制数据的相互转换程序设计。
实验内容
1.将编写好的程序1输入、编译、连接并运行。
程序1清单
#include
#include
#include
voidmain()
{
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<
}
printf("二进制:
");
puts(a);
printf("对应的十进制为:
");
printf("%d\n",s);
}程序1运行结果:
说明:
如果不是16位二进制则会提示错误。
2.将编写好的程序2输入、编译、连接并运行。
程序2清单
#include
#include
voidmain()
{
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;
}
else
a[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中。
源程序如下:
DATASEGMENT
XDB23
YDB45
ADB?
DATAENDS
CODESEGMENT
ASSUMECS:
CODE,DS:
DATA
START:
MOVAX,DATA
MOVDS,AX
MOVAL,X
MOVBL,Y
CMPAL,BL
JAEBIG
SUBBL,AL
MOVA,BL
JMPEXIT
BIG:
SUBAL,BL
MOVA,AL
EXIT:
MOVAX,4C00H
INT21H
CODEENDS
ENDSTART
上机运行该程序并检查运行结果是否正确。
上机实验过程:
说明:
该程序中X=23,Y=45,他们之差的绝对值为22,用16进制表示为0016H,即图中显示的结果
2.调试程序2:
DATASEGMENT
BUFDB38H,73H,1FH
MAXDB?
DATAENDS
CODESEGMENT
ASSUMECS:
CODE,DS:
DATA
START:
MOVAX,DATA
MOVDS,AX
MOVAL,BUF;取BUF中的第一个数,同第二个数相比较,若大于则
CMPAL,BUF+1;跳转到LP1
JNBLP1
MOVAL,BUF+1;小于则取出第二个数继续比较
LP1:
CMPAL,BUF+2;若BUF大于BUF+1,则与BUF+2比较
JAELP2;大于等于则跳转到LP2
MOVAL,BUF+2
LP2:
MOVMAX,AL;将最大的数转存到MAX中
MOVBL,AL
MOVCL,04
SHRAL,CL
CMPAL,0AH;将最大数的高四位和0AH比较
JBLP3
ADDAL,07H
LP3:
ADDAL,30H;将高四位转化为相应的ASCII码并以字符形式输出
MOVDL,AL
MOVAH,2
INT21H
MOVAL,BL
ANDAL,0FH;屏蔽高四位
CMPAL,0AH;将低四位与0AH比较
JBLP4
ADDAL,07H
LP4:
ADDAL,30H;将低四位转化为相应的ASCII码并以字符形式输
MOVDL,AL
MOVAH,2
INT21H
MOVAH,4CH
INT21H
CODEENDS
ENDSTART
上机运行该程序并检查运行结果是否正确。
上机实验过程:
说明:
求出三个数里面的最大数73;
3.编写程序1:
编程实现从键盘输入一位数字,判断其奇偶性,并在屏幕上输出一个标志,若为奇数,则输出1,否则输出0。
程序源代码:
codesegment
assumecs:
code
start:
movah,01h ;调用dos中断1#子功能输入字符
int21h ;al<-输入一位数字
clc ;cf清0
rcral,1 ;al最低位移入cf
jncevn ;最后一位是0说明是偶数
moval,31h ;奇数al=1的ascii码
jmpdisp
evn:
moval,30h ;偶数,al<-1的ascii码
disp:
movah,02h ;dos中断的2#子功能,输出字符
;movdl,0ah ;output\n
;int21h
;movdl,0dh ;outputenter
;int21h
movdl,al ;outflagword
int21h
movah,4ch ;returndos
int21h
codeends
endstart
说明:
输入4,为偶数则输出0,即上图的40.输入5,为奇数则输出1即上图的51;
4.编写程序2:
编程实现任意给定X值(-128<=X<=127),求符号函数Y的值,存放于内存单元。
5X-3当X>0
Y=0当X=0
2X当X<0
源程序如下:
DATASEGMENT
XDB?
YDB?
INPUTDB'INPUTANUMBER:
','$'
DATAENDS
CODESEGMENT
ASSUMECS:
CODE,DS:
DATA
START:
MOVAX,DATA
MOVDS,AX
MOVDX,OFFSETINPUT;取INPUT的首地址
MOVAH,9;实现键盘的输出
INT21H
MOVAH,1;实现键盘的输入
INT21H
ANDAL,0FH;将ASCII码转化为真值
MOVX,AL
CMPX,0;与0比较,大于则跳到NT1,小于则跳到NT2
JNLNT1
CMPX,0
JLNT2
JMPEXIT
NT1:
MOVDL,AL;将X转存到DL,AL=DL=X
ADCDL,DL;DL=2X
ADCDL,DL;DL=4X
ADCAL,DL;AL=5X
MOVBL,3
SBBAL,BL;BL=5X-3
JMPEXIT
NT2:
SHLAL,1;AL=2X
JMPEXIT
EXIT:
MOVY,AL;结果存放于Y中
MOVAH,4CH
INT21H
CODEENDS
ENDSTART
说明:
输入9,则输出2A(十六进制)即4*9-3=42(十进制);
5.将编写好的程序3输入、编译、连接并运行。
程序3清单
DATASEGMENT
ADW03H
BDW03H
DATAENDS
CODESEGMENT
ASSUMECS:
CODE,DS:
DATA
START:
MOVAX,DATA
MOVDS,AX
MOVAX,A
MOVBX,B
ANDAX,01H;判断A、B是否为奇数
ANDBX,01H
CMPAX,BX;若A
JNENT1
CMPAX,1;若A=1,说明A、B同为奇数
JENT2
CMPAX,0;若A=0,说明A、B同为偶数
JENT3
JMPEXIT
NT1:
MOVAX,A;若A为偶数,B为奇数,则交换
MOVBX,B
XCHGAX,BX
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 汇编 实验 报告 详细