str.asm

来自「汇编学习经典,DOS环境可在 win2000下使用」· 汇编 代码 · 共 80 行

ASM
80
字号
;			第二章  汇编语言程序格式
				
;			  实验三  串操作指令

;一.实验目的:

;	 1. 熟悉如何定义各段.

;	 2. 掌握IBM PC 机的串操作指令的使用方法. 	
	
;二.实验内容:

;	    在给定的字符串中插入字符.将数据段DATA中定义的源串'is ',插入到附

;	  加段EXTE中的目的串'This a book!'的第一个空格处,使其成为一个完整的

;	  句子.
	
;   提示:
	  
;	 . 在目的串中找到所要插入的字符位置后,为防止传送时数据丢失,应将DF置

;      为1,使其反向传送以空出所要插入字符个数.

;	 . 注意:反向传送时,应将DS和ES设置为同样的地址. 	  
		 				
;三.程序清单:

;****************************************************************************
	
data	segment				        ;数据段定义
	mess1	db 'is '
	c1	equ $-mess1
data	ends

exte	segment
	mess2	db 'This a book!'
	c2 	equ $-mess2
exte	ends
	
code	segment
	assume cs: code, ds: data, es: exte

main 	proc  far
again:	push  ds
	mov  ax,  0
	push ax		  	               ;返回DOS
	mov  ax,  data 
	mov  ds,  ax
	mov  ax,  exte
	mov  es,  ax
	lea  di,  mess2
	mov  cx,  c2
	mov  al,  20h
	repnz scasb
	push  di
	mov   bx, c1
	add   bx, c2
	push   ds
	mov   ax, es
	mov   ds,  ax
	inc cx
	lea   di, es: mess2[bx]
	lea   si, es: mess2[c2]
	std
	rep   movsb
	pop  ds
	mov   cx, c1
	pop   di
	lea   si, mess1
	cld
	rep   movsb
	ret
main 	endp

code	ends
	end   again

;****************************************************************************

⌨️ 快捷键说明

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