功能是: 数组X, x>0,y=1;x=0,y=0;x<0,y=-1;输入Y
DATA SEGMENT
X DB 5,-4,0,3,100,-51
COUNT EQU $-OFFSET X
Y DW ?
DATA ENDS
CODE SEGMENT
ASSUME DS: DATA, CS: CODE
START:
MOV AX, DATA
MOV DS, AX
MOV CX, COUNT
MOV DI, 0FFFH
NEXT: INC DI
CMP X[DI], 0
JZ ZERO
JNS PLUS
MOV BX, 0FFFFH
JMP SAVE
ZERO: MOV BX,0
JMP SAVE
PLUS: MOV BX,1
JMP SAVE
SAVE: MOV Y, BX
MOV AH, 02H
MOV DX,Y
INT 21H
LOOP NEXT
CODE ENDS
END START
------解决方案--------------------------------------------------------
应该是MOV DI,FFFFH吧
------解决方案--------------------------------------------------------
把JNS改成JA试试 LOOP NEXT后加几句
mov ah,0
int 16h
mov ah,4ch
int 21h
------解决方案--------------------------------------------------------
直接让DI等于0吧
------解决方案--------------------------------------------------------
DATA SEGMENT
X DB 5,-4,0,3,100,-51
COUNT EQU $-OFFSET X
Y DW ?
DATA ENDS
CODE SEGMENT
ASSUME DS: DATA, CS: CODE
START:
MOV AX, DATA
MOV DS, AX
MOV CX, COUNT
MOV DI, 0
NEXT:
CMP X[di], 0
Jg a
jl b
MOV BX, 30h
JMP SAVE
a: MOV BX,31h
JMP SAVE
b: MOV BX,2d31h
JMP SAVE
SAVE: MOV dl,bh
MOV AH, 02H
INT 21H
mov dl,bl
mov ah,2
int 21h
mov dl,' '
mov ah,2
int 21h
inc di
LOOP NEXT
mov ax,4c00h
int 21h
CODE ENDS
END START
这个应该可以吧