困惑灵魂 发表于 2011-6-10 23:31:42

检测点 13.1 我的作业 一些问题

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 ,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:, 0
        mov word ptr es:, 200h
       
        ;--------调用----
        mov si,0
        mov ax,0b800h;字符指定显示区
        mov es,ax
        mov di, 12*160    ;12行每行160字节

s:      ;循环体
        cmp byte ptr ,0
        je ok
        mov al,
        mov es:,al
        inc si
        add di,2
       
       ;中断    循环
      mov bx, offsetok- offset s ;参数 - 位移
      int 7ch
       
ok:   
        mov ax,4c00h
        int 21h       
       
code ends
end start
页: [1]
查看完整版本: 检测点 13.1 我的作业 一些问题