汇编语言——第2次上机实验

本次实验要求计算x*y+z-200,通过画计算流程图、编辑代码、编译、单步调试,最终得出正确结果1E8F70。实验中重点掌握了cwd扩展和IMUL指令的使用,以及结构化编程技巧。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

实验要求:

求表达式x*y+z-200的值


实验步骤:


1.按照实验要求,画出相应的计算流程图


可以看到,先算x*y(保存在dx:cx),然后扩展z为双字节(dx:ax),计算x*y+z-200(保存在bx:cx),然后把结果移到w中。


2.按照基本的编辑步骤,编辑代码,并编译。

code:

DATA SEGMENT
X DW 1000
Y DW 2000
Z DW 3000
W DW 2 DUP(?)  ;定义段结束
DATA ENDS
CODE SEGMENT
        ASSUME CS:CODE,DS:DATA
        START: MOV AX,DATA
               MOV DS,AX
               MOV AX,X   
               IMUL Y
			   MOV CX,AX    ;把乘积结果保存起来(低8位)
			   MOV BX,DX    ;高8位
			   MOV AX,Z
			   CWD          ;位扩展,防止运算不匹配
			   ADD CX,AX
			   ADC BX,DX
			   SUB CX,200
			   
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值