80x86彙編語言編程:相鄰兩字符的判斷

;1)從鍵盤上輸入一串字符串(最大長度爲80);

;2)判斷該字符串中是否包含一位小寫字母跟着一位大寫字母的兩位符號?

;若是,則保留這些字符,其它情況的字符替換爲字符“@”;

;3)將上述處理後的字符串顯示在屏幕上


題目鏈接:http://zhidao.baidu.com/question/2267058358972161628


做而論道編程如下:  2015-01-22 14:03


提問者採納


ASSUME   CS:CODES, DS:DATAS


DATAS   SEGMENT

    STR1   DB  81,  ?, 81  DUP (?)

    STR2   DB  13, 10, 81  DUP ('$')

DATAS   ENDS


CODES   SEGMENT


START:

    MOV   AX, DATAS

    MOV   DS, AX


    MOV   AH, 10

    LEA   DX, STR1

    INT   21H


    MOV   BX, 2

LP:

    MOV   AL, STR1[BX]

    CMP   AL, 13

    JZ    DISP

    CMP   AL, 'A'

    JB    NEXT1

    CMP   AL, 'Z'

    JA    NEXT1


    MOV   AH, STR1[BX + 1]

    CMP   AH, 13

    JZ    NEXT1

    CMP   AH, 'a'

    JB    NEXT1

    CMP   AH, 'z'

    JA    NEXT1


    MOV   STR2[BX], AL

    MOV   STR2[BX + 1], AH

    ADD   BX, 2

    JMP   LP


NEXT1:

    MOV   AL, '@'

    MOV   STR2[BX], AL

    INC   BX

    JMP   LP


DISP:

    MOV   AH, 9

    LEA   DX, STR2

    INT   21H


EXIT:

    MOV   AH, 4CH

    INT   21H


CODES   ENDS

    END   START



提問者評價:謝謝!


發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章