在組合語言裡表示什麼意思?具體怎麼用

2021-03-04 06:42:54 字數 2678 閱讀 9848

1樓:匿名使用者

等號語句(=)是偽指令。用來定義符號常數,用符號表示一個常數,它的格式:

符號名 = 數值表示式,如:

abc = 10;abc = 40/2

注意,數值表示式是可以計算出數值的,無法計算出的變數是不能作為數值表示式定義的。所以用法如同類c語言賦值操作符。當然用等號語句定義過的符號可以被重定義,如:

abc = 10

abc = 2 * abc + 1。

另外,等號語句的用途範圍比較狹窄,建議使用equ語句。它既可以定義常量、字串,也可以定義暫存器或指令,還可以定義運算元符號:

1. 定義常量: count equ 100;

2. 定義字串: ms equ 『microsoft corporation』

3. 定義暫存器或指令: move equ mov

stack equ ss

4. 定義儲存器運算元符號:

varw equ this word

varb db 2 dup (0)

2樓:匿名使用者

與equ類似,但是equ能重新定義。如:

a equ 90

a equ 91 ;error

b=90

b=91

3樓:

這是c的寫法,,c是直接賦值 彙編用mov a,#20h

4樓:匿名使用者

彙編中有這個符號嗎?

5樓:彙編大贏家

彙編裡有=?你先舉個例子

組合語言裡的 "$" 是什麼意思?怎麼用?

6樓:四舍**入

代表當前指令的來地址,如自:

data segment

str1 db a,b,c,d

leng equ $-str

就是當前地址減去str1的初始地址,即可得到str1的長度。

在字串中是結束標誌,就是字串遇到$才會結束,類似於c語言中字串中結尾的'0'。

7樓:君子酒

$: 為地址運算子,屬偽操作指令。當我們需要彙編編譯器自動計算出陣列大小的

內時候,容可能就會用到當前地址計數器$運算子了,ma**用$運算子返回當前程式語句的地址偏移值,利用該數值,我們可以計算出陣列的長度。

例如:*** byte 10,20,30,40,50***len = $ - ***

則常量***len就是陣列list的長度值了(=5)。

上句的意思是:當前地址減去變數***的地址,即為5。

8樓:匿名使用者

$在彙編中代表它所在指令的地址,例如

0060h sjmp $

就是跳轉到$,而它編譯時自動變為本行地址0060h,執行時就跳轉回這行,即不斷重複執行

9樓:江西新華子陵

組合語言是計來算機提供自給使用者的最快最有效的語言,也是能夠利用計算機的所有硬體特性並能夠直接控制硬體的唯-語言。但是由於編寫和除錯組合語言程式要比高階語言複雜,因此目前其應用不如高階語言廣泛。

組合語言比機器語言的可讀性要好,但跟高階語言比較而言,可讀性還是較差。不過採用它編寫的程式具有儲存空間佔用少、執行速度快的特點,這些是高階語言所無法取代的。在實際應用中,是否使用組合語言,取決於具體應用要求、軟體開發時間和質量等方面作權衡。

組合語言裡jc指令是什麼意思?

10樓:天池血崩

jc=jump if carry

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

例如: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介紹的夠詳細了吧。。。

組合語言裡jc指令是什麼意思,組合語言裡jc指令時啥意思

jc jump if carry 當運算產生進位標誌時,即cf 1時,跳轉到目標程式處。e69da5e6ba9062616964757a686964616f31333363396462 例如 add al,bl jc carrybit inc al 如果al bl產生了進位,這一句就不執行了。car...

組合語言堆疊段是什麼意思,組合語言的堆疊段是什麼意思

在記憶體開出的,先進後出的一段儲存區域。因為資料的存放象碼貨一樣,所以叫堆疊。進入山洞去探險,重要的是要 記住 走過的路。記在腦子裡,或者寫在內紙上,都可以。這就是容堆疊段。這些記憶,進洞時,順次記住,出洞,順次想起。組合語言堆疊段是什麼意思?在堆疊段裡面,就是儲存一些 記錄 的地方。專有一個 堆疊...

組合語言中db是什麼意思,組合語言中DB是什麼意思?

db作為組合語言中的偽操作命令,它用來定義運算元佔用的位元組數。表示式中可包含符號 字串 或表示式等項,各個項之間用逗號隔開,字串應用引號括起來。括號內的標號是可選項,如果使用了標號。db的作用 在這裡b是byte的縮寫,即位元組,所以,該偽操作所定義的每個運算元佔有1個位元組 8位 如 1mess...