我需要将数组的第一个元素与最后一个元素进行比较,依此类推。这就像我有一个数组A [9](大小为10)。所以我需要将A [0]与A [9]进行比较,如果A [0]> [9]然后我需要减去它们将它存储在另一个数组中。这个过程继续进行A [1]到A [8],A [2]到A [7]直到它达到A [4]到A [5] 我把程序分解为C,但我真的不知道如何用汇编语言来处理它。
比较两个不同的变量更容易。但是,如果有人能告诉我如何比较同一阵列的不同元素,那将会很有帮助。感谢。
答案 0 :(得分:0)
你必须简单地将“di”移动到数组的最后一个索引并将“si”指向数组的第一个索引 然后你必须通过解除引用运算符[]比较si和di的内容并增加si并减少di 例如: 。数据 数组db 1,2,3,4,5,6 。码 mov ax,@ data mov dx,ax
mov si,offset array
mov di,offset array
添加di,5
di现在指向你也可以做的最后一个索引;如果数组被视为输入并且非常大,则使用循环 mov cx,6
LOOP1:
mov al,[si]
cmp al,[di]
;如果这些值等于不等于;或高于或低于等等,您想要做的条件
inc si
dec di
循环loop1
出口:
mov啊,4ch
int 21h
端