汇编数值转换器大作业.doc

汇编数值转换器大作业

《 《汇编语言程序设计》 综合程序设计实验报告 题 目: 数制转换器 班 级: 信1101-2班 姓 名: 王兵茹 李夏蕾 胡佳奇 学 号: 完成日期: 2013-11-24 目录 一、简介 二、小组成员及具体分工 三、需求分析与设计 四、代码及分析 五、总结 一、简介 本设计利用汇编语言来实现数制转换设计,用于方便进制之间的互换。设计的内容可以使十六进制、八进制、二进制、十进制的数制互相转换。 二.小组成员及具体分工 小组成员:王兵茹 李夏蕾 胡佳奇 具体分工: 我们三个一开始是各自的分工查资料,先看看单个数制转换,王兵茹负责的是十六进制,李夏蕾负责的是十进制,胡佳琪负责的是二进制。 最后我们几个一起完成了程序的主要设计,由于大体思路相同,最后加上了八进制的转换。 在程序的修改方面,王兵茹进行了后期的加工,增加了dios中断,把单调的退出改成文本形式下的退出,在退出之前,执行清屏。 最后我们几个商量着完成了实验报告和ppt的制作,经过我们几个人的努力,虽然做的不是特别好,但还是各有收获。 三、需求分析与设计 ●需求分析 通过编程实现显示菜单,然后通过键盘输入菜单相应的选项进入相应的数制转换,然后通过选项对应的子程序跳转来实现转换,子程序中通过宏定义定义数制前后的数制,并且在宏定义过程中实现数制转换算法,最后输出转换后的进制数 。 设计 运行的设计框图 整个系统的设计框图 子程序之间调用关系框图 我们的这个程序主要就是用到的子程序的调用和大量的宏定义,对于输入时的宏定义有charin,strin,numin,输出时的宏定义有charout,strout,numout,输出的时候用到的是栈push和pop,在压栈push时,用到了irp不定重复伪操作。 定义通用inax宏,确定转换之前的进制,例如inax cx、cx=2是把转换之前的进制确定为2存到cx中 定义通用outax宏,确定转换之后的进制,例如outax bx、bx=2是把转换之后的进制确定为2存到bx中 通用宏charin逐个输入转换之前进制字符 输入的具体框图如下: 输出的具体框图如下 四、代码及分析 程序运行源代码如下: ;************************************************************************************* data segment space db 1000 dup( ) str1 db 10 dup( ),9 dup( ),Welcome to shuzhizhuanhuan!!!,52 dup( ) str12 db 240 dup ( ),9 dup( ),Thank you!!!,412 dup( ) clear_screen MACRO ;清屏宏定义 mov ah,06h mov al,0 mov bh,0f0h ;白底黑字 mov ch,0 ;从0行0列到23行79列清屏 mov cl,0 mov dh,23 mov dl,79 int 10h mov dx,0 ;光标在左上角 mov ah,2 int 10h ;调用bios ENDM menu db 10,13,************************************************* db 10,13,************************************************* db 10,13,* please choice action: * db 10,13,* a.binary 2 to octal 8 * db 10,13,* b.binary 2 to decimal 10 * db 10,13,* c.binary 2 to hexadecimal 16 * db

文档评论(0)

1亿VIP精品文档

相关文档