在汇编程序中将数据从指向局部变量(另一个指针)的指针写入
Write data from a pointer to a local variable(another pointer) in assembler
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
该程序使用矩阵,ptr_arr
存储第一行的偏移量。
在 bx
中有一个偏移量,我想移动到 min_i
和 max_i
,但程序无法编译。编译器写入 error a2023 instruction operand must have size
.
我尝试使用 mov [min_i],WORD ptr bx
,但在调试中看起来像 mov [bp - 2],bx
,没有对我需要的 bx
取消引用。
是否可以在不将 bx
传输到缓冲区并从那里读取的情况下在 1 行中执行此操作。
我正在为 ms-dos 使用 masm。在 dosbox.
中用 masm+link 编译
在 asm 中不可能从一个内存复制到另一个内存(从指针到指针)在一条指令中。更多信息在这里
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
该程序使用矩阵,ptr_arr
存储第一行的偏移量。
在 bx
中有一个偏移量,我想移动到 min_i
和 max_i
,但程序无法编译。编译器写入 error a2023 instruction operand must have size
.
我尝试使用 mov [min_i],WORD ptr bx
,但在调试中看起来像 mov [bp - 2],bx
,没有对我需要的 bx
取消引用。
是否可以在不将 bx
传输到缓冲区并从那里读取的情况下在 1 行中执行此操作。
我正在为 ms-dos 使用 masm。在 dosbox.
在 asm 中不可能从一个内存复制到另一个内存(从指针到指针)在一条指令中。更多信息在这里