*私に割り当てられたタスクは、3 つの 8 ビット値の合計を見つけてメモリ内の位置 SUMS に配置するアセンブリ プログラムを作成することでした。次に、3 つのワード変数の合計を計算し、メモリ内の SUMS + 2 の位置に配置します。次のデータを使用します。
BYTE_ARRAY DB 10H,20H,30H
WORD_ARRAY DW 1000H,2000H,3000H
SUMS DW 0,0*
私の問題は、次のコードでエラーが発生することです
mov sums,al
1 つは 16 ビット アドレスで、もう 1 つは 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 の意味を理解していないことです。何をするように求める質問ですか?