*分配给我的任务是编写一个汇编程序,找到三个 8 位值的总和并将其放在内存中的位置 SUMS 中。然后计算三字变量的总和,并将其放在内存中 SUMS + 2 的位置。使用以下数据:
BYTE_ARRAY DB 10H,20H,30H
WORD_ARRAY DW 1000H,2000H,3000H
SUMS DW 0,0*
我的问题是以下代码给了我一个错误
mov sums,al
我知道一个是 16 位地址,另一个是 8 位地址,但是还有其他方法可以解决吗?
编辑:
完整代码:
org 100h
.data
byte_array db 10h,20h,30h
word_array dw 1000h,2000h,3000h
sums dw 0,0
.code
mov ax,@data
mov ds,ax
mov bx,offset byte_array
mov al,[bx]
inc bx
add al,[bx]
inc bx
add al,[bx]
mov si,offset sums
mov [si],al
mov bx,offset word_array
mov ax,[bx]
add ax,[bx+2]
add ax,[bx+4]
mov [bx+6], ax
ret
我唯一剩下的问题是我不明白 SUMS + 2 的含义。问我要做什么的问题是什么?