代碼不是我寫的,我就加了注釋。。。。
請任意輸入一個字符串,將其中A換成CC,并將結(jié)果顯示在屏幕上。
DATAS SEGMENT
? ? BUF1 DB 100
? ? DB ?
? ? DB 100 DUP(?)
? BUF2 DB 'CC','$';這個一會要用字符串輸出,所以要有一個美元符號。
DATAS ENDS
STACKS SEGMENT
STACKS ENDS
CODES SEGMENT
? ? ASSUME CS:CODES,DS:DATAS,SS:STACKS
START:
? ? MOV AX,DATAS
? ? MOV DS,AX
? ? LEA DX,BUF1
? ? MOV AH,0AH;讀入鍵盤輸入的東西
? ? INT 21H
? ? MOV DL,0AH;換行
? ? MOV AH,02H
? ? INT 21H
? ? MOV BL,BUF1[1];這里是把BUF1的第二個數(shù)即輸入字符的個數(shù)緩存在BL里
? ? MOV SI,2;設(shè)置起始位置
CHULI:
CMP BL,0;看看是不是處理完了
JZ EXIT
CMP BUF1[SI],'A';k看看是不是A
JZ ISA
JNZ ISB
ISB:不是A的話用02號指令輸出一個字符,把要輸出的用mov給DL
MOV DL,BUF1[SI]
MOV AH,02H
INT 21H
INC SI
DEC BL
JMP CHULI
ISA:;是A的話用09號指令輸出一串字符,把要輸出的用LEA給DX
LEA DX,BUF2
MOV AH,09H
INT 21H
INC SI
DEC BL
JMP CHULI
EXIT:
? ? ;此處輸入代碼段代碼
? ? MOV AH,4CH
? ? INT 21H
CODES ENDS
? ? END START