如何把数组中的值赋给寄存器? ( 积分: 50 )

  • 主题发起人 主题发起人 Hydra0
  • 开始时间 开始时间
H

Hydra0

Unregistered / Unconfirmed
GUEST, unregistred user!
我又一个8字节的数组ByteArr: array[1..8] of Byte;
现在想把ByteArr的值赋给AH或者AL,操作完成后,再把AH或者AL的值传回数组
不知道谁知道怎么实现[:(]
 
mov ah, bytearr[0]
 
wr960204
这个办法不行的,我决定用汇编写这的时候就用的这,但是错误信息是
E2107 Operand size mismatch
 
哦.搞错了.查过了,Delphi的BASM不支持数组下标访问.估计你只能通过中间变量访问了.
 
考虑了下
每次循环有4次赋值操作,汇编来完成的只有交换AH、AL的值,还不算变量MOV到AH/AL的CPU时间
假如我用中间变量也只有3次赋值操作,赋值的过程中就完成了2个字节交换了
这样不用汇编效率还要高点。
 
后退
顶部