|
马上注册,结交更多好友,享用更多功能^_^
您需要 登录 才可以下载或查看,没有账号?立即注册
x
本帖最后由 loop 于 2011-5-17 12:42 编辑
小甲鱼老师:在int7eh
7eh实现loop s指令的功能 cx,bx存放位移 在屏幕中央显示80个!- assume cs:code
- code segment
- mov ax,0b800h
- mov es,ax
- mov di,160*2
- mov bx,offset s - offset se
- mov cx,80
-
- s:mov byte ptr es:[di],'!'
-
- add di,2
- int 7eh
-
- se: nop
- mov ax,4c00h
- int 21h
- code ends
- end start
复制代码
- assume cs:code
- code segment
- start:
- ;7eh安装程序
- mov ax,cs
- mov ds,ax
- mov si,offset ip
- mov ax,0
- mov es,ax
- mov di,200h
-
- mov cx,offset ipend - offset ip
- cld
- rep movsb
- ;设置中断向量表
-
- mov ax,0
- mov es,ax
- mov word ptr es:[7eh*4],200h
- mov word ptr es:[7eh*4+2],0
- mov ax,4c00h
- int 21h
- ;ip
- ip:
- push bp
- mov bp,sp
- dec cx
- jcxz ipret
- add [bp+2],bx
- ipret: pop bp
- iret
- ipend: nop
-
- code ends
- end start
复制代码 在调用中,- push bp
- mov bp,sp
- dec cx
- jcxz ipret
- add [bp+2],bx
复制代码 是 push bp 80次吗? |
|