1.傳傳送指令MOVShtml
;功能:將字符串STR1中的字符串用MOVS指令轉移給STR2 ;時間:2012.11.18 .386 DATA SEGMENT USE16 STR1 DB 'I LOVE YOU !' N=$-STR1 STR2 DB N DUP(0) DB '$' DATA ENDS STACK SEGMENT USE16 DB 200 DUP(0) STACK ENDS CODE SEGMENT USE16 ASSUME DS:DATA,ES:DATA,CS:CODE,SS:STACK BEGIN: MOV AX,DATA MOV DS,AX ; 當前數據段 MOV ES,AX ; 附加數據段 LEA SI,STR1 LEA DI,STR2 MOV CX,N CLD ; 使DF=0 ,DI,SI自增 STD時自減 REP MOVSB LEA DX,STR2 MOV AH,9 INT 21H MOV AH,4CH INT 21H CODE ENDS END BEGIN2.串比較指令CMPS
;功能:CMPS指令的操做,比較輸入字符串與指定字符串是否相等 ;時間;2012.11.18 DATA SEGMENT USE16 STR1 DB 80 DB ? DB 80 DUP(0) STR2 DB 'HELLO!' COUNT=$-STR2 RES DB 0AH,0DH,'輸入的字符串與咱們設定的相同',0AH,0DH,'$' RES1 DB 0AH,0DH,'對不起您輸入的不是咱們設定的',0AH,0DH,'$' MES DB '請輸入一串字符(空格退出):',0AH,0DH,'$' DATA ENDS STACK SEGMENT USE16 DB 200 DUP(0) STACK ENDS CODE SEGMENT USE16 ASSUME DS:DATA,ES:DATA,CS:CODE,SS:STACK BEGIN: MOV AX,DATA MOV DS,AX MOV ES,AX ; 想str1中輸入字符串 LOP: ;輸出提示信息 LEA DX,MES MOV AH,9 INT 21H ;像緩衝區輸入字符串 LEA DX,STR1 MOV AH,10 INT 21H ;與空格比較 CMP STR1+2,20H JE EXIT ;如果空格則退出程序 MOV AL,STR1+1 CMP AL,COUNT JNE NEQU ;判斷輸入的字符串與所設定的字符串長度是否相同,不一樣直接輸出不一樣信息 LEA SI,STR2 LEA DI,STR1+2 MOV CX,COUNT REPZ CMPSB ;這是CMPS的相關參數設定 JNE NEQU LEA DX,RES JMP OUT NEQU: LEA DX,RES1 OUT: MOV AH,9 INT 21H JMP BEGIN EXIT: MOV AH,4CH INT 21H CODE ENDS END BEGIN