⭐ 欢迎来到虫虫下载站! | 📦 资源下载 📁 资源专辑 ℹ️ 关于我们
⭐ 虫虫下载站

📄 sh.asm

📁 汇编语言 参考书 包含作业与答案 从入门到精通 通俗易懂
💻 ASM
字号:
stack     segment para stack
          dw  100h dup(?)
stack     ends
data      segment para
filename1 db 'test.dat',0
handle1   dw  ?
filename2 db 'test1.dat',0 
handle2   dw ?
buff      db 1024*10 dup(?)
len       dw ?
data      ends
code      segment
          assume cs:code,ds:data,ss:stack
  start:  mov  ax,data
          mov  ds,ax
          lea  dx,filename1
          mov  cx,0
          mov  ah,3dh
          mov  al,0
          int  21h
          jnc  l1
          jmp  return
     l1:  mov  handle1,ax

          mov  bx,ax
          mov  ah,3fh
          mov  cx,1025*10
          lea  dx,buff
          int  21h
          mov  len,ax

          lea  si,buff
          mov  di,si
          push ds
          pop  es
          cld
          mov  cx,len
    lp1:  test byte ptr[si],80h
          jz   con2
          test byte ptr[si+1],80h
          jnz  con1
          push si
          push di
          push cx
          dec  cx
          inc  si
          cld
          rep  movsb
          dec  len
          pop  cx
          dec  cx
          pop  si
          pop  di
          jmp  lp1

   con1:  movsb
          dec  cx
   con2:  movsb
          loop lp1

          lea  dx,filename2
          mov  cx,0
          mov  ah,3ch
          int  21h
          jc   return
          mov handle2,ax

          mov bx,ax
          mov ah,40h
          mov cx,len
          lea dx,buff
          int 21h

          mov bx,handle1
          mov ah,3eh
          int 21h

          mov bx,handle2
          mov ah,3eh
          int 21h

 return:  mov ah,4ch
          int 21h
     code ends
          end start

⌨️ 快捷键说明

复制代码 Ctrl + C
搜索代码 Ctrl + F
全屏模式 F11
切换主题 Ctrl + Shift + D
显示快捷键 ?
增大字号 Ctrl + =
减小字号 Ctrl + -