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

時間 2021-08-30 09:24:00

1樓:匿名使用者

這個程式迴圈一次,是由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時,首先要將(cx)減1,若(cx)不為0,則前往s處執行add ax,ax。

cpu執行loop指令的時候,要進行兩步操作:

1 (cx)=(cx)-1

2 判斷cx中的值,不為零則轉移到標號處執行程式,如果為零,則向下執行

例1 計算2^2 結果放在ax

code segment

assume cs:code

mov ax,2

add ax,ax

mov ax,4c00h

int 21h

code ends

end例2 計算2^3 結果放在ax

code segment

assume cs:code

mov ax,2

add ax,ax

add ax,ax

mov ax,4c00h

int 21h

code endsend

2樓:兔丞飛

intel80x86系列組合語言中的loop指令,是迴圈指令,迴圈次數由計數暫存器cx指定。是否執行迴圈體的判斷指令在迴圈體之後,至少執行1次迴圈體,即至少迴圈1次。

執行loop指令時,cpu自動將cx的值減1,若cx=0,則結束迴圈;否則,重複執行迴圈體。

本題是個特例,雖然計數暫存器的初值為0,但當執行完1次迴圈體,遇到loop指令時,cx=0-1=65535。雖然產生了借位,但cx不等於0,所以,要繼續執行迴圈體。

mov cx,0

l5:……

loop l5

共執行迴圈體65536次。

擴充套件資料

程式設計計算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時,首先要將(cx)減1,若(cx)不為0,則前往s處執行add ax,ax

3樓:艾茵施坦大話區塊鏈

組合語言loop指令

4樓:匿名使用者

是迴圈指令,迴圈次數由計數暫存器cx指定。是否執行迴圈體的判斷指令在迴圈體之後,所以,至少執行1次迴圈體,即至少迴圈1次。執行loop指令時,cpu自動將cx的值減1

直到cx為0 ,迴圈結束

組合語言中loop指令的含義

5樓:井小美

該指令的功能是 dec cx

jnz即先對cx減1,然後判cx是否為0,不為0,轉後面給出標號所指的入口,為0,順序執行

6樓:手機使用者

功能有二:第一個是在在迴圈使用時:mov cx,n ;s:。。。。

;loop s 使得cx減一,然後繼續迴圈,注意是先減一,若減一後cx為零了,那麼就不執行迴圈了,跳過loop s向下執行。

第二個功能是沒有迴圈,也沒有前面的mov cx,n,這時就是判定執行到loop s前的cx值,若cx為零則忽略loop s,若cx不為零則繼續執行下面的步驟。

總的來說兩個功能是一樣的,但還是分開理解吧,參悟透了就豁然開朗了

7樓:匿名使用者

一般是標號,也代表該指令機器碼所存放的具體地址值。 ...該指令的功能是 ...loop s 使得cx減一,然後繼續迴圈,注意是先減一,若減一後cx為零了

8樓:好文言

loop是迴圈語句,通過判斷cx的值是否減為0決定是否退出迴圈。

當cx=0時反而迴圈次數最多為65536次。

9樓:匿名使用者

loop

說明:迴圈指令

執行操作:(cx)<=((cx)-1)

若(cx)!=0,則:

jmp s

格式:loop s

10樓:匿名使用者

一般是標號,也代表該指令機器碼所存放的具體地址值。

11樓:匿名使用者

迴圈指令,cx每次迴圈減1

12樓:藍琪兒

就是一般的標號,沒什麼具體含義的,不用管的,就是和偽指令蠻像的

組合語言XOR命令什麼意思,組合語言中,指令XOR CX,CX表示什麼意思

凡筱雲 組合語言xor命令是異或的意思,異或,英文為exclusive or,或縮寫成xor 異或 xor 是一個數 算符。它應用於邏輯運算。異或的數學符號為 計算機符號為 xor 異或可逆運算。1 xor 1 0,0 xor 0 0,1 xor 0 1,0 xor 1 1。a xor b的運算方法...

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

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

組合語言中sal 算術左移指令)和shl(邏輯左移指令)指令的區別

牧起雲高媼 算術用於帶符號數運算,邏輯用於不帶的。操作沒區別。都是最高位入cf最低位補0 白柏亢泰清 算術左移需要對符號位進行擴充套件,即最高位為符號位時,如果左移高位需要使用符號位的值填充,負數 補碼 就用1填充,正數就用0填充 邏輯左移不考慮符號位,直接在高位補0即可。而右移就不存在這種區別。 ...