微機原理與組合語言的關係,微機原理與組合語言中的指令JMP CALL的區別

時間 2021-08-14 23:03:29

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)

將程式壓棧入記憶體

關於組合語言中的loop指令,關於組合語言中的LOOP指令

這個程式迴圈一次,是由cx存放的。cx中存放的是迴圈的次數 程式設計計算2 12 assume cs code code segment mov ax,2 mov cx,11 s add ax,ax loop s mov ax,4c00h int 21h code ends end執行loop s時...

關於組合語言移植性的問題,關於組合語言中的LOOP指令

兄弟,你理解錯了,首先你要明白,組合語言是一種針對具體機器的低階語言,這裡說的不同機器一般來講是指cpu指令系統不相相容的兩種機器,比如常用的8086與51,dsp,arm,等等,他們的指令系統都不是通用的。自然移植到別的機器上不行,舉個例子來說吧,假如51,的p0埠可以用來點亮一盞燈,但是對808...

組合語言中test的用法,彙編中的TEST指令

蘇嘉愛娛樂 test對兩個引數 目標,源 執行and邏輯操作,並根據結果設定標誌暫存器,結果本身不會儲存。test ax,bx 與 and ax,bx 命令有相同效果,只是test指令不改變ax和bx的內容,而and指令會把結果儲存到ax中。test命令將兩個運算元進行邏輯與運算,並根據運算結果設定...