組合語言指令length是什麼意思

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

1樓:珈藍惜夢

length為偽指令,語句意義為取陣列元素個數。

其作用為:計算陣列中元素的個數,元素個數是由陣列標號同一行出現的數值來定義的。

其作為偽指令的特點:

1、由於是偽「指令」,因而它只存在於組合語言中。高階語言中不叫指令,叫語句;

2、由於是「偽」指令,也即「假」指令,因而不是可執行指令,不會產生機器**,不會佔用rom空間,只用於彙編過程中為彙編程式提供彙編資訊。

擴充套件資料:

1、元素個數是由陣列標號同一行出現的數值來定義的。如果陣列定義中出現了巢狀的 dup 運算子,那麼 lengthof 返回的是兩個數值的乘積。

byte1 byte  10,20,30

array1 word  30 dup (?),0,0

array2 word 5 dup(3 dup(?))

array3 dword 1,2,3,4

digitstr  byte "12345678",0

下表列出了每個 lengthof 表示式返回的數值。

2、如果陣列定義佔據了多個程式行,那麼 lengthof 只針對第一行定義的資料。比如有如下資料,則 lengthof myarray 返回值為 5 :

myarray byte 10,20,30,40,50

byte 60,70,80,90,100

myarray byte 10,20,30,40,50,

60,70,80,90,100

2樓:匿名使用者

top=1

.length

格式為:length variable對於變數中使用dup的情況,彙編程式將回送分配給該變數的單元數.而對於其他情況則回送1.

例:fess dw 100 dup(0)對於指令mov cx,length fess彙編程式將其形成為:mov cx,100array dw 1,2,3

對於指令mov cx,length array彙編程式將其形成為:mov cx,1table db 'abcd'

對於指令mov cx,length table彙編程式將其形成為:mov cx,1

3樓:匿名使用者

top的值等於sta的長度,這裡sta的長度為1,即top的值為1

length一般加在陣列變數的前面,作用是計算陣列變數所佔儲存單元的個數。若使用dup,則執行結果是外層dup的給定值;若沒有使用dup,則執行結果為1.

4樓:is誰在看

length是屬於析值操作符之一,也稱為數值回送操作符,原因是這些操作符把一些特徵或儲存器地址的一部分作為資料返回。length的用法:length 變數名 。

作用是返回利用dup定義的陣列中的元素個數,即重複操作符dup前的count值。

例如有 varw db 1234h | buffer db 10 dup (0)

length varw ;返回1給cx length buffer; 返回 10 給cx

其他的析值操作符還有:

1、seg 變數或者標號;返回變數所在段號或者標號的偏移量

2、offset 變數或者標號 ;返回變數或者標號的偏移量

3、type 變數或者標號; 返回變數或者標號的型別,型別使用數值對應關係如下:db(1), dw(2), dd(4), near(-1), far(-2)

4、size 變數或者標號; 返回dup定義陣列佔用的位元組數。與length類似

組合語言題目,執行mov cx,length buf之後cx=?原碼如下

5樓:匿名使用者

求buf變數的長度,單位位元組。

count變數值為15h,21d。

dw是定義單字的意思。*21*2=252位元組

6樓:匿名使用者

在編譯器裡試了一下,就等於15h。

微機原理或組合語言

7樓:匿名使用者

type指令,是取變數型別 byte-1, word-2, dword-4

res的定義是db,為byte,所以是1, table的定義是dw - word,所以是2, dword (dd),則為4

length指令,是取變數定義中dup的數值,所以3的答案是100size指令,是求length 和type的乘積,所以4是200而5,array的定義中,沒有dup,所以結果是1

8樓:匿名使用者

size指令,是求length 和type的乘積,所以table不應該是4*100=400嗎 ?你那裡有一點點錯誤哦

關於組合語言中的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時...

組合語言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的運算方法...

8086組合語言題目,關於ADD,指令的

mov al,40h al 40h,標誌位保持此前的值不變 add al,al al al al 40h 40h 80h,cf 0,of 1,zf 0,sf 0 adc al,al al al al cf 80h 80h 0 cf 00h,cf 1,of 1,zf 1,sf 0 adc al,al ...