标题:给定一个数(0~9),求次数的平方值,并存放到内存中
只看楼主
qq1274371820
Rank: 1
等 级:新手上路
帖 子:149
专家分:0
注 册:2013-11-24
结帖率:75.86%
已结贴  问题点数:10 回复次数:2 
给定一个数(0~9),求次数的平方值,并存放到内存中

          结果输出来是3,请问是哪里出问题了呢?


DATAS SEGMENT
    RS1 DB 00H,01H,02H,03H,04H,05H,06H,07H,08H,09H;
    RS2 DB 3
    RS3 DB ?
DATAS ENDS


CODES SEGMENT
    ASSUME CS:CODES,DS:DATAS
START:
    MOV AX,DATAS
    MOV DS,AX
    LEA BX,RS1
    LEA SI,RS2
    MOV AL,[SI]
    MOV AH,00H
    ADD BX,AX
    MOV AL,[BX]
    MOV RS3,AL;
    ADD AL,30H
    MOV DL,AL
    MOV AH,2
    INT 21H
    MOV AH,4CH
    INT 21H
CODES ENDS
    END START
2014-11-20 13:54
天使梦魔
Rank: 16Rank: 16Rank: 16Rank: 16
等 级:版主
威 望:37
帖 子:564
专家分:2754
注 册:2007-8-29
得分:10 
什么时候这里有汇编了?

MOV AX,DATAS   //移动
     MOV DS,AX   //移动
     LEA BX,RS1   //指针bx指向rs1
     LEA SI,RS2   //指向rs2
     MOV AL,[SI]  //新建al寄存为rs2数据
     MOV AH,00H    //这是ax高8位还是低8位来着
     ADD BX,AX    //bx+=ax
     MOV AL,[BX]   //bx结果移到al
     MOV RS3,AL;   //再移到rs3
     ADD AL,30H    //得到的结果转换成ascii码
     MOV DL,AL    //存入dl(早了?)
     MOV AH,2    //又是ax操作
     INT 21H    //系统中断
     MOV AH,4CH   //。。。。。。
     INT 21H   //。。。。。。。



RS2 DB 3    这个变量是干嘛用的
2014-11-20 21:53
qq1274371820
Rank: 1
等 级:新手上路
帖 子:149
专家分:0
注 册:2013-11-24
得分:0 

          因为我们现在在学汇编 -。- 还是初学

          好怀念贴吧的兔斯基,现在怎么没有了?

自定义人生。。。
2014-11-22 10:29



参与讨论请移步原网站贴子:https://bbs.bccn.net/thread-438913-1-1.html




关于我们 | 广告合作 | 编程中国 | 清除Cookies | TOP | 手机版

编程中国 版权所有,并保留所有权利。
Powered by Discuz, Processed in 0.154237 second(s), 7 queries.
Copyright©2004-2025, BCCN.NET, All Rights Reserved