十进制加法和结果显示程序的流程图怎么画

十进制加法和结果显示程序的流程图怎么画,第1张

        DSEG  SEGMENT

      ADDOP1  DD        65535

         SUM  DD        ?

        DSEG  ENDS

        

        ESEG  SEGMENT

      ADDOP2  DD        1

        ESEG  ENDS

        

      STACK1  SEGMENT   PARA STACK 'STACK'

              DB        100   DUP(?)

      STACK1  ENDS

       

        CODE  SEGMENT

              ASSUME    DS:DSEG,CS:CODE,ES:ESEG

      START:  MOV       AX,DSEG

              MOV       DS,AX

              MOV       AX,ESEG

              MOV       ES,AX

              

              MOV       AX,WORD   PTR ADDOP1

              ADD       AX,WORD  PTR ADDOP2

              MOV       WORD     PTR SUM,AX

              MOV       AX,WORD  PTR ADDOP1+2

              ADC       AX,WORD  PTR ADDOP2+2

              MOV       WORD     PTR SUM+2,AX

               以上完成16进制相加 

              MOV       BX,WORD  PTR SUM+2

              CALL      DISPLAY1     输出高16位,以10进制形式

              MOV       BX,WORD  PTR SUM

              CALL      DISPLAY1     输出低16位,以10进制形式

               注:这个程序只能实现 65535 以内的相加运算,超出后出错

                   因为这个显示程序只能正确输出理16位数                         

              MOV       AH,4CH

              INT       21H

              

    DISPLAY1  PROC      NEAR

              MOV       CX,10000D

              CALL      DEC_DIV

              MOV       CX,1000D

              CALL      DEC_DIV

              MOV       CX,100D

              CALL      DEC_DIV

              MOV       CX,10D

              CALL      DEC_DIV

              MOV       CX,1D

              CALL      DEC_DIV

              RET

    DISPLAY1  ENDP

     

     DEC_DIV  PROC      NEAR

              MOV       AX,BX

              MOV       DX,0

              DIV       CX

              MOV       BX,DX

              MOV       DL,AL

              ADD       DL,30H

              MOV       AH,2H

              INT       21H

              RET

     DEC_DIV  ENDP

        CODE  ENDS

              END       START

例子如下:

直接编译,程序输出结果中任意输入两个数字,程序执行结果如下图所示:

知识扩展:

C语言是一门通用计算机编程语言,应用广泛。C语言的设计目标是提供一种能以简易的方式编译、处理低级存储器、产生少量的机器码以及不需要任何运行环境支持便能运行的编程语言。

尽管C语言提供了许多低级处理的功能,但仍然保持着良好跨平台的特性,以一个标准规格写出的C语言程序可在许多电脑平台上进行编译,甚至包含一些嵌入式处理器(单片机或称MCU)以及超级电脑等作业平台。

C语言属于高级程序语言的一种,它的前身是“ALGOL”。其创始人是布朗·W·卡尼汉和丹尼斯·M·利奇。C语言问世时是带有很大的局限性,因为它只能用于UNIX系统上。然而随着科学技术的进步,计算机工业的发展,C语言逐渐脱离UNIX。1987年美国标准化协会制定了C语言的国际标准,简称“ANSI C”,从此以后它便成为一种广泛使用的程序语言。


欢迎分享,转载请注明来源:内存溢出

原文地址: https://outofmemory.cn/yw/12060885.html

(0)
打赏 微信扫一扫 微信扫一扫 支付宝扫一扫 支付宝扫一扫
上一篇 2023-05-20
下一篇 2023-05-20

发表评论

登录后才能评论

评论列表(0条)

保存