第5-8章总结

Posted ntybky

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了第5-8章总结相关的知识,希望对你有一定的参考价值。

1、(al)、(bl)、(cl)等得到的数据为字节型;(ds)、(ax)、(bx)等得到的数据为字型。idate表示常量。

2、inc bx的含义是bx中的内容加1。

3、执行loop指令时,要进行两步操作:1)(cx)=(cx)-1;2)判断cx中的值,不为零则转至标号处执行程序,如果为零则向下执行。

4、用cx和loop指令相配合实现循环功能的3个要点:

     1)在cx中存放循环的次数;

     2)loop指令中的标号所标识地址要在前面;

     3)要循环执行的段程序,要写在标号和loop指令之间。

5、将循环一次执行完,可以使用p命令来达到目的。

6、在汇编源程序中,如果用指令访问一个内存单元,则在指令中必须用“[···]”来表示内存单元,如果在“[]”里用一个常量idate直接给出内存单元的偏移地址,就要在“[]”的前面显式地给出段地所在的段寄存器。如果在“[]”里用寄存器,比如bx,间接给出内存单元的偏移地址,则段地址默认在ds中。当然,也可以显式地给出段地址所在的段寄存器。

7、DOS方式下,一般情况,0:200~0:2ff空间中没有系统或其他程序的数据或代码,我们需要向一段内存中写入内容时,就使用0:200~0:2ff这段空间。

8、debug中a命令不支持‘a’这样的写法,e命令支持‘a’也支持ASCII码,而汇编源程序都支持。

9、大写->小写          小写->大写          数值1->字符‘1‘          字符‘1‘->数值1

     mov dl,‘A‘            mov dl,‘a‘             mov dl,1                    mov dl,‘1‘

     或                       或                        或                              或

     or dl,20H            and dl,0dfH          add dl,30H                sub dl,30H

                                                           或                              或

                                                           or dl,30H                   and dl,ofH

10、debug不支持ds:[idate]这样有段前缀的写法。

11、si和di是8086CPU中和bx功能相近的寄存器,si和di不能够分成两个8位寄存器来使用。用16位寄存器进行内存单元之间的数据传送,一次复制2个字节,一共循环8次。

12、在8086CPU中,只有bx、si、di和bp这四个寄存器可以用在“[···]”中来进行内存单元的寻址。只要在[···]中使用寄存器bp,而指令没有显式地给出段地址,段地址就默认在ss中。

13、8086CPU的指令,可以处理两种尺寸的数据,byte和word。

14、我们用db和dw定义字节型数据和字型数据。dd是用来定义双字型数据的。dup是一个操作符,用来进行数据的重复。

以上是关于第5-8章总结的主要内容,如果未能解决你的问题,请参考以下文章

Atitit 编程语言原理与概论attilax总结 三大书籍总结

java第5章学习总结

第21章 《Startle Bundle》结束总结

王之泰《面向对象程序设计(java)》课程学习总结

第12 13 14 15章总结与感悟

第12章 总结