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

请教编程问题~

shinesmile 发布于 2008-04-13 22:09, 995 次点击
题目:在ADDR单元中存放着数Y的地址,试编制一程序把Y中1的个数存入COUNT单元中。
例题是这样编写的:
DATA   SEGMENT
     ADDR   DW   Y         
      Y     DW   0102H
     CUNT   DW  ?
     DATA    ENDS
CODE    SEGMENT
             ASSUME  CS:CODE,DS:DATA
     START:  MOV   AX,DATA
             MOV   DS,AX
             MOV   CX,0            
             MOV   BX,ADDR
             MOV   AX,[BX]

   PEPEAT:   TEST  AX,0FFFFH
             JZ    EXIT
             JNS   SHIFT
             INC   CX
    SHIFT:   SHL   AX,1
             JMP   REPEAT
     EXIT:   MOV   COUNT,CX
             MOV   AH,4CH
             INT   21H
     CODE   ENDS
            END   START

请问:红颜色的指令不明白。既然是想把Y存入AX中,为什么不直接用MOV AX,Y呢?非常感谢!!

[[it] 本帖最后由 shinesmile 于 2008-4-16 21:24 编辑 [/it]]
2 回复
#2
shinesmile2008-04-16 21:23
回复 1# 的帖子
请求帮助
#3
Kid_X2008-04-17 21:22
DATA   SEGMENT
     ADDR   DW   Y    ;这儿不是很理解,没见过这么定义的     
      Y     DW   0102H
     CUNT   DW  ?
DATA    ENDS

还有就是 好像没有 MOV AX,Y 这种用法
不是很清楚!学习中……

[[it] 本帖最后由 Kid_X 于 2008-4-17 21:29 编辑 [/it]]
1