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

想学习汇编 但是开始就感觉好难啊,这个小问题都不会解决 大神们帮个忙不?

magicxuan 发布于 2013-10-20 20:49, 588 次点击
编一段程序,在内存中自SQTAB(0200H)地址开始的连续10个单元中存放0-9的平方值。要求利用简单的查表法NUM(0210)单元中指定数(0-9)的平方值,并将所求平方值存入RESULT(0211)单元。

DATAS SEGMENT
        ORG 0200H
         D1 DB 0,1,4,9,16,25,36,49,64,81  
         NUM DB 7
         RESULT DB ?
DATAS ENDS

STACKS SEGMENT
     
STACKS ENDS

CODES SEGMENT
    ASSUME CS:CODES,DS:DATAS,SS:STACKS
START:
    MOV AX,DATAS
    MOV DS,AX
    LEA SI,D1
    ADD SI,NUM
    MOV AL,[SI]
    MOV RESULT,AL
     
    MOV AH,4CH
    INT 21H
CODES ENDS
    END START


ADD SI,NUM  为什么会出错呢?
 该怎么改呢
 
1 回复
#2
hu9jj2013-10-21 07:56
SI寄存器能与内存地址的数据直接运算吗?
1