7 更靈活的定位記憶體地址的方法
阿新 • • 發佈:2018-12-10
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]用兩個變數和一個常量表示地址