NIMITIZ 发表于 2021-4-26 18:27

8086汇编程序求助

本帖最后由 NIMITIZ 于 2021-4-27 11:26 编辑

想练习一个8086汇编,题目:将数据0FFH,02H,0FCBH,03H,1000H,0F3H中大于等于0FFH的数据存向以地址100H为起始的内存中,小于0FFH的数据存向以地址200H为起始的内存中


自己写了如下程序,但在调试时,地址076A:0200到076A:0205的数据出现异常,调试结果如下图,弄不明白为什么会这样,希望有大佬能来指点迷津。

DATA    SEGMENT
   X    DW0FFH,02H,0FCBH,03H,1000H,0F3H
ORG 100H
BIG DW 6 DUP(?)
ORG 200H
SMALL DW 6 DUP(?)
DATA    ENDS
CODE    SEGMENT
    ASSUMECS:CODE,DS:DATA
START:MOV AX,DATA
      MOV DS,AX
      MOV CX,6
      MOV SI,0
      mov DI,0
      mov BP,0
   S:   MOV BX,X[SI]
      MOV DX,0FFH
      CMP BX,DX
      JNC L1
      MOV SMALL[DI],DX
      INC DI
      INC DI
      INC SI
      INC SI
      JMP L2
L1:   
      MOV BIG[BP],BX
      INC BP
      INC BP
      INC SI
      INC SI
L2:   LOOP S
movah,4ch
int 21h

CODE    ENDS
      END   START

jkj 发表于 2021-4-26 21:23

MOV SMALL,DX,这里的DX应该是BX

simon77 发表于 2021-4-26 22:00

错误也太明显了

NIMITIZ 发表于 2021-4-27 11:25

jkj 发表于 2021-4-26 21:23
MOV SMALL,DX,这里的DX应该是BX

昨晚找到错误了,在JNC 的下一行加上MOV DX,BX就可以了,还是很感谢你的解答{:1_919:}
页: [1]
查看完整版本: 8086汇编程序求助