1. 程式人生 > >第七章 更靈活的定位內存地址的方法 知識梳理

第七章 更靈活的定位內存地址的方法 知識梳理

圖片 邏輯與 支持 小寫字母 不同 靈活運用 邏輯 image 關系

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

技術分享圖片

第七章 更靈活的定位內存地址的方法 知識梳理