彙編6--靈活定義內存地址

6.1以字符形式給出數據
db ‘un’相當於db 75H,6EH即字符的ascill的數值,注意ascill碼只有8位,治理定義的是字節型數據

6.2大小寫轉換
大小寫字符的ascill碼只有第五位不一樣,大寫字符第五位爲0,小寫爲1.
小寫變成大and al,11011111B
大寫變小寫or al,00100000B
要和內存單元進行and or運算時要先把內存單元的內容傳送到ax或al,ah寄存器中確定數據大小

6.3[bx+idata]
用這種方式確定內存單元偏移地址 idata爲常數
比如【bx+1】[bx+2]
段地址還是存在ds裏
還有其他寫法idata[bx] [bx].idata

6.4di與si
爲什麼會有di和si因爲操作內存單元只有一個dx不夠用
di和si和bx用法一樣
[di][si]操作內存單元
新的用法是[di+bx][si+bx] 以及[di+bx+idata][si+bx+idata]

6.5多重循環
loop語句之和cx寄存器綁定,所以有多重循環的時候要先保存好外層循環的cx值,結束內存循環後再給cx傳送值。如果沒有空閒的寄存器用來保存cx的值,可以申請一些棧空間用來存放cx的值

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章