南邮 微型计算机原理与接口技术 汇编语言 实验一

本文分析了一段包含多个错误的汇编代码,包括拼写错误、类型不匹配、操作数长度不匹配等问题,并探讨了正确的代码实现方式。通过本文,读者可以了解汇编语言的基本语法和常见错误,提高代码质量。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

;FILENAME:            EXA131.ASM

    .486

        DATA  SEGMENT   USE16       ;SEGMENT  拼写错误

         SUM  DB        ?,?            ;多一个逗号

        MESG  DB        '25+9='

        MESG1     DB        0,0,'$'     ;用$作为结束符,用另一个字符串MESG1避免出BX+7

          N1  DB         9,0F0H

          N2  DW         25

        DATA  ENDS

        CODE  SEGMENT   USE16

              ASSUME    CS:CODE,  DS:DATA

        BEG:  MOV       AX,     DATA

              MOV       DS,     AX

              MOV       BX,     OFFSET SUM

              MOV       AH,     N1

              MOV       AL,     BYTE PTR N2     ;类型不匹配

              ADD       AH,     AL

              MOV       [BX],    AH

              MOV       DI,     OFFSET MESG1

              CALL      CHANG

              MOV       AH,     9

              MOV       DX,     OFFSET MESG     ;拼写错误 MEST

              INT        21H

              MOV       AH,  4CH

              INT        21H

       CHANG  PROC

       LAST:  CMP       BYTE PTR [BX], 10        ;操作数长度不匹配

              JC        NEXT

              SUB       BYTE PTR [BX],10         ;操作数长度不匹配

              INC       BYTE PTR [DI]             ;操作数长度不匹配

              JMP       LAST

       NEXT:  MOV       AH,SUM                ;源和目标操作数都是存储器操作数

              ADD       [DI+1],AH

              ADD       BYTE PTR [DI],30H

              ADD       BYTE PTR [DI+1],30H

              RET

       CHANG  ENDP

       CODE  ENDS

              END       BEG

结果:

 

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值