1樓:風翼殘念
db作為組合語言中的偽操作命令,它用來定義運算元佔用的位元組數。表示式中可包含符號、字串、或表示式等項,各個項之間用逗號隔開,字串應用引號括起來。括號內的標號是可選項,如果使用了標號。
db的作用:在這裡b是byte的縮寫,即位元組,所以,該偽操作所定義的每個運算元佔有1個位元組(8位)。
如:1message db ‘hello’,此時,字串“hello”中每個字元會佔用1個位元組。51微控制器中,用於定義位元組的內容。
db 指令以表示式的值的位元組形式初始化**空間。
則標號的值將是表示式表中第一位元組的地址。db 指令必須位於資料段之內,否則將會發生錯誤。
擴充套件資料:
組合語言中db指令的意義:
定義位元組變數的定義符為db/byte(definebyte),每個位元組只佔一個位元組單元。其中:byte是masm6.
0及其以後版本的資料型別說明符,隨後的其它型別說明符同此說明。
組合語言中db是定義單位元組資料段的意思,編譯時,db後面的資料將視為純資料而不是指令**。比如:
dis:
mov dptr,#tab;
movx a,@a+dptr;
mov p0,a;
ret。
tab:
db 0c0h ;“0” 00h;
db 0f9h ;“1” 01h;
db 0a4h ;“2” 02h;
db 0b0h ;“3” 03h;
db 99h ;“4” 04h;
db 92h ;“5” 05h;
db 82h ;“6” 06h;
db 0f8h ;“7” 07h;
db 80h ;“8” 08h;
db 90h ;“9” 09h;
db 88h ;“a” 0ah;
db 83h ;“b” 0bh;
db 0c6h ;“c” 0ch;
db 0a1h ;“d” 0dh;
db 86h ;“e” 0eh;
db 8eh ;“f” 0fh;
db 0ffh ;“ ” 10h。
2樓:匿名使用者
組合語言中db是定義單位元組資料段的意思,編譯時,db後面的資料將視為純資料而不是指令**。比如:
dis:
mov dptr,#tab
movx a,@a+dptr
mov p0,a
rettab:
db 0c0h ;"0" 00h
db 0f9h ;"1" 01h
db 0a4h ;"2" 02h
db 0b0h ;"3" 03h
db 99h ;"4" 04h
db 92h ;"5" 05h
db 82h ;"6" 06h
db 0f8h ;"7" 07h
db 80h ;"8" 08h
db 90h ;"9" 09h
db 88h ;"a" 0ah
db 83h ;"b" 0bh
db 0c6h ;"c" 0ch
db 0a1h ;"d" 0dh
db 86h ;"e" 0eh
db 8eh ;"f" 0fh
db 0ffh ;" " 10h
3樓:匿名使用者
db是偽指令,告訴編譯軟體,db後面的是資料,**
用於movc指令查表用的
4樓:夏天的太陽君
define byte :定義一個位元組型資料
5樓:
data byte,即定義byte型別的變數
組合語言中db指令的意義
6樓:sujiawu殺
db作為組合語言中的偽操作命令,它用來定義運算元佔用的位元組數。
在這裡b是byte的縮寫,即位元組,所以,該偽操作所定義的每個運算元佔有1個位元組(8位)。
如:message db 'hello' 此時,字串“hello”中每個字元會佔用1個位元組,51微控制器中,用於定義位元組的內容。db 指令以表示式的值的位元組形式初始化**空間。
表示式中可包含符號、字串、或表示式等項,各個項之間用逗號隔開,字串應用引號括起來。括號內的標號是可選項,如果使用了標號,則標號的值將是表示式表中第一位元組的地址。db 指令必須位於 資料段之內,否則將會發生錯誤。
擴充套件資料
組合語言組成:
1、傳送指令
包括通用資料傳送指令mov、條件傳送指令cmovcc、堆疊操作指令push/pusha/pushad/pop/popa/popad、交換指令xchg/xlat/bswap、地址或段描述符選擇子傳送指令lea/lds/les/lfs/lgs/lss等。
2、邏輯運算
這部分指令用於執行算術和邏輯運算,包括加法指令add/adc、減法指令sub/sbb、加一指令inc、減一指令dec、比較操作指令cmp、乘法指令mul/imul
除法指令div/idiv、符號擴充套件指令cbw/cwde/cdqe、十進位制調整指令daa/das/aaa/aas、邏輯運算指令not/and/or/xor/test等。
3、移位指令
這部分指令用於將暫存器或記憶體運算元移動指定的次數。包括邏輯左移指令shl、邏輯右移指令shr、算術左移指令sal、算術右移指令sar、迴圈左移指令rol、迴圈右移指令ror等。
7樓:匿名使用者
db指令:位元組變數的定義;
定義位元組變數的定義符為db/byte(definebyte),每個位元組只佔一個位元組單元。其中:byte是masm6.
0及其以後版本的資料型別說明符,隨後的其它型別說明符同此說明。
例如:counter db 6
db 'a', 'd',0dh, '$'
table db 1, 3, 5, 7, 9, 11上面的定義語句經彙編後所產生出的記憶體單元分配情況如圖4.1所示。圖中的資料是用十六進位制表示的(以後也如此,不再說明),由引號括起來的字元在記憶體中是存放其ascii碼值。
所以,'d'和0dh是不同的,前者是字元'd',後者是數值12的十六進位制編碼。
8樓:塔卡
db 指令以表示式的值的位元組形式初始化**空間。
格式: [標號:] db 表示式表表示式中可包含符號、字串、或表示式等項,各個項之間用逗號隔開,字串應用引號括起來。
括號內的標號是可選項,如果使用了標號,
則標號的值將是表示式表中第一位元組的地址。
db 指令必須位於 code 段之內,否則將會發生錯誤。
例table:
db 0c0h, 0f9h, 0a4h
table1:
db " weina "
組合語言中 ,a db 17 dup(?) 這句是什麼意思?db , dup ,(?) 分別是什麼意思?
9樓:湯旺河邊
db: 定義位元組型別變數的偽指令
dup(): 重複定義圓括號中指定的初值,次數由前面的數值決定
?: 只分配儲存空間,不指定初值
組合語言 var db ‘a’,’b’ 是什麼意思?
10樓:匿名使用者
var db 'a', 'b'
定義一個名為var的變數,var佔用記憶體2個位元組,並用ascii 碼 a 和 b 分別為這兩個位元組賦初值(初始化)。
db是x86組合語言的偽指令,用於定義單位元組(8位)變數。db偽指令的語法格式為:
變數名 db 初始化列表
再如data db 10, 20, 30, 40定義一個名為data的變數,data佔用記憶體4個位元組,4個位元組的初始值分別為10, 20, 30, 40
11樓:匿名使用者
mov al,var
mov al,var+1
微控制器組合語言裡 db ?
12樓:匿名使用者
微控制器匯bai
編語言中的db是以位元組du為單位定zhi義一個資料段,一dao般用於查表程式中,舉例回
說明:display:
mov dptr,#tab
mov a,r2
movc a,@a+dptr
mov p0,a
rettab: ; 共陰極答數碼管顯示**表db 3fh,06h,5bh,4fh,66h ;01234db 6dh,7dh,07h,7fh,6fh ;56789
13樓:白馬之圍
db是一種位元組單位,如db是定義位元組型的資料,dw定義字型別資料,dd定義雙字型別的資料。問號表示一個空的單元
14樓:匿名使用者
好長時間沒有接觸微控制器了,我記得db是組合語言中的偽指令由於定義版單位元組,如count db 24,就是權定義count變數為24。count db ? 是不指定count的具體數值。
dbit是定義一位的偽指令。
15樓:匿名使用者
你那是c語言反彙編過來的語句,可以不用去看了.
16樓:小小小帥豬
count 資料名稱
db 資料型別 位元組型
? 資料內容不管可能為1也可能為0
組合語言中si表示地址還是內容,組合語言中 SI 表示地址還是內容
si 是暫存器間接定址,它是指si中地址的內容,所以是具體內容,si是地址。在x86彙編中,中括號就相當於c語言的星號,即指標,mov x,地址 相當於x p一樣,是取內容。若mov si 100 則si代表 100 si 代表 地址為100的記憶體單元中的內容 記住,有的代表記憶體單元裡面 的內容...
組合語言裡jc指令是什麼意思,組合語言裡jc指令時啥意思
jc jump if carry 當運算產生進位標誌時,即cf 1時,跳轉到目標程式處。e69da5e6ba9062616964757a686964616f31333363396462 例如 add al,bl jc carrybit inc al 如果al bl產生了進位,這一句就不執行了。car...
組合語言堆疊段是什麼意思,組合語言的堆疊段是什麼意思
在記憶體開出的,先進後出的一段儲存區域。因為資料的存放象碼貨一樣,所以叫堆疊。進入山洞去探險,重要的是要 記住 走過的路。記在腦子裡,或者寫在內紙上,都可以。這就是容堆疊段。這些記憶,進洞時,順次記住,出洞,順次想起。組合語言堆疊段是什麼意思?在堆疊段裡面,就是儲存一些 記錄 的地方。專有一個 堆疊...