У меня есть небольшая проблема с моей программой. я должен интеркаляции элементы двух строк, так что если у меня естьинтеркалированные элементы двухрядных узлов 8086
S1: 1, 3, 5, 7
S2: 2, 6, 9, 4
это приведет к D: 1, 2, 3, 6, 5, 9, 7, 4.
Это то, что я сделал до сих пор, и я понятия не имею, как это исправить, любая помощь, пожалуйста?
assume cs:code, ds:data
data segment
s1 db '1357'
s2 db '2694'
l1 EQU ($-s1)
l2 EQU ($-s2)
d db (l1+l2) dup (?)
data ends
code segment
start:
mov ax,data
mov ds,ax
mov si,offset s1
mov cx,l1
mov bx, 0
frst:
mov ax,[si]
mov [di]+[bx],ax
inc si
add bx,2
loop frst
mov si, offset s2
mov cx,l2
mov bx,1
scnd:
mov ax,[si]
mov [di]+[bx],ax
inc si
add bx,2
loop scnd
mov ax,4c00h
int 21h
code ends
end start
_ «Я не знаю, как исправить это» _. Исправить _what_? Вы не объяснили, в чем проблема. – Michael
Не следует ли 'l1' быть на одну строку выше, так что это следует за' s1'? –
'mov [di] + [bx], ax' --- вы не установили' di' возможно 'mov di, offset d' –