注册 登录
编程论坛 汇编论坛

再次求助!这个错误如何修改!?

jhtyolg20002 发布于 2007-12-17 12:40, 987 次点击
从NUM开始的100个存储的单元之中,存放这ASII码表示的十六进制数,编写程序将其转换为十六进制数仍存放会原来存储单元
下面这个代码,总报错,如何修改,谢谢指教!

        DATA  SEGMENT
         NUM  DB        7CH
           S  DB        ?
        DATA  ENDS
        CODE  SEGMENT
              ASSUME    CS:CODE,DS:DATA
        MAIN  PROC      FAR
      START:  MOV       AX,DATA
              MOV       DS,AX       ;数据段段址送DS
              LEA       BX,NUM      ;取NUM的偏址,送BX
              LEA       DI,S        ;取S的偏址,送DI
              MOV       AL,[BX]
              AND       AL,0F0H     ;留下高四位
              MOV       CL,4
              STR       AL,CL
              CALL      CHANGE      ;调转换成ASCII的子程序
              MOV       AL,[BX]
              AND       AL,0FH      ;留下低四位
              CALL      CHANGE      ;调转换成ASCII的子程序
              MOV       AH,4CH
              INT       21H
        MAIN  ENDP
      CHANGE  PROC                  ;转换成ASCII的子程序
              CMP       AL,10
              JL        NEXT        ;如果(AL)<10,那么(AL)+30H,
              ADD       AL,'A'-'0'-10           ;否则(AL)+37H
       NEXT:  ADD       AL,'0'
              MOV       [DI],DL     ;存ASCII码
              INC       DI          ;修改地址指针
              RET
      CHANGE  ENDP
        CODE  ENDS
              END       START
2 回复
#2
jhtyolg200022007-12-18 10:05
奇怪 怎么没有人愿意帮忙修改错误 难道是对的?
可是我在 轻松汇编中总是提醒出错啊?
#3
jhtyolg200022007-12-18 20:05
为什么没有人回帖呢?
1