我为此问题编写了初始代码,但我希望能够以-1
作为输入。现在,只需要一个输入1
或-
,然后显示结果。
我是汇编语言和emu8086
的新手,所以如果有人可以帮助我解决这个问题,它将对我有很大帮助。
这是到目前为止的代码:
.model small
.stack 100h
.data
msg db 0ah,0dh,'negative$'
msg1 db 0ah,0dh,'positive$'
msg2 db 0ah,0dh, 'zero$'
.code
main proc
mov ax,@data
mov ds,ax
mov ah,1
int 21h
mov bl,al
mov cl,30h
cmp bl,cl
jl negative
je zero
jg positive
negative:
lea dx,msg
mov ah,9
int 21h
jmp END
zero:
lea dx,msg2
mov ah,9
int 21h
jmp END
positive:
lea dx,msg1
mov ah,9
int 21h
END:
mov ah,4ch
int 21h
main endp
end main
答案 0 :(得分:0)
如果输入的是数字字符串,可选地以-
为前缀,则应检查可选的-
,而不是检查ASCII码是大于还是小于30h
。如果您仅支持一位数字,那么看到-
意味着您还需要再读取1个字节。