第七章 更灵活的定位内存地址的方法 知识梳理

Posted zq-dmhy

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了第七章 更灵活的定位内存地址的方法 知识梳理相关的知识,希望对你有一定的参考价值。

and和or指令

and逻辑与指令

作用:通过该指令可以将操作对象的相应位设为0,其他位不变

or 逻辑或指令

作用:通过该指令可以将操作对象的相应位设为1,其他位不变

[bx+idata]  [bx+si] [bx+di]

si,di 在8086CPU中和BX功能相近的寄存器

si和di不能分成两个8位寄存器来使用!

等效写法

两个变量表示地址:[bx+si]  ↔  [si+bx], [bx][si], [si][bx]

一个变量一个常量表示地址:[bx+idata]  ↔  [bx]idata, idata[bx]

两个变量一个常量表示地址:[bx+si+idata]  ↔  [bx][si][idata], [bx][si+idata], idata[bx][si], idata[bx+si]

注意多种寻址方式的应用技巧。


 

大小写转换问题

 字母大小写的ASCII码

技术图片

会发现只有第三位不同,可以利用or或and指令来修改

变为大写字母 and al,11011111b

变为小写字母 or al,00100000b 

不同寻址方式的灵活运用

注意:

1.在debug中,a命令不支持诸如‘a‘这样的写法,e命令支持。

2.注意二重循环

外重循环和内层循环对于cx的使用,解决方法(1)将外层循环cx的值保存在dx中

                                                                        (2)暂存数据时利用栈,push,pop

3 等价关系

dw 0,0,0,0,0,0,0,0↔dw 8 dup(0)

mov al,[bx+3]

and al,11011111   ↔   and byte ptr ds:[bx+3],11011111b

mov [bx+3],al

技术图片

以上是关于第七章 更灵活的定位内存地址的方法 知识梳理的主要内容,如果未能解决你的问题,请参考以下文章

第七章 更灵活的定位内存地址的方法

[汇编]《汇编语言》第7章 更灵活的定位内存地址的方法

java内存泄漏定位和解决,学习路线+知识点梳理

汇编语言——更灵活的定位内存地址的方法

《汇编语言》总结04 —— 更灵活的定位内存地址的方法

指针知识梳理8- 指针的指针