功能:定義乙個段,segment指明段的開始,ends指明段的結束。
語法:
段名字 segment。。
。段名字 ends
例項
daima segment
mov ax,1234h
mov ax,4c00h
daima ends
shuju segment
放一些資料
shuju ends
語法:
assume 段暫存器:自定義名稱,。。。,段暫存器:自定義名稱
功能:告訴編譯器,編譯到此為止。
語法:
end
彙總例項:
assume cs:daima
daima segment
mov ax,1234h
mov ax,4c00h
daima ends
end
db 資料,資料,...,資料 //偽操作用來定義位元組(byte)資料,其後的每個運算元都占有乙個位元組(8位)。
dw 資料,資料,...,資料 //偽操作用來定義字(word),其後的每個運算元都占有乙個字(16位,遵循高存高位址,低存低位址原則)。
dd 資料,資料,...,資料 //偽操作用來定義雙字(double word),其後的每個運算元占有乙個雙字。
例項:
assume cs:code,ds:data
data segment
db 11h,22h,33h ;1個位元組
dw 0aabbh,0ccddh ;2個位元組
dd 1h,2h,3h ;4個位元組
乘法例項:
8位乘數時,被乘數在al內,乘積將儲存在ax內。
16位乘數時,被乘數在ax內,乘積在dx,ax內,遵循高存高,低存低原則。(dx存放高位,ax存放低位)
;8位乘法
除法例項:
8位除數時,被除數在ax內,商在al內,餘數在ah內。
16位除數時,被除數在dx和ax內,商在ax內,餘數在dx內。(dx存放高位,ax存放低位)
;16位除法
作用:定義重複資料。
使用格式:
db 重複次數 dup (位元組型資料)
dw 重複次數 dup (字型資料)
dd 重複次數 dup (雙字資料)
例項:
assume cs:code,ds:data
data segment
db 11h,22h,33h
db 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 ends
stack segment
stack ends
code segment
start:
mov ax,data
mov ds,ax
mov ax,4c00h
int 21h
code ends
end start
例項:
;很像遞迴,這段**為 mov ax,bx的**複製重複呼叫
assume cs:code,ds:data
data segment
data ends
stack segment
stack ends
code segment
start:
mov ax,bx
mov si,offset s0
mov di,offset start
mov cx,cs:[di]
mov cs:[si],cx
s0: db 6 (0ffh)
db 0eeh
mov ax,4c00h
int 21h
code ends
end start
偽指令dd 和 操作符dup
db define byte 定義位元組型資料 八位資料 dw define word 定義字型資料 十六位資料 dd double word 定義雙字型資料 三十二位資料 比如 data segment dd 1 dw 1 db 1 data ends 可以用debug觀察記憶體分配情況 問題 用...
lua程式設計 資料型別和操作符
1 lua支援以下幾種變數型別 print type string string print type 10 number print type print function print type true boolean print type table print type nil nil 2 ...
python學習筆記5 資料型別 操作符
使用int 將小數轉換為整數,採用截斷方式,即向下取整,直接砍掉小數點,不會四捨五入。例如6.7,向上取整為7,向下取整為6 獲得關於型別的資訊 1 用type 例如 a 520 type a 2 用isinstance 指定乙個引數型別,看是否匹配,返回乙個bool值 a 小甲魚 python3可...