. : : Assembly Language : : .  |  首页  |  我提出的问题  |  我参与的问题  |  我的收藏  |  消息中心   |  游客  登录  | 
刷新 | 提问 | 未解决 | 已解决 | 精华区 | 搜索 |
  《汇编语言》论坛 ->更灵活的定位内存地址的方法
  管理员: assembly   [回复本贴] [收藏本贴] [管理本贴] [关闭窗口]
主题 : :  问题7.9,求人指点  [已解决] 回复[ 3次 ]   点击[ 402次 ]  
13784632020
[帖 主]   [ 发表时间:2010-07-17 21:15 ]   [引用]   [回复]   [ top ] 
荣誉值:0
信誉值:2
注册日期:2010-07-02 05:46
ASSUME    CS:CODESG,SS:STACKSG,DS:DATASG
     STACKSG  SEGMENT
              DW        0,0,0,0,0,0,0,0
     STACKSG  ENDS
      DATASG  SEGMENT
              DB        '1. display      '
              DB        '2. brows        '
              DB        '3. replace      '
              DB        '4. modify       '
      DATASG  ENDS
      CODESG  SEGMENT
      START:  MOV       AX,STACKSG
              MOV       SS,AX
              MOV       SP,10H
              MOV       AX,DATASG
              MOV       DS,AX
              MOV       BX,0
              MOV       CX,4
              MOV       SI,0
              PUSH      CX
         S0:  MOV       CX,4
          S:  MOV       AL,[BX+SI+3]
              AND       AL,11011111B
              MOV       [BX+SI+3],AL
              INC       BX
              LOOP      S
              MOV       BX,0
              ADD       SI,10H
              POP       CX
              LOOP      S0
              MOV       AX,4C00H
              INT       21H
      CODESG  ENDS
              END       START

问题7.9,居然是个死循环,谁帮我分析下?
tinyparticle
[第1楼]   [ 回复时间:2010-07-17 21:22 ]   [引用]   [回复]   [ top ] 
荣誉值:188
信誉值:4
注册日期:2009-07-05 19:26
S0:  MOV       CX,4 
          S:  MOV       AL,[BX+SI+3] 
              AND       AL,11011111B 
              MOV       [BX+SI+3],AL 
              INC       BX 
              LOOP      S 
              MOV       BX,0 
              ADD       SI,10H 
              POP       CX 
              LOOP      S0 
CX反复赋值4,怎么跳出来
13784632020
[第2楼]   [ 回复时间:2010-07-17 21:29 ]   [引用]   [回复]   [ top ] 
荣誉值:0
信誉值:2
注册日期:2010-07-02 05:46
找着毛病了。

              ASSUME    CS:CODESG,SS:STACKSG,DS:DATASG
     STACKSG  SEGMENT
              DW        0,0,0,0,0,0,0,0
     STACKSG  ENDS
      DATASG  SEGMENT
              DB        '1. display      '
              DB        '2. brows        '
              DB        '3. replace      '
              DB        '4. modify       '
      DATASG  ENDS
      CODESG  SEGMENT
      START:  MOV       AX,STACKSG
              MOV       SS,AX
              MOV       SP,10H
              MOV       AX,DATASG
              MOV       DS,AX
              MOV       BX,0
              MOV       CX,4
              MOV       SI,0
         S0:  PUSH      CX
              MOV       CX,4
          S:  MOV       AL,[BX+SI+3]
              AND       AL,11011111B
              MOV       [BX+SI+3],AL
              INC       BX
              LOOP      S
              MOV       BX,0
              ADD       SI,10H
              POP       CX
              LOOP      S0
              MOV       AX,4C00H
              INT       21H
      CODESG  ENDS
              END       START
13784632020
[第3楼]   [ 回复时间:2010-07-18 08:47 ]   [引用]   [回复]   [ top ] 
荣誉值:0
信誉值:2
注册日期:2010-07-02 05:46
此贴由 贴主 于 [ 2010-07-18 08:47 ] 结贴。 结贴原因:问题已解决
得分情况:
此问题已结贴!
    Copyright © 2006-2024   ASMEDU.NET  All Rights Reserved