计算机组成与结构programming问题

来源:百度知道 编辑:UC知道 时间:2024/06/06 06:00:42
include irvine32.inc
.data
Part DWORD 161,139,68,251
str1 byte "Display IP number in decimal: ",0
str2 byte "Display IP netmask in decimal: ",0
.code
main proc
int 3
mov edx,offset str1
call writestring
mov edi,offset Part
mov ecx,Lengthof Part
mov ax,0
L1:
mov ax,[edi]
call writedec
Loop L1

mov eax,3000
call Delay
call DumpRegs

mov ecx,4
mov edx,offset str1
call writestring
L2:
mov eax,256
call RandomRange
call Writedec
loop L2

exit
main endp
end main

像这样两个array怎么相加啊
我要显示part1+eax1,part2+eax2...Part4+eax4的结果
帮帮忙啊

只能逐个相加,下面的程序段仅供参考,加法指令不一定对,未考虑进位的情况,只是给个思路。

MOV EAX,eax1
ADD EAX,eax2
ADD EAX,eax3
ADD EAX,eax4 ;看你的程序段,我认为eax1~eax4是立即数,不知对否。
PUSH EAX
POP EBX
MOV ECX,4
LEA SI,part
Addition:
MOVSW
ADD EBX,EAX ;和存在EBX
LOOP Addition

不能直接相加,只能一个一个的做。否则除非使用w32的函数