实验六

作者: 退堂鼓国家一级艺术家 | 来源:发表于2017-07-09 18:49 被阅读13次

    代码如下

    assume cs:codesg,ss:stacksg,ds:datasg
    stacksg segment
            dw 0,0,0,0,0,0,0,0
    stacksg ends
    datasg segment
            db '1. display      '
            db '2. brows        '
            db '3. replace      '
            db '4. modify       '
    datasg ends
    codesg segment
            start:mov ax,datasg
                  mov ds,ax
                  mov ax,stacksg
                  mov ss,ax
                  mov sp,10h
                  mov bx,3h
                  mov cx,4h
                  s0:push cx
                     mov si,0
                     mov cx,4h
                     s:mov al,[bx+si]
                       and al,11011111b
                       mov [bx+si],al
                       inc si
                       loop s
                       pop cx
                       add bx,10h
                       loop s0
                  mov ax,4c00h
                  int 21h
     codesg ends
     end start
    
    

    值得注意的是,一开始我觉得为什么需要两个变量来表示IP的变化呢?如果只用bx的话,虽然一开始可以通过inc加一,然后到等cx变成0后,又让add bx,10h。然后继续bx加一。问题就在这里,此时的bx已经不是从3开始了,而是从6开始.

    相关文章

      网友评论

        本文标题:实验六

        本文链接:https://www.haomeiwen.com/subject/jhfehxtx.html