汇编作业8皇后

发布 2023-05-16 15:15:28 阅读 2706

实验二报告。

一、 实验过程。

编程环境:vs2010

实现思路:采用递归求解的思想,汇编**主要分三个模块:

递归函数queen:求取第i行的合法的皇后位置;

测试函数place:判定皇后当前位置是否合法,以eax返回判定结果;

打印信息的宏:打印出当前得到的放置顺序。

二、 实验记录及理论分析。

1、 数组取值和赋值的问题:

-刚开始使用形如array[esi]的方式对数组元素进行赋值和取值,因为没有真正把握相对基址编址操作数的使用方法,导致了数组赋值出现问题,现已解决;

-提交的汇编**中,使用偏移量的方式对数组元素进行访问,过程比较繁琐,每次必须先获得数组首地址,再计算偏移量,最后定位。

2、 寄存器使用问题:

-刚开始写的时候,存在寄存器交配使用的问题,比如esi用来存储下标,在书写**的时候将其用作中间变量,导致循环结果出错;

-刚开始没有合理的使用寄存器,一些寄存器有些约定俗成的使用方法;

3、 程序算法选择问题:

-此次实验采用了两种不同的方法求解n皇后问题,主要的差异在判断当前皇后所处位置是否合理上。

方法一:预先设定三个标志数组,列、左斜、右斜各一个数组,思路简单,但是由于要频繁对数组标志位进行修改,导致汇编程序臃肿,且调试难度大;

方法二:仅采用一个记录数组,每次判定位置是否合法只要对一个数组进行操作,相对比较容易。

三、 实验体会。

看似很简单的n皇后问题,用汇编语言实现起来却遇到种种困难。主要问题出在。

对汇编语言的基本知识还没有一个较深的把握,对一些知识点存在很大的误解;缺乏汇编编程的经验,依然采用高级语言的编程思路,而没能够以刚开始就采用适合汇编逻辑的算法。总之,此次实验让我对汇编编程有了切身的体会,为后面的汇编语言编程做好了一点点准备。

四、 实验结果展示:8皇后求解。

微机原理与汇编作业

编程作业。编程时尽量使用子程序结构 宏指令 模块化设计等复杂方法 按照循序渐进原则,先实现功能再改进 1.通过键盘以拼音形式输入人名 最多30个 当所有人名输入后,按照字母表的顺序将人名排列,并在屏幕上显示。2.在硬盘的d盘test文件夹下创建文件,将用户通过键盘输入的信息写入创建的文件中。3.通过...

汇编作业题答案

1 已知8086系统某存储单元物理地址为12345h,写出4个可以与它对应的 逻辑地址 1234h 0005h,1230h 0045h,1220h 0145h,1224h 0105h,2 已知8086系统某存储单元物理地址为12345h,可以与它对应的 逻辑地址 中,段基址最大值,最小值分别是多少?...

高考语文试题分类汇编作文

湖南省高考语文试题分类汇编 作文 2004 20xx年 20xx年湖南卷 25 阅读下面的文字,根据要求作文。60分 目前,我国18岁以下未成年人已达3.67亿,在每个孩子的背后,是一双双深情关注的眼睛。家长对孩子教育的重视,超过了以往任何一个时代。中国的家庭教育,也有了长足的进步,现代教育意识向家...