汇编语言求绝对值 Y={X,(X>0);-X,(X<0)}

 我来答
百度网友d21f34fe8
2013-01-13 · TA获得超过513个赞
知道小有建树答主
回答量:241
采纳率:0%
帮助的人:82.5万
展开全部
dseg segment
dw y
dw x
dseg ends
cseg segment
assume cs:cseg,ds,dseg
start: mov ax,dseg
mov ds,ax

mov ax,[x] ;取X的值
cmp ax,8000h ;如果小于8000H.表明是正数
jc LB0
neg ax ;求补,将负数变成正数
LB0: mov [y],ax ;
mov ax,4c00h ;程序结束
int 21h
cseg ends
end start
追问
有错误。。。
追答
哈…我服了你们了:)
下面是可以执行的。

DSEG SEGMENT
Y DW 0
X DW 0
DSEG ENDS
CSEG SEGMENT
ASSUME CS:CSEG,DS:DSEG
START: MOV AX,DSEG
MOV DS,AX

MOV AX,[X] ;取X的值
CMP AX,8000H ;如果小于8000H.表明是正数
JC LB0
NEG AX ;求补,将负数变成正数
LB0: MOV [Y],AX ;
MOV AX,4C00H ;程序结束
INT 21H
CSEG ENDS
END START
推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

下载百度知道APP,抢鲜体验
使用百度知道APP,立即抢鲜体验。你的手机镜头里或许有别人想知道的答案。
扫描二维码下载
×

类别

我们会通过消息、邮箱等方式尽快将举报结果通知您。

说明

0/200

提交
取消

辅 助

模 式