1.4串处理程序

来源:互联网 发布:淘宝开直通车 编辑:程序博客网 时间:2024/05/21 06:37

实验任务:编写程序,建立数据段data,将你的姓名及学号存入数据段的BUFFER1区域,然后利用程序将BUFFER1区域中的字符串依次传送到从BUFFER2开始的内存区域中去。

以下是本人自己的代码,测试可用,代码如下:

;>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>
;This program is created by LiZhuYang(LzySeed) 转载请注明出处;
;>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>
assume cs:code,ds:data,ds:extra,ss:stack
data segment
 buffer1 DB 'Lizhuyang 01071282',0
 m equ $-buffer1
data ends
extra segment
 buffer2 DB m dup(0)
extra ends
stack segment
 db 512 dup(0)
stack ends
code segment
start:mov ax,stack
   mov ss,ax
   mov sp,512
     mov si,0
   mov di,0
   mov ax,data
   mov ds,ax
   mov cx,19
    s:movax,data
     mov ds,ax
     mov bl,[si]
     mov ax,extra
     mov ds,ax
     mov [di],bl
     add si,1
     add di,1
     loop s
     mov dh,4
     mov dl,5
     mov si,0
     call show_str
     mov ax,4c00h
     int 21h

;>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>

;下面的代码仅用于屏幕显示作用,与题目要求无关,只是将BUFFER2内容显示出来

;>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>
show_str: pushax                       ;
         push dx
         push cx
show_str1:mov ax,extra
      mov ds,ax
      sub dh,1
      mov al,dh
      add dh,1
      mov bl,160
      mul bl
      mov es:[0],ax
      sub dl,1
      mov al,dl
      add dl,1
      mov bl,2
      mul bl
      add ax,es:[0]
      mov bx,0B800h
      mov es,bx
      mov bx,ax
      mov cl,[si]
      mov ch,0
      jcxz ok
      mov al,[si]
      add bx,si
      add bx,si
      mov es:[bx],al
      add bx,1
      mov es:[bx],72H
      inc si
      jmp show_str1
    ok:popcx
      pop dx
      pop ax
      ret
code ends
end start

0 0
原创粉丝点击