第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是一个操作符,用来进行数据的重复。

转载于:https://www.cnblogs.com/ntybky/p/10162285.html

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值