1樓:匿名使用者
不知道你是問微機(cpu)與組合語言的關係還是微機原理這門課程跟組合語言的關係。
前者:cpu是靠執行二進位制機器**來工作的,也就是控制微機可以考000000這樣的二進位制**,但是考慮到這樣的指令**難以記住,程式可讀性很差,不是專業人才基本不用掌握這種,於是又有了彙編,彙編是一種高階語言,但是對於其他高階來說是低階語言,它其實是與二進位制指令相對映的,而彙編識別符號易於記憶,程式可讀性好,而且學會彙編程式設計,能夠很好掌握cpu內部結構等,但是不同的cpu有不同的指令。
後者:微機原理是一門課程,一般就講數制基礎知識,cpu硬體結構,對應組合語言,彙編程式程式設計結構,還有儲存器啊,i/o,外圍晶片等,所以,組合語言其實只是微機原理這麼課程的一部分,它是人與cpu溝通的媒介,學會組合語言或者其他高階語言才能操作cpu吧
不知道滿意否,你可以自己組織一下下,呵呵
2樓:由曉莉
組合語言是除機器語言速度最快的一種。
每種處理器,或者不同廠家微控制器組合語言不同但總體的框架是一樣的。。
中斷,定時,基本的格式都差不多
學一種就可以通幾種。。
微機原理與組合語言中的指令jmp、call的區別 50
3樓:春暉啊
jmp無條件跳轉,無返回,沒有壓棧(起到保護資料的作用)。call通過入口地址跳轉有返回,返回地址壓入堆疊。
4樓:匿名使用者
jmg是無返回的,想回來還要jmp才行
call是呼叫過程或函式,以ret,retf之類的返回到呼叫位置或下一句
5樓:匿名使用者
組合語言中
自,jmp是無條件bai轉移指令,call是子程式呼叫du指令zhi。
指令jmp、call的區別在於,jmp指令控制dao程式直接跳轉到目標地址執行程式,程式總是順序執行,指令本身無堆疊操作過程。call指令跳轉到指定目標地址執行子程式,執行完子程式後,會返回call指令的下一條指令處執行程式,執行call指令有堆疊操作過程。
舉例如下:
jmp near next;跳轉到next執行程式
......
next: ;目標地址,程式將從這裡向下執行
......
call next;呼叫從地址next開始的子程式
nop ;子程式結束後返回到這裡,然後向下繼續執行程式
......
next: ;子程式目標地址,程式將從這裡向下執行
ret ;子程式返回指令,子程式執行到此結束,返回call指令的下一條指令處
6樓:匿名使用者
(1)jmp l1
l1:表示的是l1-(當前指標+1)
(2)call l2
l2 ;表示的是l1-(當前指標+1)
將程式壓棧入記憶體
組合語言與C 的區別,組合語言和C 語言有什麼區別
彙編是最基礎的程式語言.c 是一種物件導向物件的語言.c 要想在系統上執行,最終是轉換為機器碼.彙編也是,但是彙編轉換為機器碼比較容易.c 轉換則要先轉換為彙編.c也可以稱作高階語言.但是,c語言在c 之下.起一個過渡作用.如果你想學好程式設計.先學c語言或者組合語言.鄙人建議你先學組合語言 然後再...
關於組合語言的迴圈問題,關於組合語言中的PUSH問題。
你理解bai從程式上面執行下來到du達 loop s後又去執行標zhi號s處,這沒錯。然dao後就內無限迴圈死,這就錯了容 組合語言的迴圈指令loop是有條件的,這個隱含操作和條件就是每迴圈一次,cx cx 1,如果cx 0,迴圈就結束了。在這個程式中,迴圈3次結束。關於組合語言中的push問題。每...
組合語言中的問題
此處指的是 mov cl,1234 需要4個機器指令週期 非也.指令長度就是指令長度.具體說,就是這句彙編語句翻譯成機器指令後所佔的位元組數.最直觀的莫過於用debug.exe的a命令輸入幾條彙編語句來看看了.執行debug,提示符下打a100回車,依此輸入 mov bx,1000回車,mov ax...