1樓:匿名使用者
如果1000h只是偏移地址,段地址由系統指定,可用下面方法:
data segment
org 1000h ;用來指定下面資料或指令的偏移地址從該值開始
db 38h, 4ah,2bh,80h,64h,0a7h,0bbh,9ch,83h,0f6h
data ends
如果1000h是實體地址,則要先把它轉化為邏輯地址,如0100:0000,也就是段地址為0100h,偏移地址為0000h,那麼可用下面方法:
data segment at 0100h ;at可用來指定段地址,但cs除外
org 0000h
db 38h, 4ah,2bh,80h,64h,0a7h,0bbh,9ch,83h,0f6h
data ends
2樓:
使用org指令
data segment
org 1000h
db 38h, 4ah,2bh,80h,64h,0a7h,0bbh,9ch,83h,0f6h
data ends
3樓:匿名使用者
dseg segment
org 1000h
ary db 38h, 4ah,2bh,80h,64h,a7h,bbh,9ch,83h,f6h,dbh, 1,1,1,1,1
dseg ends
組合語言中定義的資料段的問題
4樓:
這個就是這麼規定的。
如果定義變數的時候,是這樣的形式:
變數名 型別 常量
那麼結果就是把常量的值賦給變數。
如果是這種形式:
變數名1 dw 變數名2
那麼結果就是變數名1 = 變數名2在段內的偏移地址。
如果是這種形式:
變數名1 dd 變數名2
那麼結果就是變數名1的高16位是變數名2的段地址,低16位是變數名2在段內的偏移地址。就是這麼規定的,記住就行了。
5樓:
變數的三個使用方法:
1 變數作為指令中的運算元,代表變數值
da1 db 0feh,57h
mov al ,da1 al=0feh
mov al, da1+1 al=57h2變數出現在偽指令的引數中或指令語句定址方式中時,表示偏移地址mov da3[si], al
3《當定義變數偽指令時引數為另一個變數時,則變數的值為被引用變數名的地址,段基值和偏移量》如果用dw時,則只有偏移量 如果用dd則前二個位元組存放偏移量 後二個位元組存放段基值~
組合語言中定義的資料段的問題有哪些?
6樓:
這個就是這麼規定的。
如果定義變數的時候,是這樣的形式:
變數名 型別 常量
那麼結果就是把常量的值賦給變數。
如果是這種形式:
變數名1 dw 變數名2
那麼結果就是變數名1 = 變數名2在段內的偏移地址。
如果是這種形式:
變數名1 dd 變數名2
那麼結果就是變數名1的高16位是變數名2的段地址,低16位是變數名2在段內的偏移地址。就是這麼規定的,記住就行了。
組合語言定義資料段的問題 急求。。。
7樓:匿名使用者
你的程式並沒有定義棧段。若定義了,則應:movax,segsdegmovss,axmovsp,top------因為棧結構是從高地址向低地址生長的,要把棧段的最高處的偏移賦給sp直接寫movax,[bx]是可以的,因為通過暫存器ax可以確定是傳送的「字」
組合語言問題 資料段的使用 10
8樓:
假設你想要將str偏移量為off[i]的數傳到ax中:
mov si, [off+i*2] ;取off的第 i 個元素的值,i 從0開始計數
mov ax, str[si]
9樓:做而論道
mov si, off[i]
mov al, str[si]end
10樓:
mov ax,offset off ;取得off的偏移地址mov bx,[ax+i] ;取得偏移地址的實際值 i肯定不能夠是未知數 前面應該已經計算出來了
mov ax,offset str ;取得str偏移地址mov cx,ax[bx] ;取得str實際字元可能有些語法錯誤
11樓:
mov bx, i
mov si, off[bx]
mov al, str[si]
求助!組合語言資料段的段名問題!
12樓:
段名是16位沒錯,能否算立即數,我也說不準
反正不能mov al, data
可以轉到al,但估計只是把低8位傳過去。
13樓:
段名只是個地址
沒見過mov al, data
只有mov ax, data
ds不可分解
14樓:匿名使用者
mov al,data是錯的,一個十六位的數怎麼能放進一個八位的暫存器裡面呢??只能用mov al, high data或mov al,low data
組合語言問題求解,組合語言問題求解
我也是學這門課,我試試吧。本人學的不是很精通,僅供參考。1 code segmentassume cs codemov cx,offset datamov dx,offset max 用lea指令也可 專以mov ax,cx mov bx,cx 1 cmp ax,bxja loop1mov dx,b...
組合語言中的push的用法,組合語言中的PUSH的用法
push的操作過程是 sp sp 2,sp oprd 即先修改堆疊指標sp 壓入時為自動減2 然後,將指定 的運算元送入新的棧頂位置。此處的 sp oprd,也可以理解為 ss 16 sp oprd 或 ss sp oprd 示例 push dx push bp push cs push data1...
組合語言程式設計,組合語言程式設計
教你一個小招,用vc6.0編好一個c的程式,然後alt 8可以檢視彙編程式 1 include 2 void main void 3 00401055 jmp main 21h 00401031 10 for i 0 i 4 i 00401057 mov dword ptr ebp 14h 0 00...