第七章 更靈活的定位記憶體位址的方法

2021-09-16 13:52:40 字數 2325 閱讀 9926

本章需掌握:

程式設計,將datasg段中的每個單詞的頭乙個字母改寫成大寫字母。([bx+idata])

assume cs:code,ds:data

data segment        //注意 每個字串都是16位

db '1. file '

db '2. edit '

db '3. search '

db '4. view '

db '5. options '

db '6. help '

data ends

code segment

start:mov ax,data

mov ds,ax

mov bx,

0 mov cx,

6s: mov al,ds:

[bx+3]

and al,

11011111b

mov ds:

[bx+3]

,al add bx,

16 loop s

mov ax,

4c00h

int21hcode ends

end start

注:大寫字母ascii碼的第五位為0。小寫字母的第五位為1。

將第五位強行置零或者置一,從而改變大小寫。

程式設計,將datasg段中的每乙個單詞改為大寫字母。

assume cs:code,ds:data

data segment

db 'ibm '    

db 'dec '

db 'dos '

db 'vax '

data ends

code segment

start:

mov ax,data

mov ds,ax

mov bx,

0 mov cx,

4s0: mov dx,cx

mov si,

0 mov cx,

3s: mov al,ds:

[bx+si]

and al,

11011111b

mov ds:

[bx+si]

,al inc si

loop s

add bx,

16 mov cx,dx

loop s0

mov ax,

4c00h

int21hcode ends

end start

注:上面**,為了防止cx被覆蓋,用dx臨時儲存了cx。

但是當有多層迴圈的時候,用多個暫存器來儲存cx明顯不現實。所以可以將其暫存在記憶體中的某個位置。但是更通常的做法,是將cx壓入棧中,進行儲存。具體**和上述類似,略。

程式設計,將datasg段中的每乙個單詞的前4個字母改寫成大寫字母。

assume cs:code,ds:data,ss:stack

stack segment

dw 0,0

,0,0

,0,0

,0,0

stack ends

data segment

db '1. display '

db '2. brows '

db '3. replace '

db '4. modify '

data ends

code segment

start:

mov ax,stack

mov ss,ax

mov sp,

16 mov ax,data

mov ds,ax

mov bx,

0 mov cx,

4s0:

push cx

mov si,

3 mov cx,4s:

mov al,ds:

[bx+si]

and al,

11011111b

mov ds:

[bx+si]

,al inc si

loop s

pop cx

add bx,

16 loop s0

mov ax,

4c00h

int21hcode ends

end start

總結:

參考文章:

組合語言 第七章 更靈活的定位記憶體位址的方法

and指令 邏輯與指令 兩個二進位制資料進行按位與 0與0為0,0與1為0,1與1為1 or指令 邏輯或指令 兩個二進位制資料進行按位或 0與0為0,0與1為1,1與1為1 美國規定的乙個編碼方案,用於計算機編碼和解碼 在組合語言中,字元資料以單引號的形式給出,如 0134 a abcd 等 程式7...

彙編 更靈活的定位記憶體位址

and 按位與 or 按位或 db unix db 75h,6eh,49h,58h 大小寫轉換 第5位置0,變大寫,第5位置1,變小寫 assume cs codesg,ds datasg datasg segment db bssic db minix datasg ends codesg seg...

更靈活的定位記憶體位址的方法

1 and和or指令 and指令 邏輯與指令,按位進行與運算 技巧 通過該指令可將操作物件的相應位設為0,其他位不變 or指令 邏輯或指令,按位進行或運算 技巧 通過該指令可將操作物件的相應位設為1,其他位不變 2 ascii碼 編碼方案,就是一套規則,它約定了用什麼樣的資訊來表示現實物件。例 61...