Как добавить данные из массива для регистрации, когда данные в байтах? - PullRequest
0 голосов
/ 15 октября 2019

Мне нужно поместить информацию из массива x в ax, но мой x - это DB, байт, как правильно ее вставить? Потому что положить его на все, а затем делать CBW не работает должным образом. Это работает, когда x - это слово:

MOV ax, x[si]

Мне нужно, чтобы оно работало, когда x объявлено как байт в сегменте данных, я пытаюсь сделать:

MOV al, x[si]
CBW

Но этоне получается, я получаю неправильные ответы на мои функциональные уравнения и печатает только половину моего массива x.

data    SEGMENT 
a   DW  10000;   10000
b   DW -2
c   DB -3
x   DB 8,3, 1, -2; when DW, works fine
count = ($-x)/ 2
y   DB count dup(0AAh)     

функция, где я ее использую:

out_loop:
    MOV al, x[si]  
    CBW
    PUSH ax
    MOV bx, offset isvb+2  
    PUSH bx
    CALL binasc
    MOV al, y[di]
    CBW     
    PUSH ax
    MOV bx, offset isvb+11 
    PUSH bx
    CALL binasc

    MOV dx, offset isvb
    MOV ah, 9h
    INT 21h 
;============================
    INC si     
    INC si
    INC di
    LOOP out_loop
out_end:    
...