EMU8086使用符号的输入/输出问题

时间:2019-11-03 18:33:16

标签: assembly emu8086

所以问题是:

  

从键盘上读取符号。如果该符号是字母,则使用带位移的寄存器间接模式,将此字母写入存储位置DS:20h。使用基于索引的索引模式,在位置DS:21h处,将字母表中的下一个字母(如果存在)写入。使用直接寻址模式在位置DS:21h处将字母表中的前一个字母(如果存在)写入。    例如,如果我们在键盘上键入c,则c,d和b应该存储在内存中。在我们键入a时,应该只存储a和b,因为在a之前的字母表中没有前一个字母。

我的解决方法是:

    mov ah, 1
    int 21h 

    mov bx, 20h 

    mov ah, 0

    off dw 0h   

    mov [bx+off], ax 
    mov cx, [bx+off]

    inc ax
    inc off

    mov si, off

    mov [bx][si], ax 
    mov cx, [bx][si]

    inc ax

    inc si

    add bx,si     

    mov [bx], ax 
    mov cx,[bx]

    inc ax

    mov bx, 20h

    mov [bx + si + off], ax 
    mov cx,[bx+si+off]

是正确的还是我有什么问题? 谢谢!

0 个答案:

没有答案