一个简单的汇编问题

2024-12-02 20:36:11
推荐回答(1个)
回答1:

DATAS SEGMENT

    string db "Hello,World." ;定义字符串数组

DATAS ENDS

CODES SEGMENT

    ASSUME CS:CODES,DS:DATAS

START:

    MOV AX,DATAS

    MOV DS,AX

    mov bx,offset string ;取得字符串的首地址

    

 s1:

    mov dl,[bx] ;把字符串中的字符放到dl中

    cmp dl,'.'  ;比较字符是不是‘.’

    je s2       ;是的话,跳到s2

    mov ah,02h   ;否则输出

    int 21h

    inc bx    ;比较下一字符

    jmp s1 

 s2:

    mov al,'!'  ;把'!'放到al中

    xchg al,dl  ;交换al与dl中的字符,执行后dl为'!',al为'.'

    mov ah,02h

    int 21h

    

 s3:

    mov ah,4ch ;程序结束

    int 21h

CODES ENDS          

    END START

;运行结果