马上注册,结交更多好友,享用更多功能^_^
您需要 登录 才可以下载或查看,没有账号?立即注册
x
;--------------中断实现循环------
assume cs:code
data segment
first:
push bp
dec cx
cmp cx,0
je over
mov bp,sp
sub [bp+2],bx ;修改栈中IP的值 ,返回时还原到标号那一步
over:
pop bp
iret
last:
nop
data ends
code segment
start:
mov ax,data
mov ds,ax
;安装7ch中断
mov si,offset first ;首地址
mov ax,0
mov es,ax
mov di,200h ;指定安装地址
mov cx, offset last - offset first ;长度
cld
rep movsb
;写入中断向量表地址
mov word ptr es:[7ch*4+2], 0
mov word ptr es:[7ch*4], 200h
;--------调用----
mov ax,0b800h;字符指定显示区
mov es,ax
mov di,12*160 ;12行 每行160字节
mov bx,offset ok- offset s ;参数 - 位移
mov cx,80 ;参数
s: ;循环体
mov byte ptr es:[di],'!'
add di,2
int 7ch
ok:
mov ax,4c00h
int 21h
code ends
end start
|