注册 登录
编程论坛 C++教室

给定一个数(0~9),求次数的平方值,并存放到内存中

qq1274371820 发布于 2014-11-20 13:54, 426 次点击

          结果输出来是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
2 回复
#2
天使梦魔2014-11-20 21:53
什么时候这里有汇编了?

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    这个变量是干嘛用的
#3
qq12743718202014-11-22 10:29

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

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