汇编语言 - 实验 - 计算 (X+(Y*Z-100))/W

计算 (X+(Y*Z-100))/W
其中:X, Y, Z, 均为十六位有符号数,其存储形式如下,
X DW -13
Y DW 30
Z DW 24
W DW 50

DATA SEGMENT
	X DW -13
	Y DW 30
	Z DW 24
	W DW 50
	A DW ?,?
DATA ENDS
CODE SEGMENT
	ASSUME CS:CODE,DS:DATA
START:
	MOV AX,DATA	
	MOV DS,AX
	
	MOV AX,Y
	IMUL Z		
	MOV CX,AX
	MOV BX,DX	
	SUB CX,100
	SBB BX,0
	MOV AX ,X
	CWD	;因为Y*Z出来是32位,AX也要扩成32位才能相加 CWD,字转换为双字,表示将AX中的符号位扩张到DX	
	ADD AX,CX
	ADC DX,BX	
	IDIV W	;AX存商,DX存小数
	MOV A,AX
	MOV A+2,DX	
	MOV AH,4CH	
   	INT 21H
CODE ENDS
	END START

 

  • 8
    点赞
  • 48
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值