资源描述
中 北 大 学
课程设计任务书
10/11学年第 二 学期
学 院:
信息与通信工程学院
专 业:
自动化
学 生 姓 名:
张欣宇
学 号:
0805054116
课程设计题目:
码制转换系统设计
起 迄 日 期:
2011年6 月20日~2011年6月24日
课程设计地点:
中北大学
指 导 教 师:
张艳兵、张秀艳
系主任:
王忠庆
下达任务书日期: 2011 年 6 月 19日
课 程 设 计 任 务 书
1.设计目的:
用汇编语言编程设计一个码制转换系统,把键盘输入的十进制数转换为16进制数,显示出来。通过设计,掌握码制转换和子程序调用以及屏幕显示的工作原理,进一步提高综合运用知识的能力。
2.设计内容和要求(包括原始数据、技术参数、条件、设计要求等):
(1) 要求把键盘输入的2位十进制数,转换成十六进制数,并在屏幕上显示出十进制数和十六进制数。
(2) 选择方案,画出流程图。
(3) 编写汇编语言源程序,并调试。
(4) 写出设计说明书。
3. 设计工作任务及工作量的要求(包括课程设计计算说明书、图纸、实物样品等):
(1)查阅资料,确定设计方案
(2)画出程序流程图
(3)编写并调试汇编语言源程序
(4)撰写课程设计说明书
课 程 设 计任 务 书
4.主要参考文献:
1 《汇编语言》清华大学出版社 王爽编
2《IBM-PC汇编语言程序设计》清华大学出版社
5.设计成果形式及要求:
课程设计说明书1份
STACKS SEGMENT
DW 256 DUP(?)
TOP LABEL WORD
STACKS ENDS
DATE SEGMENT
STRING1 DB 'Input:','$'
STRING2 DB 'wrong!' ;显示界面提示
CTRL DB 0AH,0DH,'$'
BUFIN DB 03H ;十进制数长度设定为两位
DB 8 DUP(?) ; 腾出空间,值可修改
BUFOUT DB 8 DUP(?)
DATE ENDS
CODE SEGMENT
ASSUME CS:CODE,DS:DATE
START: MOV AX,DATE
MOV DS,AX
MOV AX,STACKS
MOV SS,AX
MOV SP,OFFSET TOP ;头定义
LEA DX,STRING1 ;取有效地址 (偏移量)
MOV AH,09H
INT 21H ;调用显示字符串的中断
LEA DX,BUFIN
MOV AH,0AH
INT 21H ;调用输入字符串的中断
MOV AL,BUFIN+1
CBW ;将AL的最高有效位D7扩展至AH
LEA SI,BUFIN+2
ADD SI,AX
MOV BYTE PTR [SI],'$'
LEA DX,CTRL
MOV AH,09H
INT 21H ;显示
XOR BX,BX ;XOR异或运算
LEA SI,BUFIN+2
AGAIN: MOV AL,[SI] ;检测输入数的长度
CMP AL,'$'
JZ HEX3
INC SI
SUB AL,30H
JB HEX2 ;错误的显示wrong
CMP AL,09
JBE HEX1 ;若属于正确范围内进行数据处理
CMP AL,10
JA HEX2
HEX1: CBW ;运算10*BX+AX
PUSH DX
PUSH AX
MOV DL,10
MOV AX,BX
MUL DL
MOV BX,AX
POP AX
POP DX
ADD BX,AX
JMP AGAIN
HEX2: LEA DX,STRING2 ;ascii码小于48显示wrong
MOV AH,09
INT 21H
JMP DONE
HEX3: MOV DX,BX
MOV SI,LENGTH BUFOUT
MOV BUFOUT[SI],'$'
L1: DEC SI
MOV AX,DX
MOV DX,0
MOV BX,16
DIV BX
XCHG AX,DX ;两个寄存器交换指令X
CMP AL,09
JLE HEX4 ;小于或等于则转移
ADD AL,07H
HEX4: ADD AL,30H ;翻译成ASCII码显示
MOV BUFOUT[SI],AL
CMP DX,0
JNZ L1
L2: MOV AL,BUFOUT[SI]
MOV DL,AL
MOV AH,02
INT 21H ;显示字符输出
INC SI
CMP BUFOUT[SI],'$'
JNZ L2
DONE: MOV AH,4CH ;结束
INT 21H
CODE ENDS
END START
程序流程图1份
实验步骤:编译,链接 调试
经调试,本程序正确
(各个软件已做好,欢迎老师索取)
程序清单1份
1重要的ASCII码值:48(30H)对应0
2与键盘,显示有关的IBM——PC的INT21中断(本次所用到的)
3本次所用的思想
数制转化:个位+十位*10 即为 所要表达的数的大小
所要表达的数的大小/16放在 高位, 它%16放在低位。
6.工作计划及进度:
起 迄 日 期
工 作 内 容
11年6月20日 ~ 6月21 日
6月 21日 ~6月22日
6月22日 ~ 6月23 日
6月 23日 ~ 6月24日
6 月24日
查阅资料,确定设计方案
画出流程图
编写并调试程序
撰写课程设计说明书
课程设计答辩
系主任审查意见:
签字:
年 月 日
展开阅读全文