彙編實驗 7 串指令程序設計

1、編寫程序,實現將內存偏移地址爲 1000H 開始的連續 100 個字節送往偏移地址爲 1050H 開始 的連續 100 個內存單元中。要求使用二種不同的方法(用單一的串操作指令、用帶重複前綴的串操作指令)。

方法一:使用MOVSB指令

DATA SEGMENT
	ORG 1000H
	X DB 100 DUP('1')
	ORG 1050H
	Y DB 100 DUP('0')
DATA ENDS
CODE SEGMENT
	ASSUME DS:DATA,CS:CODE
START:
	MOV AX,DATA
	MOV DS,AX
	MOV ES,AX
	LEA SI,X
	LEA DI,Y
	MOV CX,100
	CLD
AGAIN:	MOVSB
	DEC CX
	JNZ AGAIN 
	MOV AH,4CH
	INT 21H
CODE ENDS
	END START

方法二: 使用REP重複前綴指令

DATA SEGMENT
	ORG 1000H
	X DB 100 DUP(1)
	ORG 1050H
	Y DB 100 DUP(2)
DATA ENDS
CODE SEGMENT
	ASSUME CS:CODE,DS:DATA
START:
	MOV AX,DATA
	MOV DS,AX
	MOV ES,AX
	LEA SI,X
	LEA DI,Y
	MOV CX,100
	CLD
	REP MOVSB
	MOV AH,4CH
	INT 21H
CODE ENDS
	END START

2、編程實現:對 str1 和 str2 兩個字符串進行比較,若兩串相同,給 DL 送 1,否則送-1。

DATA SEGMENT
	STR1 DB '123456'
	STR2 DB '1234567'
DATA ENDS
CODE SEGMENT
	ASSUME CS:CODE,DS:DATA
START:
	MOV AX,DATA
	MOV DS,AX
	LEA SI,STR1
	LEA DI,STR2
	CLD
	REPZ CMPSB
	JNZ UMAT
	MOV DL,1
	JMP NEXT
UMAT:	MOV DL,-1
NEXT:	MOV AH,4CH
	INT 21H
CODE ENDS
	END START
發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章