王爽《汇编语言》第三版 第七章 更灵活定位内存地址

7.1 and和or指令

  and 指令:逻辑与指令,按位进行与运算。

  or 指令:逻辑或指令,按位进行或运算。

7.2 关于ASCII码

  世界上有很多编码方案,有种方案叫做ASCII编码,是在计算机系统中通常被采用的。

7.3 以字符形式给出的数据

  “db ‘unIX’ ” 相当于“db 75H,6EH,49H,58H”, “u”、 “n”、 “I”、 “X”的ASCII码分别为75H、6EH、49H、58H;

  “mov al,’a’”相当于“mov al,61H”,”a”的ASCII码为61H;

7.4 大小写转换的问题

  一个字母,我们不管它原来是大写还是小写:我们将它的第5位置0,它就必将变为大写字母;将它的第5 位置1,它就必将变为小写字母。

7.5 [bx+idata]

  [bx+idata]表示一个内存单元,它的偏移地址为(bx)+idata(bx中的数值加上idata)。


7.6 用[bx+idata]的方式进行数组的处理


7.7 SI和DI

  SI和DI是8086CPU中和bx功能相近的寄存器,但是SI和DI不能够分成两个8 位寄存器来使用。


7.8 [bx+si]和[bx+di]

  [bx+si]表示一个内存单元,它的偏移地址为(bx)+(si)(即bx中的数值加上si中的数值)。


7.9 [bx+si+idata]和[bx+di+idata]

  [bx+si+idata]和[bx+di+idata]的含义相似。

  指令mov ax,[bx+si+idata]也可以写成如下格式(常用):

        mov ax,[bx+200+si]  

        mov ax,[200+bx+si]  

        mov ax,200[bx][si]  

        mov ax,[bx].200[si]  

        mov ax,[bx][si].200

7.10 不同的寻址方式的灵活应用

  我们应该在每次开始内层循环的时候,将外层循环的cx中的数值保存起来,在执行外层循环的loop指令前,再恢复外层循环的cx数值。

参考资料:《小甲鱼汇编零基础入门》

 

     《汇编语言》第三版

原文地址:https://www.cnblogs.com/mubu/p/6359984.html