当前位置:首页 > 汇编语言课程设计
课程设计说明书
代码转换程序设计
一.功能简述:
本程序用于完成一个字母或数制之间的转化,主程序具有五种可选择的子功能,按相应的字母(a.b.c.d.e)可分别进入相应的子功能,然后提示用户功能并在屏幕上接受输入后显示操作结果。程序按“q”建退出。
五种可选择的子功能分别有:
1) 2) 3) 4) 5)
实现大写字母向小写字母的转换; 实现小写字母向大写字母的转换; 实现十六进制数向二进制数的转换; 实现二进制数向十六进制数的转换; 实现十六进制数向十进制数的转换。
二.设计思想:
该程序开始时须输入功能选择(字母a——e之间),如果输入其他字母或字符,则显示输入错误。字母a.b.c.d.e分别表示执行一个子功能,然后进入相应的子程序。
子程序开始会提示用户输入所要转换的字母或数字,当用户输入一个字母或数字后,程序会执行判断:
【如果该字母或数字符合转换条件,程序会继续执行,并输出转换后的字母或数字;
如果该字符或数字不满足转换条件,则程序直接跳转到开始(start),此时用户可重新输入。】
期间用户可以执行多次输入,并且在每次输入后程序都会被执行一次输出结果,直到用户按“q”键,则退出程序。
本程序共运用了多种程序设计思想,其中包括分支程序设计.子程序设计.程序设计嵌套等思想。当然还用到了最基本的中断调用和程序调用等知识。
三.程序框图:
开 始 输入字符 Y 字符=A? N 字符=B? Second小写转换为大写 字符=C? 调用second 调用CRLF Y 字符=D? N Forth二->十六进制转换 调用forth 字符=Q? 调用CRLF N Y 显示输出“ERROR” Fifth十六->十进制转换 调用ONE 调用CRLF 调用TWO 调用CRLF 结 束 字符=E? N 调用third 调用CRLF Y N Third十六->二进制转换 N First大写转换为小写 调用first Y 调用CRLF Y 四.源程序代码:
;*************************************************************************************** datarea segment ;数据段定义 message1 db 'ERROR! another order!$'
message2 db 'please choose the order! (a.max to min b.min to max c.sixteen to two d.two to sixteen e.sixteen to ten q.exit):$' datarea ends
;*************************************************************************************** code segment assume cs:code,ds:datarea main proc far start: push ds
sub ax,ax push ax
mov ax,datarea mov ds,ax
lea dx,message2 mov ah,9 int 21h
call crlf mov ah,1 int 21h
cmp al,'a' je L1
cmp al,'b' je L2
cmp al,'c' je L3
cmp al,'d' je L4
cmp al,'e' je L5
cmp al,'q' je exited
lea dx,message1 mov ah,9 int 21h
call crlf jmp start
L1: call crlf
call first jmp start L2: call crlf
;代码段定义 ;提示用户操作种类,以便输入 ;回车换行 ;若输入a,则执行大写字母转换成小写字母 ;若输入b,则执行小写字母转换成大写字母 ;若输入c,则执行十六进制转换成二进制 ;若输入d,则执行二进制转换成十六进制 ;若输入e,则执行十六进制转换成十进制 ;若输入q,则退出程序 ;若条件都不满足,则输入错误,重新输入 ;回车换行,以免覆盖原来输入值 ;调用大写字母转换成小写字母
共分享92篇相关文档