EMU8086 Проблема ввода / вывода с использованием символов - PullRequest
0 голосов
/ 03 ноября 2019

, поэтому проблема в следующем:

Считывание символа с клавиатуры. Если символ представляет собой букву, в режиме косвенного регистра со смещением запишите эту букву в ячейку памяти 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]

правильно или у меня что-то не так? Спасибо!

...