用汇编语言! 编一程序把键入的十六进制数转化 成十进制数。 50

用汇编语言!编一程序把键入的十六进制数转化成十进制数。编一程序把键入的十六进制数转化成十进制数。1:在屏幕上显示转换的十进制数,键入的最大数为FFFFH2:若键入非十六进... 用汇编语言! 编一程序把键入的十六进制数转化
成十进制数。编一程序把键入的十六进制数转化
成十进制数。1:在屏幕上显示转换的十进制数,键入的最大数为FFFFH2:若键入非十六进制数,则显示出错提示,重新输入。
展开
 我来答
做而论道
高能答主

2022-08-19 · 把复杂的事情简单说给你听
知道大有可为答主
回答量:3万
采纳率:80%
帮助的人:1.2亿
展开全部

编一程序把键入的十六进制数,转化成十进制数,并在屏幕上显示。

键入的十六进制数,不限位数。如超出四位,只将最后四位做转换并显示。

若键入非十六进制数,则不予显示,等待继续输入。

键入回车符,结束输入。

程序如下:

gcbjoy
2018-06-23 · TA获得超过1.1万个赞
知道大有可为答主
回答量:1.1万
采纳率:92%
帮助的人:2172万
展开全部
        CODE  SEGMENT
              ASSUME    CS:CODE

        BUFF  DB        5,?,5 DUP(?)
           X  DW        0
        ERR1  DB        13,10,'error ! $'

      START:  PUSH      CS
              POP       DS
        @00:
              CALL      LFCR
              LEA       DX,BUFF
              MOV       AH,10
              INT       21H

              LEA       SI,BUFF
              MOV       CL,[SI+1]
              MOV       CH,0
              CLD
              ADD       SI,2
              MOV       DX,0
         @1:
              LODSB
              CMP       AL,'0'
              JB        @0
              CMP       AL,'9'
              JBE       @2
              CMP       AL,'A'
              JB        @0
              CMP       AL,'F'
              JBE       @3
              CMP       AL,'a'
              JB        @0
              CMP       AL,'f'
              JBE       @4
              JMP       @0
         @2:
              SUB       AL,'0'
              JMP       @5
         @3:
              SUB       AL,'A'
              ADD       AL,10
              JMP       @5
         @4:
              SUB       AL,'a'
              ADD       AL,10
         @5:
              SHL       DX,4
              MOV       AH,0
              ADD       DX,AX
              LOOP      @1
              MOV       AX,DX
              CALL      LFCR
              CALL      DSPAX
              MOV       AH,4CH
              INT       21H
         @0:
              MOV       AH,9
              LEA       DX,ERR1
              INT       21H
              JMP       @00
              
  ;==============================
       LFCR:
              PUSH      AX
              PUSH      DX
              MOV       AH,2
              MOV       DL,13
              INT       21H
              MOV       DL,10
              INT       21H
              POP       DX
              POP       AX
              RET
 ;===============================
       DSPAX  PROC      NEAR
              PUSH      AX
              PUSH      BX
              PUSH      CX
              PUSH      DX
              PUSHF
              XOR       CX,CX
              MOV       BX,10
    @DSPAX1:
              XOR       DX,DX
              DIV       BX
              INC       CX
              OR        DX,30H
              PUSH      DX
              CMP       AX,0
              JNE       @DSPAX1
              MOV       AH,2
   @DISPAX2:
              POP       DX
              INT       21H
              LOOP      @DISPAX2
              MOV       DL,32
              INT       21H
              POPF
              POP       DX
              POP       CX
              POP       BX
              POP       AX
              RET
       DSPAX  ENDP
;================================               
        CODE  ENDS
              END       START
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

下载百度知道APP,抢鲜体验
使用百度知道APP,立即抢鲜体验。你的手机镜头里或许有别人想知道的答案。
扫描二维码下载
×

类别

我们会通过消息、邮箱等方式尽快将举报结果通知您。

说明

0/200

提交
取消

辅 助

模 式