汇编实验报告(详细版)
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
计算机组成与汇编语言(实验报告)
内容: 实验一、六、七、八
院系专业:计算机学院计算机科学与技术
姓名:xxxxxxxxx
学号:*******xxxxx
完成时间:2012年12月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运行结果:
实验情况与体会:
运行过程中出现过不能判断是否输错的情况以及权位判断有误等情况,经过思考和修改后修改正确,说明理解好二进制与十进制之间的转换过程很重要。编程过程中主要碰到的问题是,不够十六位的时候要在前面补零。转换方法主要是除二求余的方法。
注:篇幅不够,可以另外附页。
计算机组成与汇编语言实验报告
姓名xxxx 学号2011004xxxx 计分
专业软件工程班级xxxxx 实验日期2012年 12 月 1日实验名称实验六分支结构程序设计
实验目的
●熟悉有符号定点数的表示。
●掌握原码、补码、反码之间的相互转换程序设计。
实验内容
说明:该程序中X=23,Y=45,他们之差的绝对值为22,用16进制表示为0016H,即图中显示的结果
2.调试程序2:
DATA SEGMENT
ADD AL, 07H
LP4: ADD AL, 30H ;将低四位转化为相应的ASCII码并以字符形式输MOV DL, AL
MOV AH, 2
INT 21H
MOV AH, 4CH
INT 21H
CODE ENDS
END START
上机运行该程序并检查运行结果是否正确。
上机实验过程:
说明:求出三个数里面的最大数73;
3. 编写程序1:编程实现从键盘输入一位数字,判断其奇偶性,并在屏幕上输出一个标志,若为奇数,则输出1,否则输出0。
程序源代码:
code segment
assume cs:code
start:mov ah,01h ;调用dos中断1#子功能输入字符
int 21h ;al<-输入一位数字
clc ;cf清0
rcr al,1 ;al最低位移入cf
jnc evn ;最后一位是0说明是偶数
mov al,31h ;奇数al=1的ascii 码
jmp disp
evn: mov al,30h ;偶数,al<- 1的ascii码
disp: mov ah,02h ;dos 中断的2#子功能,输出字符
;mov dl,0ah ;output \n
;int 21h
;mov dl,0dh ;output enter
;int 21h
mov dl,al ;out flag word
int 21h
mov ah,4ch ;return dos
int 21h
code ends
end start
说明:输入4,为偶数则输出0,即上图的40.输入5,为奇数则输出1即上图的51;
4. 编写程序2:编程实现任意给定X值(-128<=X<=127),求符号函数Y的值,存放于内存单元。
5X-3 当X>0
Y= 0 当X=0
2X 当X<0
源程序如下:
DATA SEGMENT
X DB ?
Y DB ?
INPUT DB 'INPUT A NUMBER:','$'
DATA ENDS
CODE SEGMENT
ASSUME CS: CODE, DS: DATA
START: MOV AX, DATA
MOV DS, AX
MOV DX, OFFSET INPUT;取INPUT的首地址
MOV AH, 9 ;实现键盘的输出
说明:输入9,则输出2A(十六进制)即4*9-3=42(十进制);
5. 将编写好的程序3输入、编译、连接并运行。
程序3清单
DATA SEGMENT
JMP EXIT
NT3: MOV AX, A ;若A、B同为偶数,则不变 MOV BX, B
MOV A, AX
MOV B, BX
EXIT: MOV AH, 4CH
INT 21H
CODE ENDS
END START
程序3运行结果:
说明:A,B两个数都为3,都为奇数,故加1.成4,结果如上图。
实验情况与体会:
在此次实验中,可以说是我第一次接触到真正编写汇编实验,尽管刚开始写程序时会有指令不熟悉的情况或者指令运用不灵活的情况虽然程序的算法不难,但对于初学者来说,把思路理得顺畅还得花点时间好好琢磨。这让我觉得汇编是一门新的计算机语言,要想更好地掌握,还得自己多补不足,多花时间学习。
计算机组成与汇编语言实验报告
姓名xxxxx 学号2011004xxxxx 计分
专业软件工程班级xxxxx 实验日期2012年 12 月 1日实验名称实验七循环结程序设计
实验目的
●加深对循环结构的理解。
●掌握循环程序的设计方法。
●进一步熟悉汇编语言程序的汇编、连接及调试技术。
实验内容
1.调试程序1:统计字型变量X中1的个数,存储于字节变量Y中。
源程序如下:
DATA SEGMENT
X DW 63H
Y DB ?