回覆列表
-
1 # 使用者467867679407
-
2 # 老生談笑
這裡的[BX]和前面所講的IP的作用一樣,暫存器裡面存放的是偏移地址。如mov ax,[bx] 將一個記憶體單元的內容送入ax,記憶體單元長度為2位元組,偏移地址在bx中,段地址在ds中。loop指令的格式:loop 標號,cpu執行loop指令時分兩步走,①(cx) = (cx - 1),②判斷cx中的值,若不為0轉至標號處執行程式,為0則向下執行通常我們用loop指令實現迴圈,cx中存放迴圈次數。如果我們要計算是2^12次方,不能一個一個加,那樣程式太長,所以我們要用到迴圈assume cs:codecode segment mov ax,2 mov cx,11 s: add ax,ax loop smov ax 4c00H int 21Hcode endsend注意:如果我們要傳送一個立即數,他的最前面是A,B,C,D,E,F這些數時需要加個0,比如我們要寫mov ax f123H(錯誤),發現最前面是F,應該要加個0,所以mov ax 0f123H(正確)。即組合語言中,資料不能以字母開頭。
就是你要傳入子程式中的引數。引數的個數、型別都由你自己定義。傳入引數的方式有:暫存器、棧、指定的資料區(data段區域)、磁碟檔案 等。