汇编语言实验——求绝对值之和
程序员文章站
2024-02-02 15:46:22
...
求绝对值之和
在BUF1和BUF2两个数据区中,各定义有10个带符号字数据,试编制一完整的源程序,求它们对应项的绝对值之和,并将和数存入以SUM为受地址的数据区中
ASSUME CS:CODE,DS:DATA,SS:STACK
;在BUF1和BUF2两个数据区中,各定义有10个带符号字数据,试编制一完整的源程序,求它们对应项的绝对值之和,并将和数存入以SUM为受地址的数据区中。
DATA SEGMENT
BUF1 DW -56,24,54,-1,89
BUF2 DW 45,-23,124,345,-265
SUM DW 10 DUP(0)
NOTE DB 'The result are:',0AH,0DH,'$'
DATA ENDS
STACK SEGMENT
DB 128 DUP (0)
STACK ENDS
CODE SEGMENT
START:
MOV AX,DATA
MOV DS,AX
MOV AX,STACK
MOV SS,AX
MOV SP,128
LEA DX,NOTE
MOV AH,9
INT 21H
MOV CX,5
MOV SI,0
DEAL1:
MOV AX,BUF1[SI]
TEST AX, 8000H ;判断最高位
JNZ OVER_ZERO
JMP BACK
OVER_ZERO:
DEC AX
NOT AX
JMP BACK
BACK:
MOV BUF1[SI],AX
ADD SI,2
LOOP DEAL1