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

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的值进行多层嵌套循环的技巧值得学习。一般来说,当要暂存数据时,都应该使用栈。

最后编辑于
©著作权归作者所有,转载或内容合作请联系作者
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

推荐阅读更多精彩内容