0
replace PROC
    enter 8, 0
    min_i equ [bp - 2]
    min equ [bp - 4]
    max_i equ [bp - 6]
    max equ [bp - 8]

    mov bx,offset ptr_arr

    mov [min_i],[bx]
    mov [max_i],[bx]

    ...

    leave
    ret
replace ENDP

The program works with matrices and ptr_arr stores the offsets of the first row.
In bx there is an offset that I want to move to min_i and max_i, but the program does not compile. Compiler writes error a2023 instruction operand must have size.
I tried using mov [min_i],WORD ptr bx, but in debug is looks like mov [bp - 2],bx without dereference for bxwhich I need.
Is it possible to do this in 1 line without transferring bx to the buffer and reading from there.
I'm using masm for ms-dos. Compiling with masm+link in dosbox.

Nate Eldredge
  • 48,811
  • 6
  • 54
  • 82
LoaDeadd
  • 11
  • 4

1 Answers1

0

In asm isn't possible to copy from memory to memory(from pointer to pointer) in one instruction. More info here x86 Assembly pointers

Erik Eidt
  • 23,049
  • 2
  • 29
  • 53
LoaDeadd
  • 11
  • 4