1625-5 王子昂 總結《2023年4月25日》 【連續第206天總結】
a.組合語言十一章
b.實驗11
子程式:將包含任意字元,以0結尾的字串中的小寫字母改為大寫字母
以前通過使用and來無差別修改字母的程式,現在有了條件轉移和大小寫判斷終於可以寫乙個判斷程式了
letterc:mov ch,0
l:mov al,[si];通過8位暫存器al來定義資料單位為1位元組
cmp al,97;將資料與97做比較
jb s0;al小於97則跳出(非小寫字母)
cmp al,122;將資料與122做比較
ja s0;大於122則跳出(非小寫字母)
sub al,20h;通過上述兩個邊界判斷以後則為小寫字母,進行減法,改為大寫字母
mov [si],al賦值回去
s0:mov cl,al判斷資料是否為0
jcxz ok
inc si非0則繼續迴圈,si+1移向下乙個字元
loop l
ok:ret
內中斷:任何乙個通用的cpu都可以在執行完當前指令後,檢測到從cpu外部或內部傳來的一種特殊資訊,並且可以立即對該資訊進行處理。把這種特殊資訊稱之為「中斷資訊」
內中斷表示cpu內部傳來的資訊,有4種情況
除法錯誤
單步執行
執行into指令
執行int指令
cpu需要對中斷資訊進行處理,首先要知道中斷資訊的**。因此中斷資訊必須包含識別**的編碼。
8086cpu用被稱為「中斷型別碼」的資料來標識**。
中斷型別碼是乙個位元組型資料,可以表示256種中斷資訊的**。
型別碼:
除法錯誤:0
單步執行:1
into指令:4
int指令:由int指令的引數n決定(int n),其中n即為中斷型別碼
如何處理,可以由程式設計決定。cpu在收到資訊後,應該轉去執行該中斷資訊的處理程式。
而要cpu轉向處理程式,就需要將cs:ip指向它的入口。因此cpu需要根據型別碼確定處理程式的入口位址。
因此,型別碼的作用就是用來定位中斷處理程式。
cpu根據中斷向量表來尋找處理程式的入口位址。
中斷向量表存放在記憶體位址0處,按照型別碼依次往下排,每個型別碼佔據2個字,分別存放入口位址的段位址和偏移位址
c.明日計畫
qt和js
組合語言十二章
《組合語言》第12章 內中斷 實驗12
王老師要求 仔細跟蹤除錯,在理解整個過程之前,不要進行後面課程的學習。這個實驗的答案,在文章中都有,每一步的講解,王老師講解的都很詳細到位。需要我們好好理解?實驗結果如下,加了一點顏色?中斷 cpu不在接著 剛執行完的程式 向下執行,而去轉去處理這個特殊資訊。中斷資訊 一種特殊的資訊。要求cpu馬上...
組合語言實驗11
編寫子程式,實現大小寫轉換 data segment db beginner s all purpose symbolic instruction code.0 data ends codesg segment assume cs codesg start mov ax,data mov ds,ax...
《組合語言》 王爽 實驗11
題 編寫乙個子程式,將包含任意字元,以0結尾的字串中的小寫字母轉變成大寫字母,描述如下。名稱 letterc 功能 將以0結尾的字串中的小寫字母轉變成大寫字母。引數 ds si指向字串首位址。如題,任意字元,就得考慮一些其他字元,這就需要劃分乙個範圍,就是取出的字元應該在小寫字母的ascii碼範圍內...