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

7.1,and与or指令的运用

and是按位与运算,or是按位或运算。

需要记住的规则是:与1不变,与0置0;或1置1,或0不变。

7.2,ASCII码

略。

7.3,字符形式给出数据

在汇编中用'.......'给出字符数据,如db 'unix'

7.4,大小写转化的问题

用and和or指令实现大写小的转化。

7.5,[BX+idata]

[BX+idata]也可以写作idata[BX]、[BX].idata

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

用idata表示数组基址,bx当做是索引,形成类似于高级语言中的数组用法。

7.7,SI和DI

SI和DI是和BX功能相似的寄存器,称为变址寄存器,注意的是SI和DI不能拆成两个8位寄存器。

7.8,[BX+SI]和[BX+DI]

也很简单,实际上就是偏移地址为(BX)+(SI),需要知道的是,还可以写成[BX][SI]。

7.9,[BX+SI+idata]和[BX+DI+idata]

也很简单,需要知道的是还可以写成:idata[BX][SI],[BX].idata[SI],[BX][SI].idata。

7.10,多种内存定址方式的灵活运用

问题7.8中,运用栈来保存cx的值进行多层嵌套循环的技巧值得学习。一般来说,当要暂存数据时,都应该使用栈。

你可能感兴趣的:(第七章——更灵活的定位内存地址的方法)