第三章总结

寄存器(内存访问)

1.内存中字的存储

  默认采用小端法:高地址内存单元中存放字型的高位字节,低地址内存单元中存放字型数据的低位字节。

  ( 内存以字节为单位 字=2个字节)

 2.DS寄存器

   

 

         描述一个物理地址时可以写成:DS*16+偏移地址

         例如:mov ax,[0]  //这条指令就是把默认的DS值*16+0的偏移地址中的数据给了ax

3.MOV ADD SUB

      ① mov指令的形式:

       

         mov指令的注意事项:

             1.两个操作数长度要一致 

             2.如果最高位是十六进制的a-f,前面要加0

             3.两个内存单元之间不能直送传送数据

             4.mov不能修改CS IP的值

             5.两个段寄存器之间不能直接传送。不能把常数送到段寄存器。

     ②ADD

           

           add指令的操作数不能同时是内存单元

           add指令的操作数不能是段寄存器

       ③SUB

          

          两个内存单元不能直接使用sub指令相减。

         sub指令的操作数不能是段寄存器。

4.栈

  1.基本知识

    

    栈底取栈区最高地址单元的前一个单元

   入栈:①栈顶-2->栈顶  ②存入数据

   出栈:①取出数据   ②栈顶+2->栈顶

   栈为空时,栈顶指向栈底+2

 

 2.SS和SP

    

3.push pop

    指令形式:

  

    注意:

    入栈和出栈均以字为单元。

    操作对象不能是常数。

   pop段寄存器不能是CS和SS。

 

学完本章后,我们可以使用栈的特性来轻松完成数据间的数值转换。

还要在编写代码时注意栈越界的问题。

posted @ 2019-01-01 17:04  给你比个略略略  阅读(129)  评论(0编辑  收藏  举报