chgtx 发表于 2015-4-30 22:28:25

第十六章实验,编译到subs1提示instrution or directive和symbol not difined:sub4s1

assume cs:code

code segment
;-------安装程序--------
start:mov ax,cs
          mov ds,ax
          mov si,offset s
          mov ax,0
          mov es,ax
          mov di,200h
               
          mov cx,offset send-offset s;设置cx长度

          cld;设置传输方向正向
          rep movsb
               
           cli;屏蔽中断

           mov word ptr es:,200h;设置新int7ch地址
           mov word ptr es:,0
               
           sti
               
           mov ax,4c00h
           int 21h
               
s:      jmp short set

      table dw sub1-s+200h,sub2-s+200h,sub3-s+200h,sub4-s+200h
               
set:   push bx

         cmp ah,3
       ja reps

       mov bh,0
         mov bl,ah
               
         add bl,bl
               
       call word ptr table
               
reps:   pop bx

          iret
;-----清屏功能----               
sub1:   push bx
            push cx
          push es
               
          mov bx,0b800h
          mov es,bx
          xor bx,bx
               
          mov cx,2000
sub1s:mov byte ptr es:,' '
            add bx,2
               
          loop sub1s
               
          pop es
          pop cx
          pop bx
          ret
;------改变前景色功能-----               
sub2:   push bx
            push cx
          push es
               
          mov bx,0b800h
          mov es,bx;
          mov bx,1
               
          mov cx,2000
sub2s:and byte ptr es:,11111000b
            or byte ptr es:,al
          add bx,2
               
          loop sub2s
               
          pop es
          pop cx
          pop bx
          ret
;-----改变背景色功能-------               
sub3:   push ax
            push bx
            push cx
          push es
               
          mov bx,0b800h
          mov es,bx
          mov bx,1
               
          mov cl,4
          shl al,cl
               
          mov cx,2000
sub3s:and byte ptr es:,10001111b
          or byte ptr es:,al
          add bx,2
               
          loop sub3s
               
          pop es
          pop cx
          pop bx
          pop ax

          ret
;------向上滚动一行功能------               
sub4:   push cx
          push ds
          push es
          push di
          push si
               
          mov si,0b800h
          mov es,si
          mov ds,si
          mov si,160
          mov di,0
               
          cld
               
          mov cx,24
sub4s:push cx

          mov cx,160
               
          rep movsb
               
          pop cx
          loop sub4s
;-------最后一行清空功能--------               
          mov cx,80
sub4s1:mov byte ptr es:,' '

               add si,2
               
             loop sub4s1
               
             pop si
             pop di
             pop es
             pop ds
             pop cx
             ret
               
send:      nop

code ends
end start

haiouda 发表于 2015-4-30 22:32:26

加油呀;
我还没复习到那里,发程序最好以代码形式 ( <> ) 发出来~

chgtx 发表于 2015-5-1 10:34:00

haiouda 发表于 2015-4-30 22:32
加油呀;
我还没复习到那里,发程序最好以代码形式 () 发出来~

有代码,有图啊,

haiouda 发表于 2015-5-1 11:01:48

chgtx 发表于 2015-5-1 10:34
有代码,有图啊,

你能直接告诉我,你的代码71行,在哪里么 :curse:

chgtx 发表于 2015-5-1 14:57:47

你把代码贴到notepad++就能看到啊,

chgtx 发表于 2015-5-11 15:52:13

原来是sub4s1那里用了中文的冒号

回锅丶肉 发表于 2015-6-6 00:35:01

{:1_1:}

fast 发表于 2015-7-6 06:59:04

学习
页: [1]
查看完整版本: 第十六章实验,编译到subs1提示instrution or directive和symbol not difined:sub4s1