1樓:匿名使用者
offset的用法,以前push的都是位址或者暫存器位址,現在那些字串位址咱可沒有。
於是版就用offset關鍵字
權來得到這些字串的偏移位址,從而引用字串。從而可以push。
當然 invoke中用 addr ,addr多明顯就是address位址的意思。
offset(reference,rows,cols,height,width) offset 在彙編中可以獲得運算元的偏移位址。用法: 例如:
平時invoke messagebox,null,addr sztext,addr szcaption,mb_ok
請問彙編中 offset 怎麼解釋啊。
2樓:哥德堡快遞
這個沒法解釋。offset是指某個變數或標號處**在記憶體中的位址,光溜溜的offset沒見過。
彙編中的offset 5
3樓:匿名使用者
呵呵,我幫你認真的解釋一下:
table dw 10,20,30,40,50
;第一句的解釋:定義以table為首位址的五個資料; dw指字型別,就好像c語言的基本型別
的功能一樣,前面的table則是識別符號。
entry dw 3
;第二句的解釋:道理同上,看懂一的解釋二應該也清楚了.。.
..........
mov bx,offset table
;第三句的解釋:意思是將table的首位址傳送給基址暫存器bx,offset +x符識符,
表示取x的首位址,整個語句的定址方式為立即數定址,mov在這語句中
起傳送位址的作用.此時bx=table(表示位址.)
add bx,entry
;第四句的解釋:bx = bx+0003h =table+3(0003h是3的十六進位制也沒什麼區別)
mov ax,[bx]
;第五句的解釋:bx是乙個暫存器,加上"[bx]"就是bx(從上面我們可以看出bx暫存器裡面是位址) 這個位址裡包含的內容,些時bx=table+3而[table+3]的內容就是1e00h傳送給ax.
如果看懂上面的文字後,就可以分析ax為什麼是1e00h了:
tabble的數是這樣的儲存的:
10——>000ah 邏輯儲存——>0a (table+0)位
20——>0014h 00 (table+1)位
30——>001eh 14 (table+2)位
40——>0028h 00 (table+3)位
50——>0032h 1e (table+4)位
00 (table+5)位
。。。 。。。。
從第五句我們可以看到:
ax=[bx]=[table+3]
而彙編有這樣的規定,以低位表示乙個字,那麼加上高位 (table+4)就組成了乙個字了,
而[table+4]單元裡的內容是:1eh,則高位與低位一同組成字.故ax=1e00h。
說明:在以上的解釋過程中用"="即等號只是為了表達簡潔而以,彙編中沒有等號直接寫的。
我感覺整個過程解釋的蠻詳細了,不知道你看明白了嗎?呵呵.
4樓:渝舟漂遊
mov bx,offset table相當於lea bx,table。table 是被定義的(10,20,30,40,50)在儲存區的符號位址。通過add bx,entry 此時bx儲存的有效位址即為(table+3),其內容恰好是ah=30d(1eh),因為ax是16位,所以al為00h,最終就是1e00h。
不知道正確否?
5樓:匿名使用者
彙編中的off as a特。
6樓:
offset就是取table的偏移位址,但是究竟為什麼是這個值沒人知道
這是編譯器自己安排的
你只要知道offset是取偏移位址的就行了
7樓:匿名使用者
哈哈...讓我想起了大學學彙編課.....不過都忘了
組合語言中的 offset什麼意思?
8樓:戰為瘸子六
1、offset是將數值回送變數或標號的偏移位址值.
2.lea是將數值回送變數或標號的有效位址值.
3.seg, 匯程式設計序將回送變數或標號的段位址值.
4、lea bx,list
5、mov bx,offset list6、可以看出,lea和offset這兩條指令在功能上是相同的,bx暫存器都可得到符號位址list的值,而且此時mov指令的執行速度會比lea指令更快。但是,offset只能與簡單的符號位址相連,而不能和諸如list[si]或[si]等複雜運算元相連。因此,lea指令在取得訪問變數的工具方面是很有用的。
組合語言的操作符offset具體有什麼用?求詳細解答
9樓:匿名使用者
簡單說,是指乙個位址。
如:mess db 'hello!'
顯然,mess是乙個位址,它存放著「hello」這個字串。
如何將mess的位址放入dx暫存器呢,可用兩種不同的指令:
1、 lea dx,mess
2、 mov dx,offset mess他們的作用是等價的。
10樓:你們怎麼都
這個函式中不止乙個單元格哦
關鍵是offset函式 其語法可以簡單理解成這樣:
offset(起始點,移動的行數,移動的列數,擴充套件選取的行數,擴充套件選取的列數)
以你的公式為例
將b1作為起始點 按照match出來的數值往下移動n行例如數值為2 則下移到第三行(1+2)
公式中 移動的列數為預設 即表示0 不移動列所以產生新的起始點:b3單元格
擴充套件選取的行數 在公式中也是預設
因此 以b3為新起點 選取b:d三個列的單元格形成乙個資料區域 即b3:d3
sum公式就是對這個區域進行求和
注意:移動的時候 起始點不包括在內
擴充套件選取的時候包括新起點
組合語言中out和in的用法,組合語言中OUT和IN的用法
在8086系列的組合語言中 in指令的意思是從埠中讀取資料,比如 in al,80h,將80h埠資料讀入到al中 out指令的意思是往埠輸出資料,比如 out 80h,al,將al輸出到80h埠 組合語言中,cpu對外設的操作通過專門的埠讀寫指令來完成 讀埠用in指令,寫埠用out指令。例子如下 i...
在單鏈表中,已知q所指結點是p所指結點的直接前驅,若在q
q next表示結點中存放的指標,該指標用來指向某個結點。原來的連線關係是q next p,意思是q中存放的指標的值是p,即q指向p。比如 原來排隊p在q的後面,現在要插乙個s在他們中間,需要做的事就是把原來p,q二人的聯絡轉化為p,s,q三人的聯絡,先讓p指向s,即q next s 然後讓s指向q...
關於日語中的用法日語中的用法
從您的問題來看應該是乙個初學者吧,這句話是教材中的課文,簡單給你解釋一下。美術館 作品 這句話中,首先是該課的句型 名 地點 名 物 表示的是某地有某物,但是為什麼是 呢?首先書上的後面有解釋,他是乙個助詞的連用,但事實上我們可以更簡單的了解。首現,在這裡的確有對比的含義,是指提問者有詢問和其他的美...