|
马上注册,结交更多好友,享用更多功能^_^
您需要 登录 才可以下载或查看,没有账号?立即注册
x
link 时 提示 no stack segment! 不知道怎么回事!但可以通过
我这作业是把安装和调用都写在一起了!我是用模拟器来观察调试!
用win debug 调试 是不是要分开写呢?- ;--------------中断实现循环------
- assume cs:code,ds:data,ss:stack
- stack segment
- db 20 dup(0)
- stack ends
- data segment
- db 'http://www.fishc.com/',0
-
- first:
- push bp
- mov bp,sp
- sub [bp+2],bx ;修改栈中IP的值 ,返回时还原到标号那一步
- pop bp
- iret
- last:
- nop
- data ends
- code segment
- start:
- mov ax,stack
- mov ss,ax
- mov sp,20+1
- 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 si,0
- mov ax,0b800h;字符指定显示区
- mov es,ax
- mov di, 12*160 ;12行 每行160字节
- s: ;循环体
- cmp byte ptr [si],0
- je ok
- mov al,[si]
- mov es:[di],al
- inc si
- add di,2
-
- ;中断 循环
- mov bx, offset ok- offset s ;参数 - 位移
- int 7ch
-
- ok:
- mov ax,4c00h
- int 21h
-
- code ends
- end start
复制代码 |
|