請教一道簡單的組合語言題

時間 2022-04-04 13:53:01

1樓:胖大海君

設某資料段定義如下:

data segment ;定義資料段

da1 db 『comp』,00h,9ah ;按位元組定義資料 先從da1位址開始

;存放乙個字串『comp』再存放00h和9ah

da2 db 6 dup(?) ;繼續從下乙個位址da2開始 為程式保留6個位元組的儲存空間

count equ $-da1 ;equ為等價偽指令 定義count 等價於 $-da1

; $-da1 中 $代表目前指令指標所指的位址

;比da1位址多了12個位元組的位址空間,即$=da1+12

; $-da1 =12

data ends

試回答:

(1) da1+2位元組單元的內容是( 'm' )。;;按順序da1+2位元組單元比da1往下走3個單元

(2) count的值是( 12 )。

偽指令語句語句「count equ $-da1」在邏輯資料段內不會分配位址的,其作用在彙編時,用$-da1(即12)替換指令中的count符號。

'm' 為字元m的ascii編碼。

2樓:陽光上的橋

da1 db 『comp』,00h,9ah這個語句讓系統為da1開始分配6個位元組的空間,分別是:'c','o','m','p』,00h,9ah,其中da1+0的內容是'c',da1+1的內容是'o',da1+2的內容是'm',……以此類推。

da2 db 6 dup(?)

這個語句讓系統從da2開始分配6個位元組,不初始化內容。所以count的值是12,因為6+6=12。

3樓:匿名使用者

$代表目前指令指標所指的位址,說法不正確,應該是當前被匯程式設計序翻譯的語句的位址。

指令指標是cs:ip,不要混淆概念

count equ $-da1 不會分配位址,當然不會加了

請教一道vb題,請教一道vb的程式設計題!!

太睏了,直接用if語句給你 if ch1.check true thentext1.text 學習程式設計 end if if ch2.check true then end if if ch1.check true and ch2.check true then end if if ch1.che...

一道簡單的英語題,一道超簡單的英語題

a it one用於數量比較多的時候,而本題中所指的是僅有乙份,所以特指這乙份,用it a it 泛指的時候用one 特指的時候用it 填it,特指這本雜誌 選it 指代那個latest magazine it 和 one 都可以做代詞 one 不常用於特指的 選 ait 特指 only one l...

關於C 的一道簡單題目,c 的一道簡單題目

min,max deal a 有這樣賦值的嗎?int deal int p 這個函式這麼寫吧 void deal int p,int min,int max 把這個函式的返回語句 return min,max 去掉。以及int min,max,i 改為int i 在main中呼叫時為deal p,m...

一道簡單的生物題,一道簡單的數學題。。。

bbcc b c bbc b cc bbcc 3 3 1 1 這個你明白吧,我就不說了。為什麼 就可以得出下面這兩步 b b 4 4 1 1 bb bb c c 6 2 3 1 cc cc 因為直毛黑色 捲毛黑色 直毛白色 捲毛白色,他們之間的比為 3 3 1 1.你把他們分開來看,先分析直毛和捲毛...

請教一道化學題,請教一道化學題目

這道題的答案是。a2 2 1 b3 3 1 c3 4 1 d4 6 1吧?如果不是方法也一樣,如下。直接用電荷守恆就好了,溶液中的正電荷和負電荷一定要一樣。即正電荷數 負電荷數。鈉離子是正的,偏鋁酸根和氯離子都是負的。所以n na n alo2 n cl 又因為鈉離子全部來自過氧化鈉,偏鋁酸根來自 ...