硬件实验报告2
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
本科实验报告
课程名称:硬件技术基础
实验项目:汇编语言程序设计
专业班级:软件1305班学号:2013006264 学生姓名:王睿
指导教师:高劲松
2015年5月5日
学院名称计算机科学与
技术
专业班级
软件
1305
学号2013006264 实验日期15-5-5
学生姓名王睿同组人姓名实验成绩
课程名称硬件技术基础实验题目汇编语言程序设计:综合程序设计实验
实验4 汇编语言程序设计:综合程序设计实验
一、实验目的
1.通过分支程序设计、循环程序设计实验,掌握无条件转移指令、条件转移指令的格式、功能及使用方法。
2.掌握分支程序的结构、单分支和多分支程序的设计方法。
3.了解循环程序的基本结构和控制循环的方法。
4.掌握通过DOS中断调用使用键盘和显示器的方法。
二、实验内容与要求
1.编写一个汇编程序,要求对键盘输入的大写字母用小写字母显示出来,键盘输入的小写字母用大写字母显示出来。
2. 编写一个汇编程序,使得从键盘上输入十个以内的字符,以输入空格结束,然后按数字、字母和其它符号三类统计各自的个数,在屏幕上依次显示出统计结果。
完善下面的原程序
CODE SEGMENT
MAIN PROC FAR
ASSUME CS:CODE
START : PUSH DS
SUB AX,AX
PUSH AX
MOV BH,0;统计数字的个数
MOV BL,0;统计字母的个数
MOV DH,0;统计其它字符的个数
MOV CX,10
AA1:CMP CX,0
JZ STOP ;输入字符超过10个
MOV AH,1
INT 21H ;从键盘接收一个字符
CMP AL,20H
JZ STOP
CMP AL,’0’
JB CC1
CMP AL,’9’
JA CC1
INC BH
自行写出比较是否为字母的情况
CC2:INC DH
DEC CX
STOP:MOV DL,BH
MOV AH,02
INT 21H
自行写出输出字母的个数
自行写出输出其它字符的个数
RET
Main endp
Code ends
End
实验源程序:
1.
STACK SEGMENT STACK
DB 200 DUP(0)
STACK ENDS
DATA SEGMENT
A D
B 'PLEASE INPUT (a~z ):','$'
B DB 0DH,0AH,'CONVERT RESULT:','$' DATA ENDS
CODE SEGMENT
ASSUME CS:CODE,DS:DATA,SS:STACK
START:MOV AX,DATA
MOV DS,AX
MOV DX,OFFSET A
MOV AH,09H
INT 21H
MOV AH,01H
INT 21H
MOV BL,AL
CMP BL,61H
JG S1
ADD BL,20H
JMP NEXT
S1: SUB BL,20H
NEXT: MOV DX,OFFSET B
MOV AH,09H
INT 21H
MOV DL,BL
MOV AH,02
INT 21H
MOV AH,4CH
INT 21H
CODE ENDS
END START
实验室名称行知楼C227 指导教师签名