`
come_for_dream
  • 浏览: 120978 次
  • 性别: Icon_minigender_1
  • 来自: 长沙
社区版块
存档分类
最新评论

十六进制的减法

 
阅读更多

实验要求:

编程计算3550H-2320H,按16进制输出计算所得的差1230H。再输出3550H-2321H的差,检验程序的正确性。

 

实验提示:

 

考虑依次将1230H(即0001 0010 0011 0000B)从高位到低位,每4位二进制数一组分离出来,再将4位二进制数转换为ASCII码,利用DOS系统功能调用的2号子功能输出,就得到16进制数据的输出效果。本题要求综合应用移位操作、逻辑操作等指令,并利用条件转移指令实现简单的循环程序

 

 

 

实验流程图:

 

 

 

 

 

 

 

 

实验代码:(这里做了详细的注释)

 

 

DATAS SEGMENT
    ;此处输入数据段代码  
DATAS ENDS

STACKS SEGMENT
    ;此处输入堆栈段代码
STACKS ENDS

CODES SEGMENT
    ASSUME CS:CODES,DS:DATAS,SS:STACKS
START:
	    MOV AX,DATAS
	    MOV DS,AX
	    ;此处输入代码段代码
	     MOV       BX,3550H
	     SUB       BX,2321H
	     
	     MOV       ch,4;用于控制循环,循环四次
	     
NEXT1:
        mov cL,4
	     ROL       BX,cl  ;左移四位操作到al中,位移数必须放在cl中
    
	     MOV       DL,BL
	     AND       DL,0FH;把无用位清零.
	     
	     cmp       dl,9;比较
	     JA   NEXT2
	     add       DL,30H;在10以下的直接换为ASCII码是加30h
	     jmp offset s
NEXT2: 
         add  DL,37H    ;在10以上的直接换为ASCII码是加37h
  s:
	     MOV   AH,2;显示dl中的数值,注:2号中断显示的是dl中的数值
	     INT   21H
	     
	     ;控制循环
	     sub ch,1
	     CMP  ch,0
	     JZ  over;若相等,跳出并循环结束
	     
	     ;不相等跳回
	     jmp offset NEXT1
           
over : 
         ;显示一个H
	     mov dl,17
	     ADD DL,37H
	     MOV AH,2
	     INT 21H
	     
	     ;结束程序
	     MOV AH,4CH
	     INT 21H
	     CODES ENDS
	     END START












 自己写出来的,还是挺有成就感的

 实验结果:



 

 

  • 大小: 10.3 KB
  • 大小: 17.7 KB
  • 大小: 21.2 KB
分享到:
评论

相关推荐

    十六进制加减法 16进制加减法工具

    十六进制减法的规则与加法类似,但要注意借位。如果被减数小于减数,需要从高位借位。比如,0xB(十进制的11)减去0x3(十进制的3)等于0x8,因为11-3=8。但如果0x8(十进制的8)减去0xA(十进制的10),就需要从...

    单片机课程设计——单片机双字节十六进制减法实验设计.doc

    本课程设计的目标是实现一个基于51系列单片机的双字节十六进制减法计算器。通过该设计,学生将学习如何使用AT89C51单片机完成基本的算术运算,并通过键盘输入数据以及LED显示计算结果。整个设计过程不仅包括硬件的...

    十六进制加减可逆计数器设计.pdf

    十六进制加减可逆计数器是一种时序逻辑电路,它具备两种计数模式:加法计数和减法计数。这种计数器在数字系统和计算机硬件设计中广泛应用,例如在计数、定时、分频等场景。本实验主要目标是通过Verilog语言实现一个...

    基于MATLAB的简易十六进制计算器

    在本项目中,我们关注的是一个基于MATLAB的简易十六进制计算器的实现。这个计算器设计用于进行基本的四则运算,并且具有图形用户界面(GUI),使得操作更加直观和便捷。下面将详细阐述该计算器的关键特点和实现原理...

    十六进制计算器

    十六进制(Hexadecimal)是一种基于16个符号的数制系统,主要在计算机科学中广泛应用,特别是在数据存储、编程语言以及网络协议等方面。它使用0-9这十个阿拉伯数字和A-F这六个字母(A代表10,B代表11,C代表12,D...

    数字逻辑电路 IC25_74LS193 双时钟同步十六进制加减法计数器.doc

    《数字逻辑电路:74LS193双时钟同步十六进制加减法计数器解析》 在计算机科学和电子工程领域,数字逻辑电路是构建数字系统的基础,其中计数器是一种不可或缺的组件。74LS193是一款经典的集成电路,它是一款双时钟...

    十六进制数和十进制数相互转换 汇编语言程序设计 课程设计

    在“十六进制数和十进制数相互转换”的课程设计中,学生通常会学习如何用汇编语言编写程序来实现这两种数值表示方式的转换。以下是关于这个主题的详细知识点: 1. **数制转换基础**: - **十进制(Decimal)**:...

    计算机二级python题库-基本操作题之十六进制转换.zip

    3. 十六进制运算:在Python中,可以直接对十六进制数进行算术运算,如加法、减法、乘法等,因为Python会自动处理它们的类型转换。 四、在计算机二级Python考试中的应用 在计算机二级Python考试中,可能会出现以下...

    汇编实现输入十进制输出二进制、十进制和十六进制

    在计算机科学中,二进制、十进制和十六进制是三种常见的数值表示方式,它们在编程和硬件设计中有着广泛的应用。汇编语言作为底层编程语言,直接与计算机硬件交互,因此理解和掌握如何在汇编中进行不同进制之间的转换...

    十六进制转十进制

    在转换过程中,代码利用了ASCII码的特性,通过简单的减法操作将十六进制字符转换为其十进制等效值。然后,通过`pow`函数计算16的幂次方,将转换后的值累加到`sum`中。 ### 知识点四:接口函数的实现 除了主函数中...

    十六进制加法器课程设计报告

    在电子技术的学习过程中,十六进制...随着技术的发展,这样的基础设备还可以进一步扩展,如增加减法、乘法、除法等其他运算功能,以及设计更加人性化和智能化的操作界面,从而应用到各种需要进行十六进制计算的场合。

    十六进制计算器汉化版优化版

    1. **基本算术运算**:支持加法、减法、乘法和除法,不仅限于十六进制数,还可以处理十进制、八进制和二进制之间的运算。 2. **逻辑运算**:包括AND、OR、NOT、XOR等逻辑操作,这些在电子电路设计和计算机程序中...

    数字逻辑电路 IC24_74LS191 单时钟同步十六进制加减法计数器.doc

    《数字逻辑电路中的74LS191:单时钟同步十六进制加减法计数器》 在数字逻辑电路领域,74LS191是一款常用的集成电路,它是一种单时钟同步的十六进制加减法计数器。这款芯片在电子工程、计算机硬件设计以及自动化系统...

    多文件实现运算符重载的十六进制数类运算操作

    本主题将深入探讨如何在多文件环境中,通过运算符重载和类型转换来实现一个用于处理十六进制数的类。首先,我们需要理解C++的模块化设计,通常包括头文件(.h或.hpp)和源文件(.cpp)。头文件包含类声明和函数原型...

    基于QuartusII的16位补码加减法运算器

    在计算机系统中,我们通常使用二进制补码表示有符号整数,因为这种方式可以方便地进行加减运算,特别是负数的处理。补码表示法是将正数的原码直接作为其补码,而负数的补码则是将其原码除符号位外的所有位取反后加1...

    二进制到十六进制转换法加各种进制的运算

    ### 二进制到十六进制转换法及各种进制的运算 在计算机科学与信息技术领域,不同进制之间的转换是非常基础且重要的概念之一。本文将详细介绍如何进行二进制到十六进制的转换,并进一步探讨其他进制之间的基本运算。...

    二进制、八进制、十六进制转换方式 (2).pdf

    在计算机科学中,二进制、八进制和十六进制是三种常用的不同数制,它们在编程和数据表示中扮演着重要角色。本章主要介绍了这些进制之间的转换方法,以及为什么在CS(计算机科学)领域中需要使用八进制和十六进制。 ...

    网页版科学计算器 二进制计算器 在线十六进制计算器.zip

    1. 十六进制加法、减法、乘法和除法。 2. 十六进制与、或、非、异或逻辑运算。 3. 十六进制与二进制、十进制的相互转换。 4. 对十六进制数进行位运算,如左移、右移。 这些在线计算器的实现通常基于JavaScript,...

Global site tag (gtag.js) - Google Analytics