7 更灵活的定位内存地址的方法

版权声明:本文为博主原创文章,未经博主允许不得转载。 https://blog.csdn.net/fallfeather/article/details/82784884

1、and和or指令

(1)and指令:逻辑与指令,按位进行与运算

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

(2)or指令:逻辑或指令,按位进行或运算

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

2、关于ASCII码

计算机中通常被采用的方案,61H代表‘a',41H代表‘A’,如果我们想要在显示器上看到‘a’,就要给显卡提供‘a’的ASCII码,61H如何提供?当然是写在显存中

3、大小写转换问题

如果我们写一串字符串,类似于‘JAKLAsadaASDA’既有大写又有小写的不规则的字符串,怎样把他们都转换成大写?

我们不用到判断语句怎样做到?

‘A’      41         01000001

‘a’      61         01100001

我们发现大写字母 = 小写字母 - 20H,大写字母的ASCII码的第五位为0,小写字母的第五位为1。这样,一个字母,不管它原来是大写还是小写,将他的第五位置0,他就必将变为大写字母,将他的第五位置1,他就必将变为小写字母,在这个方法中,我们不需要在处理前判断字母的大小写

我们可以用and指令!

and 'a' 11011111B   //伪指令

4、不同的寻址方式的灵活运用

(1)[idata]用一个常量来表示地址,可用于直接定位一个内存单元;

(2)[bx]用一个变量来表示内存地址,可用于间接定位一个内存单元;

(3)[bx+idata]用一个变量和常量表示地址,可在一个起始地址的基础上用变量间接定位一个内存单元;

(4)[bx+si]用两个变量表示地址;

(5)[bx+si+idata]用两个变量和一个常量表示地址

猜你喜欢

转载自blog.csdn.net/fallfeather/article/details/82784884