【北京理工大学 汇编实验】实验二 算术运算运算

一、实验目的

  1. 掌握MASM for Windows 环境下的汇编语言编程环境使用;
  2. 掌握汇编语言程序设计的基本流程及汇编语言中的二进制、十六进制、十进制、BCD码的表示形式;
  3. 掌握汇编语言对多精度十六进制和十进制的编程方法及运算类指令对各状态标志位的影响及测试方法;
  4. 掌握无符号数和有符号数运算区别及编程方法;
  5. 掌握BCD码调整指令的使用方法

二、实验软硬件环境

  1. 硬件环境:惠普64位一体化计算机及局域网;
  2. 软件环境:windows 8,红蜘蛛管理系统,MASM for Windows。

三、实验相关知识

算术运算实验需要对运行结果进行调试及查看状态字,其相关知识如下。

(一)标志位

在debug调试过程中,标志位用特殊符号表示的,其标志名和状态符号的对照表参照表1所示。
表 1 标志名和状态符号的对照表参照表

标志名 置位 复位
溢出标志OF(是/否) OV NV
方向标志DF(减/增) DN UP
中断标志IF(允许/禁止) EI DI
符号标志SF(负/正) NG PL
零标志ZF(是/否) ZR NZ
辅助进位标志AF(是/否) AC NA
奇偶校验标志PF(偶/奇) PE PO
进位标志CF(是/否) CY NC

(二)加减法指令

ADD表示加法指令,ADC表示带进位加法指令, SUB表示减法指令,SBB表示带进位减法指令。

(三)乘除法指令

MUL表示无符号数乘法指令,IMUL表示带符号数乘法指令,DIV表示无符号数除法指令,IDIV表示带符号数除法指令。

(四)符号位扩展指令

CBW表示从字节扩展到字的指令,CWD表示从字扩展到双字的指令。

(五)BCD码的调整指令

在进行十进制加减运算时,需要将数据用BCD码表示,还要考虑到是组合BCD码还是非组合BCD码,组合BCD码是用一个字节表示两位十进制数,非组合BCD码是用一个字节表示一位十进制数,对于组合的BCD码加减法运算其结果存放在AL中。

组合的BCD码加法调整指令DAA;
组合的BCD码减法调整指令DAS;
非组合的BCD码加法调整指令AAA;
非组合的BCD码减法调整指令AAS;
乘法的非组合BCD码调整指令AAM;
除法的非组合BCD码调整指令AAD。

8088/8086指令系统提供了实现加、减、乘、除运算指令, 可参照表2所示内容。

表 2 数据类型的数据运算表

  • 4
    点赞
  • 24
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

打赏作者

neuralink

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

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

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

打赏作者

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

抵扣说明:

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

余额充值