[bx]
assume cs:code
code segment
start: mov ax, 2000H
mov ds, ax
mov al, [0]
mov bl, [1]
mov cl, [2]
mov dl, [3]
mov ax, 4c00H
int 21H
code ends
end start
[bx]是什么?
[bx] 它表示一個(gè)內(nèi)存單元正什,跟 [0] 一樣啥纸,它的偏移地址在[bx]中
[bx] 與 [0] 的區(qū)別:
mov ax, [0]:在編譯器中運(yùn)行時(shí),會(huì)當(dāng)做 mov ax,0來(lái)執(zhí)行婴氮,而使用 mov ax, [bx]??會(huì)獲取偏移地址為0出的內(nèi)存單元的數(shù)據(jù)
?mov ax, [bx]
描述性符號(hào):“()”斯棒,具體應(yīng)用如下:
()
只是為了描述所用,在真實(shí)開(kāi)發(fā)中不能這樣使用主经。
- ax中的內(nèi)容為 0010H荣暮,我們可以這樣描述:
(ax)=0010H
- 2000:1000出的內(nèi)容為 0010H,我們可以著這樣描述:
(21000H)=0010H
罩驻,括號(hào)中的地址即為物理地址(內(nèi)容) - 對(duì)于 mov ax,[2]穗酥,我們可以這樣描述:
(ax)=( (ds)*16+2)
- 對(duì)于 mov [2]. ax,我們可以這樣描述:
( (ds)*16+2)=(ax)
- add ax,2:
(ax)=(ax)+2
- add ax,bx:
(ax)=(ax)+(bx)
- push ax:
(sp)=(sp)-2
?((ss)*16+(sp))=(ax)
- pop ax
?((ss)*16+(sp))=(ax)
?(sp)=(sp)+2
- idata,表示常量
[bx]
mov ax, [bx]
功能:將bx中存放的數(shù)據(jù)作為一個(gè)偏移地址 EA·段內(nèi)地址SA默認(rèn)在ds中砾跃,將SA:EA處的數(shù)據(jù)送入ax中百揭。
即 (ax) = (ds*16+(bx))
loop指令
計(jì)算 2^3。
; 使用loop計(jì)算 2^3
assume cs:code
code segment
start: mov ax, 2
; 這里循環(huán)執(zhí)行 2+2的操作蜓席,cx中存放循環(huán)的次數(shù)器一,s為標(biāo)號(hào),可自己指定
mov cx, 3
s: add ax,ax
loop s
; 循環(huán)結(jié)束
mov ax, 4c00H
int 21H
code ends
end start
解析:
- 上面的標(biāo)號(hào) s厨内,表示的是一個(gè)地址祈秕,這個(gè)地址上有一條指令:add ax, ax
-
loop s
執(zhí)行步驟:- (cx)=(cx)-1
- 判斷
cx
中的值是否為0,如果為0則執(zhí)行下一步(退出循環(huán))雏胃,否則執(zhí)行循環(huán)中的指令即add ax,ax
基本框架
mov cx, 循環(huán)次數(shù)
s:
循環(huán)體
loop s
案例
用加法計(jì)算 123*126请毛, 結(jié)構(gòu)存在ax中;
assume cs:code
code segment
start: mov ax,0
mov cx, 126
s: add ax,123
loop s
mov ax, 4c00H
int 21H
code ends
end start
調(diào)試時(shí)瞭亮,我們可以使用p
命令跳出循環(huán)方仿。
計(jì)算ffff:0006單元中的數(shù)乘以3,將結(jié)果存放在dx中统翩。
; 計(jì)算ffff:0006單元中的數(shù)乘以3仙蚜,將結(jié)果存放在dx中
assume cs:code
code segment
start: mov ax, 0ffffH ; [0]為什么是 0ffffH
mov ds, ax
mov bx, 6,
mov al, [bx]
mov ah, 0 ;[1]以上兩句可以改成 mov ax, [bx]嗎?
mov dx, 0
mov cx,3
s: add dx, ax
loop s
mov ax, 4c00H
int 21H
code ends
end start
解析:
- [0]:大于
9FFFF
的十六進(jìn)制的數(shù)有很多厂汗,如A0000H....委粉,在匯編語(yǔ)言中不能以字母開(kāi)頭,所以在前面加上0
- [1]:可以娶桦,能夠通過(guò)編譯