ASSUME CS:CODE,DS:DATA,SS:STACK
STACK SEGMENT
DB 16 DUP(?)
STACK ENDS
DATA SEGMENT
MES1 DB 'JUST A TEST!',10,13,'$'
BUFF1 DB 'MES2:'
MES2 DB 20 DUP(0)
BUFF2 DB 'MES3:'
MES3 DB 20 DUP(0)
DATA ENDS
CODE SEGMENT
;============================================
;MOVSB指令将DS:SI中数据按字节传送至ES:DI
;DF=0时,SI和DI递增;DF=1时,SI和DI递减
;CX中为循环次数
;MOVSW类似于MOVSB,只是SI和DI递增(递减)数变为2
;CLD指令使DF=0;STD指令使DF=1
;LEA取偏移地址
;============================================
START:
MOV AX,DATA
MOV DS,AX
MOV ES,AX
LEA SI,MES1 ;将MES1标记处偏移地址送入SI
LEA DI,MES2
MOV CX,15
CLD
REP MOVSB
LEA DX,BUFF1
MOV AH,9
INT 21H
LEA SI,MES1+14
LEA DI,MES3+14
MOV CX,15
STD
REP MOVSB
LEA DX,BUFF2
MOV AH,9
INT 21H
MOV AH,1
INT 21H
MOV AX,4C00H
INT 21H
CODE ENDS
END START
MOVSB指令详解
最新推荐文章于 2024-08-25 14:59:24 发布