求用汇编写段程序(很简单!)

来源:百度知道 编辑:UC知道 时间:2024/06/28 04:42:59
假设有一组数据:5,-4,0,3,100,-51,请用汇编写一程序,判断:每个数是否大于0?等于0?还是小于0,并输出其判断结果。

要求程序循环6次,每判断一个数在屏幕上打印结果,x大于0时打印“Y=1”,x小于0时打印"Y=-1",x等于0时打印“Y=0”,x是数据中的每个数。

在masm4.0版本下(XP系统)调试通过。
dseg segment
buf db 5,-4,0,3,100,-51
cnt dw $-buf
plus db "Y=1",0ah,0dh,"$"
zero db "Y=0",0ah,0dh,"$"
minu db "Y=-1",0ah,0dh,"$"
dseg ends
cseg segment
assume cs:cseg,ds:dseg
begin: mov ax,dseg
mov ds,ax
lea si,buf
mov cx,cnt
next: mov al,[si]
and al,al
js fu
jz ling
lea dx,plus
jmp disp
fu: lea dx,minu
jmp disp
ling: lea dx,zero
disp: mov ah,9
int 21h
inc si
loop next
mov ah,4ch
int 21h
cseg ends
end begin