and 和 or 指令:
1、and指令:逻辑与指令,按位进行与运算
2、Or指令:逻辑或指令,按位进行或运算
大小写转换的问题: and bl,11011111b 小写变大写
or bl,00100000b 大写变小写
SI、DI:与BX功能相近,不能分为两个8位寄存器
BP:(下一章提上来一起总结)与bx可以执行相同的功能,不同的是在[]使用bp,没有显性的给出段地址,段地址默认在ss中。
PS:只存在四种组合方式,即bx和di,bp和di,bx和si,bp和si,其余两两(或以上的)组合方式是不正确的。
表示方式(bx相关) | 数学化意义 | 其他等同写法 |
[bx + idata] | ds * 16 + bx + idata | [idata + bx]、200[bx]、[bx].200 |
[bx + si] [bx + di] | ds * 16 + bx + si ds * 16 + bx + di | [bx][si] [bx][di] |
[bx + si + idata] [bx + di + idata] | ds * 16 + bx + si + idata ds * 16 + bx + di + idata | [bx + idata + si] [200 + bx + si] 200[bx][si] [bx].200[si] [bx][si].200 |
前面已学 | ||
[idata] | ds * 16 + idata |
|
[bx] | ds * 16 + bx |
|
本章提供了二重循环的做法:将cx在第二重循环开始前入栈,第二重循环结束前出栈
表示方式(bp相关)
数学化意义
其他等同写法
[bp + idata]
ss * 16 + bp + idata
[idata + bp]、200[bp]、[bp].200
[bp + si]
[bp + di]
ss * 16 + bp + si
ss * 16 + bp + di
[bp][si]
[bp][di]
[bp + si + idata]
[bp + di + idata]
ss * 16 + bp + si + idata
ss * 16 + bp + di + idata
[bp + idata + si]
[200 + bp + si]
200[bp][si]
[bp].200[si]
[bp][si].200
前面已学
[bp]
ss * 16 + bp