Программирование на Ассемблере для персональных компьютеров. Садовой Н.Н - 59 стр.

UptoLike

Составители: 

59
; Параметры:
;адрес строки BP+2, позиция удаления BP+4, число удаляемых сим-
волов ; BP+6, длина строки BP+8
DELSUB proc near
push bp
mov bp, SP
push es
push ax
push si
push di
push cx
mov ax, ds
mov es, ax
mov di, [bp+4] ; адрес начала строки
add di, [bp+6] ; адрес позиции удаления +1
dec di ; адрес позиции удаления
mov si, di
add si, [bp+8] ; адрес остающейся части строки
mov cx, [bp+4] ; адрес начала строки
add cx, [bp+10] ; адрес конца строки + "$"
sub cx, si ; число перемещаемых символов - 1
inc cx ; число перемещаемых символов
cld ; продвигаться от начала к концу
rep movsb ; переслать (cx) символов
pop bp
pop cx ; восстановить
pop di ; регистры
pop si ; из
 ; Параметры:
 ;адрес строки BP+2, позиция удаления BP+4, число удаляемых сим-
   волов ; BP+6, длина строки BP+8
DELSUB     proc        near
     push bp
     mov bp, SP
     push es
     push ax
     push si
     push di
     push cx
     mov ax, ds
     mov es, ax
     mov di, [bp+4]           ; адрес начала строки
     add di, [bp+6]           ; адрес позиции удаления +1
     dec di                   ; адрес позиции удаления
     mov si, di
     add si, [bp+8]           ; адрес остающейся части строки
     mov cx, [bp+4]           ; адрес начала строки
     add cx, [bp+10]          ; адрес конца строки + "$"
     sub   cx, si             ; число перемещаемых символов - 1

     inc   cx                 ; число перемещаемых символов
     cld                      ; продвигаться от начала к концу
     rep   movsb              ; переслать (cx) символов
     pop bp
     pop cx                   ; восстановить
     pop di                   ; регистры
     pop si                   ; из
                                                                  59