当前位置:文档之家› 汇编数值转换器大作业

汇编数值转换器大作业

str12db240dup(' '),9dup(' '),'Thank you!!!',412dup(' ')
clear_screen MACRO;清屏宏定义
movah,06h
moval,0
movbh,0f0h;白底黑字
movch,0;从0行0列到23行79列清屏
movcl,0
movdh,23
movdl,79
●设计
1运行的设计框图
2整个系统的设计框图
3子程序之间调用关系框图的宏定义,对于输入时的宏定义有charin,strin,numin,输出时的宏定义有charout,strout,numout,输出的时候用到的是栈push和pop,在压栈push时,用到了irp不定重复伪操作。
最后我们几个商量着完成了实验报告和ppt的制作,经过我们几个人的努力,虽然做的不是特别好,但还是各有收获。
三、需求分析与设计
●需求分析
通过编程实现显示菜单,然后通过键盘输入菜单相应的选项进入相应的数制转换,然后通过选项对应的子程序跳转来实现转换,子程序中通过宏定义定义数制前后的数制,并且在宏定义过程中实现数制转换算法,最后输出转换后的进制数。
程序运行源代码如下:
;*************************************************************************************
datasegment
spacedb1000dup(' ')
str1db10dup(' '),9dup(' '),'Welcome to shuzhizhuanhuan!!!',52dup(' ')
db10,13,'* d.octal 8 to binary 2 *'
db10,13,'* e.octal 8 to decimal 10 *'
db10,13,'* f.octal 8 to hexadecimal 16 *'
db10,13,'* g.decimal 10 to binary 2 *'
定义通用inax宏,确定转换之前的进制,例如inax cx、cx=2是把转换之前的进制确定为2存到cx中
定义通用outax宏,确定转换之后的进制,例如outax bx、bx=2是把转换之后的进制确定为2存到bx中
通用宏charin逐个输入转换之前进制字符
输入的具体框图如下:
输出的具体框图如下
四、代码及分析
str32db'the octal string is:',10,13,'$'
str33db'the decimal string is:',10,13,'$'
;10进制转换为2进制和8进制和16进制
str4db10,13,'please input the decimal string:',10,13,'$'
db10,13,'* h.decimal 10 to octal 8 *'
db10,13,'* i.decimal 10 to hexadecimal 16 *'
db10,13,'* j.hexadecimal 16 to binary 2 *'
db10,13,'* k.hexadecimal 16 to octal 8 *'
;2进制转换为16进制和10进制和8进制
str2db10,13,'please input the binary string:',10,13,'$'
str21db'the hexadecimal string is:',10,13,'$'
str22db'the decimal string is:',10,13,'$'
二.小组成员及具体分工
小组成员:王兵茹李夏蕾胡佳奇
具体分工:我们三个一开始是各自的分工查资料,先看看单个数制转换,王兵茹负责的是十六进制,李夏蕾负责的是十进制,胡佳琪负责的是二进制。
最后我们几个一起完成了程序的主要设计,由于大体思路相同,最后加上了八进制的转换。
在程序的修改方面,王兵茹进行了后期的加工,增加了dios中断,把单调的退出改成文本形式下的退出,在退出之前,执行清屏。
db10,13,'* l.hexadecimal 16 to decimal 10 *'
db10,13,'* m.exit *'
db10,13,'*************************************************',10,13,'$'
;**************************************************************
db10,13,'* please choice action: *'
db10,13,'* a.binary 2 to octal 8 *'
db10,13,'* b.binary 2 to decimal 10 *'
db10,13,'* c.binary 2 to hexadecimal 16 *'

《汇编语言程序设计》
综合程序设计实验报告
题目:数制转换器
班级:信1101-2班
姓名:王兵茹李夏蕾
胡佳奇
学号:20112917 20112912
20113013
完成日期:2013-11-24
一、简介
二、小组成员及具体分工
三、需求分析与设计
四、代码及分析
五、总结
一、简介
本设计利用汇编语言来实现数制转换设计,用于方便进制之间的互换。设计的内容可以使十六进制、八进制、二进制、十进制的数制互相转换。
str23db'the octal string is:',10,13,'$'
;16进制转换为2进制和8进制和10进制
str3db10,13,'please input the hexadecimal string:',10,13,'$'
str31db'the binary string is:',10,13,'$'
int 10h
movdx,0;光标在左上角
movah,2
int 10h;调用bios
ENDM
menudb10,13,'*************************************************'
db10,13,'*************************************************'
相关主题