組合語言jnc命令有什麼用處,組合語言 請問11題結果是什麼?其中JNC指令要進位為0跳轉,這段程式哪裡涉及進位了?

2021-03-11 12:36:58 字數 2879 閱讀 5857

1樓:墨汁諾

轉移指令。

意思是cf=0,則跳轉,表示的是ax大於或等於0的時候轉移到exit處,所以內jnc也可以看成是加法沒有進容位,減法沒有借位的時候轉移。

在組合語言中,用助記符代替機器指令的操作碼,用地址符號或標號代替指令或運算元的地址。在不同的裝置中,組合語言對應著不同的機器語言指令集,通過彙編過程轉換成機器指令。特定的組合語言和特定的機器語言指令集是一一對應的,不同平臺之間不可直接移植。

2樓:華芝塔尼歐

給你補充點jnc 就是這個j--jump跳轉 n==not c就是所說的進位標誌。。嘿嘿 滿足進位條件就進行跳轉。這類很多版 je jne jb jnb jl jnl jz jnz 等等權一系列不過都是有英文對應的e==eaual 這些

3樓:匿名使用者

可用於兩個數的判斷!jnc是進位位為0則轉移!而兩個數的比較就是想減,例如x-y,x小於y,x就要借位,這樣進位位就為1,如果x大於y,x就不需要借位,這樣進位位為0

4樓:匿名使用者

組合語言jnc指令用於對進位位進行判斷從

而決定程式走向。一般是在該條語句之前,執行了版能夠對進權位位產生影響的語句,程式需要根據進位位不同結果,跳轉到不同程式段執行不同功能。與jnc對應的還有jc指令。

例如:clr c

subb a,b

jnc max;如果a大於或者等b跳轉到max繼續執行程式。

5樓:匿名使用者

jnc是一條跳轉指令,當進位標記c為0時跳轉,為1時執行後面的指令。

組合語言裡jc\jnc\jb\jnb\jz\jnz的問題

6樓:匿名使用者

jc : jump if carry (有進位、即cf=1,則跳轉)

jb : jump if below (低於則跳轉)ja : jump if above (高於則跳轉)jnz:jump if not zero (不為零、即zf≠1,則跳轉)

jnge :jump if not greater or equal(不大於等於則跳轉)= jl :jump if less than (小於則跳轉)

***************

指令中字元的含義:

單個標誌位:

c: cf

s: sf

z: zf

o: of

p: pf

無符號數比較:

a: above 高於

b: below 低於

e: equal 等於

有符號數比較:

g: greater 大於

l: less 小於

e: equal 等於

組合語言:請問11題結果是什麼?其中jnc指令要進位為0跳轉,這段程式**涉及進位了?

7樓:做而論道

這程式,是迴圈三次,

實現了三個位元組,加上三個位元組的運算。

最後一次加法的進位,影響到 jnc 指令。

組合語言裡jc指令時啥意思

8樓:天池血崩

jc=jump if carry

當運算產生進位標誌時,即cf=1時,跳轉到目標程式處。

例如:add al,bl

jc carrybit

inc al;如果al+bl產生了進位,這一句就不執行了。

carrybit:

neg al

這段程式沒有任何意義,僅僅作為示例哈。。。

相同的指令還有:

jnc,當cf=0時跳轉;

jz,當zf=1時跳轉,jnz,當zf=0時跳轉;

jo,當of=1時跳轉,jno,當of=0時跳轉;

jp,當pf=1時跳轉……

依此類推,標誌暫存器的各個位基本上都可以用來做「條件跳轉」的條件。

當然,條件跳轉不僅僅是標誌暫存器位,還可以是cx如:a_loop:

;do something

dec cx

jcxz

jmp a_loop

可以看出,這一段相當於一個loop指令。。。

還有,用於大小判斷型的:

cmp op1,op2

jxx ***x

其中jxx有以下幾種:

ja表示op1>op2,jna表示op1<=op2;

jb表示op1=op2;

je表示op1=op2,jne表示op1<>op2;

還有jae、jnae、jbe、jnbe等等功能重複不再贅述。

以上是無符號數的比較。

有符號數的比較將a換成g,將b換成l即可。

a=above b=below g=greater l=less介紹的夠詳細了吧。。。

9樓:匿名使用者

組合語言裡jc是進位則跳轉指令;

跳轉指令分三類:

一、無條件跳** jmp;

二、根據 cx、ecx 暫存器的值跳** jcxz(cx 為 0 則跳轉)、jecxz(ecx 為 0 則跳轉);

三、根據 eflags 暫存器的標誌位跳轉。

10樓:匿名使用者

jc就是jump if carry

如果發生進位則跳轉,由標誌暫存器cf標誌位來判斷

11樓:

jc是一個單測試條件轉移指令,轉移條件為cf=1

12樓:不亦心

jc address 加/減法出現進/借位是就跳轉到address,否者順序執行

13樓:刷帖之神

如果cf=1跳轉到標號處

組合語言lea是什麼意思,組合語言 lea 是什麼意思?

lea是微機8086 8088系列的一條bai指令,取自du 英語load effective address 取zhi有效地址,也就是取偏dao移地回址。lea指令將儲存器操答作數mem的4位16進位制偏移地址送到指定的暫存器。這裡,源運算元必須是儲存器運算元,目標運算元必須是16位通用暫存器。因...

C語言和組合語言的區別是什麼,組合語言和C語言有什麼區別?

這裡所說的語言就是跟電腦溝通的手段 電腦只知道什麼時候開哪個通道 1狀態 什麼時候關哪個通道 0狀態 那麼傳遞開關資訊就需要資訊的進入 機器語言 組合語言實質上是機器語言的助記符 讓語言更容易讀懂,實質上是一樣的,翻譯過來就是一系列的0和1 而c語言要通過編譯器才能編譯成機器語言,也就是多套了一層,...

組合語言中ptr的作用是什麼,組合語言中CMP的作用是什麼?

ptr應該就是pointer 說明地址指標型別。當兩個運算元型別均不明確時,必須用byte ptr 位元組屬性 或word ptr 字屬性 將一個儲存器運算元定義為位元組或字型別。如 mov byte ptr si oah 指明 si 為位元組型別 在沒有暫存器名存在的情況下,用操作符 x ptr ...