将数组作为参数传递给宏程序集

时间:2014-06-23 18:49:06

标签: arrays assembly macros parameters x86-16

是否可以在汇编中将数组作为参数传递给宏?例如,

setXY macro temp[0], temp[1]      ; temp is word-sized
   mov ax, temp[0]
   mov bx, temp[1]

在身体的某个地方,你会打电话给setXY coor[0], coor[1]

允许吗?

1 个答案:

答案 0 :(得分:1)

如果您有以下宏:

do_stuff MACRO x, y
  mov ax,[x]
  mov bx,[y]
  add ax,bx
ENDM

一系列文字:

coor dw 1, 3, 5, 7

你可以这样做:

; Use the do_stuff macro with the first two elements of coor as
; the arguments

do_stuff coor, coor+2

哪会给你ax == 1 + 3 == 4