山东大学汇编语言上机实验 - 实验五 - 图文 联系客服

发布时间 : 星期二 文章山东大学汇编语言上机实验 - 实验五 - 图文更新完毕开始阅读

ret

m10asbi endp

;---------------------------------------------- ; Scroll screen ; --------------

q10scr proc near mov bh,07 sub cx,cx mov dx,184fh int 10h ret

q10scr endp

;-------------------------------------------------- ; Set cursor ; --------------

q20curs proc near mov ah,2 sub bh,bh mov dh,row mov dl,col int 10h ret

q20curs endp

;--------------------------------------------------- codesg ends end begin

该部分的程序框图如下:

实验截图如下:

实验总结:

在进行接受用户工作时间及工资率的时候必须先画好结构框图,避免出现前后不对应的情况,字的除法运算指令要求双精度的被除数和单精度的除数相处,结果应该是单精度的商。

2.8HANOI塔题

编写HANOI塔的程序,在这个谜题中,A轴自下而上的叠有大小逐渐见效的N的盘子,现在要求把它们都移到C轴上并保持原来的秩序。移动时允许把盘子暂时存放在B轴但必须遵循以下规则:

1:一次只能有一个盘子从一个轴移动打另外一个轴 2:一个盘子不能放在比他小的盘子上面。

这是一个经典的递归子程序的例子。我们用N表示盘子数,并从小到大把盘子编号为1,2,3,。。。。。。N。用X,Y,Z,表示起始轴,宗建洲和最终轴。用UVI表示第I个盘子从U轴移动到V轴,V可以是X,Y,Z,中的任意一个轴

基数:HANOI(1,X,Y,Z) 显示X1Z

归纳步骤:HANOI(N,X,Y,Z) (N>1)做以下三步

1执行HANOI(N-1,X,Z,Y) 2显示XNZ

3执行HANOI(N-1,X,Y,Z)

根据这一算法可以分析出HANOI的执行过程如图所示

1模块名:main 为总控制块

输入:接受从键盘输入的盘子数N及起始中间和最终轴名,存放在BX,CX,SI,DI,寄存器当中。

输出:以UIV形式,顺序显示出盘子的移动办法

功能:用递归计算并显示出HANOI的移动办法 基数:HANOI(1,X,Y,Z)显示XIZ 归纳步骤:HANOI(N,X,Y,Z,)(N-1)

(1)执行HANOI(N-1,X,,Z,Y) (2)显示XNZ

(3)执行HANOI(N-1,Y,X,Z)

调用子程序接受盘子数

调用子程序实现回车,换行功能

2模块名:decibin