Есть 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]++









 , , ,






URL записи