在5个数中找最大的数,并把他放入MAX单元

假设现在AX寄存器中的数是0002H,BX寄存器中的数是0003H。
执行的指令是:CMP  AX,  BX

执行这条指令时,先做用AX中的数减去BX中的数的减法运算。
列出二进制运算式子:
      0000 0000 0000 0010
-  0000 0000 0000 0011
_________________________________
(借位1) 1111 1111 1111 1111

所以,运算结果是 0FFFFH
根据这个结果,各标志位将会被分别设置成以下值:
CF=1,因为有借位
OF=0,未溢出
SF=1,结果是负数
ZF=0,结果不全是零

.486
DATA	SEGMENT	USE16
BUF	DB	1H,2H,3H,8H,5H
MAX	DB	?
DATA	ENDS
CODE	SEGMENT	USE16
	ASSUME	CS:CODE,DS:DATA
BEG:	MOV	BX,DATA
	MOV	DS,BX
	LEA	BX,MAX
	LEA	SI,BUF
	MOV	CL,5
	MOV	AL,[SI]
NEXT:	INC	SI
	CMP	AL,[SI]
	JNC	GOON
	XCHG	[SI],AL
GOON:	DEC	CL
	JNZ	NEXT
	MOV	[BX],AL
	MOV	AH,4CH
	INT	21H
CODE	ENDS
	END	BEG


插入后,对原BUF有影响

评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

IT1995

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值