2018.12.8 13:30-15:20 《汇编语言程序设计》考试

刚考完,回忆一下题目。

先总结一下:感觉考得还是蛮细的,主要自己复习时间也不多,全凭上学期学过一遍的记忆和笔记复习的。

一、选择题

  1. 有一题是八位补码表示二进制数,有 6 个 1 ,2 个 0,让你选真值最小的。感觉这题还是蛮有意思的,把四个选项都算一遍原码、反码、补码,就能找到答案啦。

  2. 然后有道原题,就是:一个有 128 个字的数据区,它的起始地址为 12ABH:00ABH,这个数据区最末一个字单元的物理地址是( )。

    A. 12C5BH B.12B6BH C.12C59H D.12BFEH

    仔细算算,然后注意是 ,所以是 127 * 2 = 254,再转换成十六进制,进行地址相加,答案就出来了,是 12C59H

  3. 还考了 异或

  4. 考了一道我没复习到的知识点:常量、变量、物理地址什么的,记不清了。

  5. 还考了一道我不知道的:哪一个是做偏移地址的。我选的是 IP

  6. 哪一条指令执行后,Z 位不为0。当时在 CMPTEST 之间纠结,主要还是自己没记牢,最后改成了 CMP 。我也不知道答案是哪一个。

二、填空题

  1. 第一道第二道又是进制转换,又想起了上学期这么简单的题目都做错了。这次记住了,BCD 码其实表示的是十进制数!
  2. 考了道除法指令:被除数放在 AX,8 位商放在 AL,8 位余数放在 AH。
  3. 最后一个填空题写得好慌:子程序的调用是用 XXX 完成的,宏指令的调用是用 XXX 完成的。一开始写的是:CPU、汇编程序。后来改成了:CALL、PROC。交卷前几分钟又改成了:CPU、汇编程序。好像这次改对了???

三、简答题

  1. 冯·诺依曼体系:五大计算机硬件系统。(凉凉,发现写错了一个/绝望.jpg)
  2. 汇编程序生成可执行文件的步骤:编辑、汇编、链接。前两个步骤的后缀:.asm .obj(凉凉,发现又写错了)
  3. 写出寻址方式。

四、程序填空题

  1. 第一题又是考的存储方式。NUM1 是 DB 型,NUM2 是 DW 型,问 N U M 1 -NUM1, NUM1-NUM2 的值各是多少。还有 NUM1+4 是多少,NUM2+4 是多少。(又想起了上学期在这题上载了大跟头)经过考完试翻书,我发现 DB 型,‘AB’ 存的顺序是:先A再B,而 DW 型存的顺序是:先B后A。(又错了几个空)
  2. 又考了 ANDXOROR
  3. 还考了 PUSHPOPSP 的影响。
  4. 程序填空比较坑的是,答案顺序是竖着写的,我有道题是横着写的答案,还好写完就注意到了。

五、编程题

找出 50 个有符号数中的 最大值 ,并用 二进制 输出,输出格式为:MAX=XXXXXXXXB。

感觉这题不难,平时也有练习过。

几个注意点:

  • 有符号数比较:CMP比较之后用的是 JL/JLE/JG/JGE。

  • 二进制输出:循环左移 8 次,我用的是 SAL

  • 输出 MAX= :DOS 的 09H 功能。我当时没想起来输出字符串的功能号,就用的输出字符的功能号 02H ,一个个输出,应该也可以吧?

  • 要写出整个源程序:所以开头、结尾那些套话的代码也是要记住的。

六、一些感想

感觉汇编老师人还是蛮好的,知道我们转专业课程冲突,允许我们可以去上其他课。总共八周的课,我就去上了四节左右,其他都冲突了。

期末复习感觉还是不够扎实啊,一到考试,好多不确定的感觉真的不太好。

感觉这次还是考的不太好,希望能有 90+ 吧。