1.and指令:邏輯
與指令,按位進行與運算。
與1不變,與0變0,可將物件相應位設為0.
2.or指令:邏輯或指令,按為進行或運算。
或1變1,或0變0,可將物件位設為1. 3
.[bx+idata]的幾種表現形式:
(1)mov ax,[200+bx]
(2)mov ax,200[bx]
(3)mov ax,[bx].200
4.[bx+idata]的
陣列處理案例
assume cs
:codesg,ds
:datasg
datasg segment
db 'basic'
db 'minix'
datasg ends
codesg segment
start
:mov ax,datasg
mov ds,ax
mov bx,
0mov cx,
5s : mov al,
0[bx]
and al,
11011111b
mov al,
5[bx]
or al,
00100000b
mov
5[bx],al
inc bx
loop s
codesg ends
end start
5.si和di是8086cpu中和bx功能相似的暫存器,只是不能分成兩個8位的暫存器來用。 6
(1)mov ax,[bx][si]
(2)mov ax,[bx+si] 7
.[bx+si+idata]
(1)mov ax,[bx+200+si]
(2)mov ax,[200+bx+si]
(3)mov ax,200[bx][si]
(4)mov ax,[bx].200[si]
(5)mov ax,[bx][si].200
8.一般來說,需要暫存資料,我們都應該使用棧。
9.使用棧暫存資料的案例
assume cs
:codesg,ds
:datasg
datasg segment
db 'ibm '
db 'dec '
db 'dso '
db 'vax '
datasg ends
stacksg segment
dw 0,
0,0,
0,0,
0,0,
0stacksg ends
codesg segment
start
: mov ax,datasg
mov ds,ax
mov dx,stacksg
mov ss,dx
mov sp,
16mov bx,
0mov cx,
4s0 : push cx
mov si,
0mov cx,
3s : mov al,[bx
+si]
and ax,
11011110b
mov [bx
+si],al
inc si
loop s
add bx,
16pop cx
inc bx
loop s0
mov ax,
4c00h
int
21hcodesg ends
end start
7 更靈活的定位記憶體位址的方法
1.and指令 邏輯與指令,按位進行與運算。與1不變,與0變0,可將物件相應位設為0.2.or指令 邏輯或指令,按為進行或運算。或1變1,或0變0,可將物件位設為1.3.bx idata 的幾種表現形式 1 mov ax,200 bx 2 mov ax,200 bx 3 mov ax,bx 200 ...
更靈活的定位記憶體位址的方法
1 and和or指令 and指令 邏輯與指令,按位進行與運算 技巧 通過該指令可將操作物件的相應位設為0,其他位不變 or指令 邏輯或指令,按位進行或運算 技巧 通過該指令可將操作物件的相應位設為1,其他位不變 2 ascii碼 編碼方案,就是一套規則,它約定了用什麼樣的資訊來表示現實物件。例 61...
更靈活的定位記憶體位址的方法
與其說這一章是在講如何在彙編語法上更方便的定位記憶體位址,不如說是如何在底層中抽象出一種資料結構來。and指令 邏輯與指令,按位進行計算,全一得一 or指令 邏輯或指令,按位進行計算,逢一得一 在匯程式設計序中,以 指明資料是以字元的形式給出的,編譯器將把他們轉換位相應的ascii碼。同乙個字母的大...