汇编笔记(五)
复习
(1)[bx]的作用:作为偏移地址与ds配合
debug和masm对指令的处理不同:
在debug中 mov ax,[0]是指将ds:0处的数据送入al([0]是八位所以不可以是ax)中
在masm中 mov ax,[0]只是作为mov ax,0应该写为mov bx,0 mov al,[bx]或者是mov al,ds:[3]
(2)loop和cx的合作
loop为循环,cx为循环的次数
(3)debug中的p命令和g命令的使用
(4)loop和[bx]
[bx]:
dx=dx+内存的八位数据
dl=dl+内存八位数据
第六章
(1)dw即define word定义字型数据,db
(2)代码
assume cs:code,ds:date,ss:stack
date segment
dw 0123h,0456h,0789h,0abch,0bcdh,0cdeh
date ends
stack segment
dw 0,0,0,0,0,0,0,0
stack ends
code segment
start: mov ax,stack
mov ss,ax
mov sp,16 ;设置栈顶ss:sp指向stack:16
mov ax,date
mov ds,ax ;ds指向date段
mov bx,0 ;ds:bx指向date段中的一个单元
mov cx,8
s:push [bx]
add bx,2
loop s ;以上将date段中的0-16中的一个单元8个字型数据依次入栈
;使数据逆序输出
mov bx,0
mov cx,8
s0:pop [bx]
add bx,2
loop s0
mov ax,4c00h
int 21h
code ends
end