这是我代码
[ORG 0x0100]
jmp start
even: dw 16,18,20,22,24,26,28,30,32
avg: dw 0
average:
a1: add ax, [bx]
add bx, 2
loop a1
ret
start:
mov ax,0
mov bx,even
mov cx,8
call average
mov bx,9
div ax
mov avg,ax
mov ax, 0x4c00 ;terminate program
int 0x21
我不知道为什么会出现此错误。
1条答案
按热度按时间owfi6suc1#
操作码和操作数的组合无效
如果这是NASM,则
mov avg,ax
需要变为mov [avg], ax
以避免错误。如果这是MASM,则
mov bx,even
需要变为mov bx, OFFSET even
才能获得正确的结果。出现错误!
mov cx,8
只能处理8个元素。mov bx,9
进行除以9的除法运算,但执行的div ax
是错误的。