Деление DD на DD в TASM на DOS
Есть V7 DD 0ABCDEFH
V5 DW -3, -7, 91
V4=-123
Надо сделать:
V7 /= V4 + V5[0]++
Что я сделал: разсплитил V7
на AX
и BX
(ax = ab, bx = cdef
), сложил v4
и v5[0]
(заранее инкрементировав v5[0]
).
А дальше у меня идеи закончились.
Регистра всего 4 в моем распоряжении, ax
и bx
заняты v7
. CX
и DX
содержат в себе результат выражения V4 + V5[0]++
Код:
;V7 IS SPLITTED TO AX BX. AX = 00AB, BX = CDEF
;V7 /= V4 +V5[0]
XOR DX, DX
XOR CX, CX
MOV DX, V4 ;DL = 85H
INC V5[0] ;V5[0] = 0FFFEH
ADD DX, V5[0] ;FFFE + FF85H
ADC CX, 0
;CX DX -> RESULT OF V4 + V5[0]++
Перемещено leave из general