請問組合語言中符號代表什麼,在組合語言裡 符號代表什麼意思?

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

1樓:

離@f最近的一個@@標號

就是把最近的@@標號所標出的地址值入棧

2樓:

@是間接定址用的,可以理解為取地址,一般後面為r0-r7

3樓:兆初晴謬美

看圖你就會明白。實際上標號x1的首地址為ascii碼c的字單元地址,x2的首地址開始於db16dup(?)語句,緊接著x1的終止地址,那麼它的首地址相對於x1偏移4-1個位元組單元;x2的終止地址相對於其首地址偏移16-1個位元組單元,相對於x1偏移18個位元組單元。

那麼$-x1實際上是當前地址與x1首地址之差。由此可以得出,movbx,y指令執行後,bx的值為18d,也就是12h。

|……|

|43h|ascii:c4bytex1

|00h|

|44h|ascii:d

|00h|

|?|16bytex2

……|?|<---$

|……|

(當前地址$與x1首地址之差為18個位元組偏移,等同於x1與x2佔有的位元組單元,不包括x1的首地址和x2的終止地址)

關於偽指令$,它表示地址計數器的當前值,也就是本條指令第一個位元組的地址偏移,如:

org$+8表示起始地址定位於當前編譯地址第一位元組的後8個位元組處;jmp$表示無條件轉移至當前地址,其實際執行效果為永遠停留在當前地址。

又如:arraydw1,2,$+4,3,4,$+4,可以用圖表示為:

|……|

|01h|<---array1

|00h|

|02h|2

|00h|

|08h|$+4($相對於array首地址的偏移是4,因此$+4=8h)

|00h|

|03h|3

|00h|

|04h|4

|00h|

|0eh|$+4($相對於array首地址的偏移是10,因此$+4=0eh)

|00h|

|……|

可見,$用在不同的地方,其表示的當前地址計數是不同的。

在組合語言裡$符號代表什麼意思?

4樓:匿名使用者

表示原地空轉,一般與跳轉指令相連用 如51 i彙編中,ajmp $表示程式就停在當前位置,相當於

l1: ajmp l1

舉例應用:

如果一個程式只在中斷跑,主程式沒有東西可執行的東東,而這時主程式又不能停,此時就用 ajmp $,那麼此時主程式就在該處原地不動,單步除錯時可以看到就在原地走。這是隻要中斷條件到就執行中斷。

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

5樓:匿名使用者

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

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

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)

6樓:匿名使用者

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

a equ 90

a equ 91 ;error

b=90

b=91

7樓:

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

8樓:匿名使用者

彙編中有這個符號嗎?

9樓:彙編大贏家

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

組合語言中@符號有什麼用?

10樓:匿名使用者

你看一下間接定址那裡,一種定址方式。你發**這句話不懂不要緊。慢慢來。

組合語言中@,#是什麼含義啊

11樓:墨汁諾

#表示立即數定址,採用立即定址方式的指令,在立即數前面加上立即定址符「#」。

例如指令mov a,#30h中30h就是立即數,指令功能為將30h賦給累加器a。

@表示暫存器的間接定址。

用組合語言寫程式,就得用匯編編譯器,不同的彙編編譯器對彙編語法有些異,@,#都是linux作業系統中常用的彙編編譯器所使用的彙編語法,而windows下常使用的masm編譯器就沒有@,#這些符號。

12樓:匿名使用者

用組合語言寫程式,就得用匯編編譯器,不同的彙編編譯器對彙編語法有些異,@,#都是linux作業系統中常用的彙編編譯器(忘了是什麼)所使用的彙編語法,而windows下常使用的masm編譯器就沒有@,#這些符號。

組合語言中 標號是什麼意思

13樓:匿名使用者

標號是程式跳轉的地址,當程式執行跳轉指令時,需要知道確定的標號,才能跳,否則會編譯報錯。

14樓:匿名使用者

彙編語bai

言中標號有以下幾層意思:du

1、作為轉移指令所要zhi

到達地址的dao標記。

例如:mov a,r2

cjne a,#10,nxt

nxt:

jc nxt1

clr c

nxt1:

setb c

ret2、作為內一個子程式的容名稱。

例如:setb p1.0

lcall delay

clr p1.0

lcall delay

......

delay:

mov r2,#200

djnz r2,$

ret3、作為一個**的起始地址

例如:mov dptr,#tab

clr a,r2

movc a,@a+dptr

......

tab:

db 0c0h,............

15樓:匿名使用者

標號是指定地址的一個別名,在你編寫程式跳轉時提供方便,也增加程式的可讀性。

16樓:富國****

組合語言的標號就是用來唯一區分一個段的「標籤」,在編譯時被編譯器編譯為「偏移地址」

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

組合語言中什麼是立即數,彙編立即運算元有哪些

立即數 一個立即數是一塊資料儲存作為指令本身,而不是在一箇中的一部分內容儲存器位置或寄存。器。立即值通常用於載入值或對常量執行算術或邏輯運算的指令。概述 在大多數指令集架構下,各種指令也可以對常量值執行操作。例如,考慮一個可以新增兩個寄。存器並將結果儲存在第三個暫存器中的isa 新增 r3,r2,r...

組合語言中畫出資料段中資料在主存中的儲存形式

資料段中資料在主存中的儲存形式為 07 00 41 42 ff 06 aa ff 00 05原理,自己寫個空程式,編譯後,用debug dds 100 10f 看下,就行了。data segment use16 a dw b 1 buf db ab 1,b acon equ 500h len equ...