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

2021-09-18 07:08:51 字數 917 閱讀 1084

and指令:邏輯與指令

兩個二進位制資料進行按位與

0與0為0,0與1為0,1與1為1

or指令:邏輯或指令

兩個二進位制資料進行按位或

0與0為0,0與1為1,1與1為1

美國規定的乙個編碼方案,用於計算機編碼和解碼

在組合語言中,字元資料以單引號的形式給出,如'0134',』a『,』abcd『等

程式7.1

assume cs:code,ds:data

data segment

db 'umix'

db 'fork'

data ends

code segment

start:

mov al,'a'

mov bl,'b'

mov ax,4c00h

int 21h

code ends

end start

分析下這個程式,db是以乙個位元組的資料儲存,也就是將『umixfork'存到cs:0的前乙個段,我們大家應該都學過c語言,所以大家對十進位制的』0『為48,』a『為65,』a『為』97『,然後轉為16進製制就行啦!

通過下表分析一下ascii碼字母大小二進位制的區別

我們想一下這個問題,要轉換大小寫字元,我們當初學c語言的時候,我們會想到大小寫字元之間的數值差32,所以我們只需要加32或減32,然後我們需要判斷下字元是大寫是還是小寫,我們怎麼判斷呢,我們需要比較運算子來判斷它。

但是據我們現在所學的組合語言,沒有比較運算子啊,所以我們需要令想辦法,我們通過上面的表可以發現,大小寫二進位制數值的區別,從第0位開始(這裡我們第一位說第零位),我們可以看到第5位有明顯的區別。

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

乙個約定 idata表示常量 and al,10110101b or al,10101010b就是把暫存器中的值and上或or上某個數。這個大家應該也都知道。彙編裡的字元和字串由 給出。比如 db unix mov ax,a 其中db意思是 define byte 而其在記憶體中的儲存形式,就是as...

王爽《組合語言》第三版 第七章 更靈活定位記憶體位址

7.1 and和or指令 and 指令 邏輯與指令,按位進行與運算。or 指令 邏輯或指令,按位進行或運算。7.2 關於ascii碼 世界上有很多編碼方案,有種方案叫做ascii編碼,是在計算機系統中通常被採用的。7.3 以字元形式給出的資料 db unix 相當於 db 75h,6eh,49h,5...

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

本章需掌握 程式設計,將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.option...