日韩性视频-久久久蜜桃-www中文字幕-在线中文字幕av-亚洲欧美一区二区三区四区-撸久久-香蕉视频一区-久久无码精品丰满人妻-国产高潮av-激情福利社-日韩av网址大全-国产精品久久999-日本五十路在线-性欧美在线-久久99精品波多结衣一区-男女午夜免费视频-黑人极品ⅴideos精品欧美棵-人人妻人人澡人人爽精品欧美一区-日韩一区在线看-欧美a级在线免费观看

歡迎訪問 生活随笔!

生活随笔

當前位置: 首頁 > 编程资源 > 编程问答 >内容正文

编程问答

十一、伪指令、数据类型、操作符

發布時間:2025/3/15 编程问答 22 豆豆
生活随笔 收集整理的這篇文章主要介紹了 十一、伪指令、数据类型、操作符 小編覺得挺不錯的,現在分享給大家,幫大家做個參考.

偽指令:指給編譯器用,告訴編譯器如何執行匯編代碼。

?

1 段定義偽指令

功能:定義一個段,segment指明段的開始,ends指明段的結束。

語法:

段名字 segment 。 。 。 段名字 ends

實例

daima segmentmov ax,1234Hmov ax,4c00H daima endsshuju segment放一些數據 shuju ends

?

2 段關聯偽指令

功能:將源代碼中的某一個自定義的段與計算機中某一個段寄存器相關聯。

語法:

assume 段寄存器:自定義名稱,。。。,段寄存器:自定義名稱

?

3 編譯結束偽指令

功能:告訴編譯器,編譯到此為止。

語法:

end

?

匯總實例:

assume cs:daima daima segmentmov ax,1234Hmov ax,4c00H daima ends end

?

4. 偽指令db、dw、dd

db 數據,數據,...,數據?? ?//偽操作用來定義字節(byte)數據,其后的每個操作數都占有一個字節(8位)。
dw 數據,數據,...,數據?? ?//偽操作用來定義字(word),其后的每個操作數都占有一個字(16位,遵循高存高地址,低存低地址原則)。
dd 數據,數據,...,數據?? ?//偽操作用來定義雙字(double word),其后的每個操作數占有一個雙字。

實例:

assume cs:code,ds:data data segmentdb 11H,22H,33H ;1個字節dw 0AABBH,0CCDDH ;2個字節dd 1H,2H,3H ;4個字節 data endsstack segment stack endscode segment start:mov ax,datamov ds,axmov ax,4c00Hint 21H code ends end start

乘法實例:

8位乘數時,被乘數在AL內,乘積將存儲在AX內。

16位乘數時,被乘數在AX內,乘積在DX,AX內,遵循高存高,低存低原則。(DX存放高位,AX存放低位)

;8位乘法 assume cs:code,ds:data data segmentdb 03H,04Hdw 0FFH data endsstack segment stack endscode segment start:mov ax,datamov ds,axmov al,ds:[0]mov ah,ds:[1]mul ahmov ds:[2],axmov ax,4c00Hint 21H code ends end start

除法實例:

8位除數時,被除數在AX內,商在AL內,余數在AH內。

16位除數時,被除數在DX和AX內,商在AX內,余數在DX內。(DX存放高位,AX存放低位)

;16位除法 assume cs:code,ds:data data segmentdd 00015F99Hdw 0384H,0H,0Hdb 0FFH data endsstack segment stack endscode segment start:mov ax,datamov ds,axmov dx,ds:[2]mov ax,ds:[0]mov bx.ds:[4]div bx;div word ptrbx ds:[4]mov ds:[6],axmov ds:[8],dxmov ax,4c00Hint 21H code ends end start

?

5. 操作符dup

作用:定義重復數據。

使用格式:
db 重復次數 dup? (字節型數據)
dw 重復次數 dup (字型數據)
dd 重復次數 dup?(雙字數據)

實例:

assume cs:code,ds:data data segmentdb 11H,22H,33Hdb 6 dup (12H,13H) ;1個字節dw 3 dup (1122H,3344H) ;2個字節(1個字)dd 7 dup (11223344H,55667788H) ;4個字節(2個字)db 100 dup (00H)db 0FFH data endsstack segment stack endscode segment start:mov ax,datamov ds,axmov ax,4c00Hint 21H code ends end start

?

6. 操作符OFFSET

作用:取得標號的偏移地址。(自己感覺是獲取標號的地址,實例為將標號復制到寄存器內使用,做輔助代碼,像遞歸)

實例:

;很像遞歸,這段代碼為 mov ax,bx的代碼復制重復調用 assume cs:code,ds:data data segment data endsstack segment stack endscode segment start:mov ax,bxmov si,offset s0mov di,offset startmov cx,cs:[di]mov cs:[si],cxs0:db 6 (0FFH)db 0EEHmov ax,4c00Hint 21H code ends end start

?

?

?

?

?

?

?

?

總結

以上是生活随笔為你收集整理的十一、伪指令、数据类型、操作符的全部內容,希望文章能夠幫你解決所遇到的問題。

如果覺得生活随笔網站內容還不錯,歡迎將生活随笔推薦給好友。