關於Dos命令和組合語言的問題,關於組合語言中的LOOP指令

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

1樓:匿名使用者

1、dos命令是一組程式組成的,分為內部命令與外部命令,內部命令是指三個系統檔案包含的命令,外部命令是幾十個程式包含的命令。

組合語言是一種程式語言,他是把機器指令與語言命令一一對應的程式語言,最接近機器指令的程式語言。

dos命令中的一部分程式是組合語言寫的。

2、dos命令不可以是win7環境中執行,但是可以 在win7模擬的dos環境中執行,一般也可以理解成可以在win7上執行,win7提供了模擬環境。

3、dos命令簡單,高效,很多命令現在還很實用,dos命令有些可以在程式中用組合語言直接呼叫。

4、dos不是一門語言,但是他的一些指令可以在組合語言中直接呼叫,比如中斷。

2樓:匿名使用者

dos是系統命令的解釋終端,供管理人員輸入已經內建的命令來操作計算機完成預期的功能,他充當一個類似介面的作用來實現人機互動。dos相對彙編更低階,也就是層次更低,我們在執行組合語言源程式的整個過程都是通過dos來實現,dos下執行編譯,連線等執行組合語言的程式。在window7當然可以執行了,windows新版基本都相容舊版。

學習的目的是更好的操作計算機硬體,完成一些低階語言更有優勢的任務,同時加深對計算機程式執行的理解,以及瞭解軟硬體之間是如何連線的等問題。最後一問,不確定,應該不算一門語言,因為命令是在系統中已經內建的,都是死的東西,使用者只能使用那些已經定義好的命令來操作計算機

關於組合語言中的loop指令

3樓:匿名使用者

這個程式迴圈一次,是由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

4樓:兔丞飛

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

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

組合語言loop指令

6樓:匿名使用者

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

直到cx為0 ,迴圈結束

關於組合語言的問題,關於組合語言的一個問題

求補操作即是把運算元按位求反後末位加1,即ffffh opr 1 0 opr。也就是說,對一個運算元求補,相當於用0減去此運算元。參加求補運算的運算元當然是有符號數。對於cf而言,只有對0求補時,cf 0,其餘情況都使cf 1 有借位 0減去負數應該是正數,但當運算元的值是80h 128 或8000...

組合語言問題,組合語言問題

蜜蜂小玉米 assume cs code assume ds data data segment db i love you.data ends code segment start mov ax,data mov ds,ax mov bx,0 s0 check mov al,ds bx cmp a...

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

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