汇编语言的大神帮帮忙!!!

2025-04-10 01:13:21
推荐回答(1个)
回答1:

因为数据定义在引用位置之后,应设置编译开关为“多次扫描”。或者将定义的数据提前:

        CODE  SEGMENT
              ASSUME    CS:CODE
              ORG       100H
      START:  JMP       BBB
        DATA  DB        255
              DB        ?
              DB        255 DUP(?)
     MAXCHAR  DB        ?
        BBB:
              PUSH      CS
              POP       DS
              PUSH      CS
              POP       ES
              LEA       DX,DATA
              MOV       AH,10
              INT       21H
              LEA       SI,DATA
              MOV       CL,BYTE PTR [SI+1]
              XOR       CH,CH
              INC       SI
              INC       SI
              MOV       AL,[SI]
              MOV       BYTE PTR MAXCHAR,AL
              INC       SI
              DEC       CX
     @MAIN0:
              MOV       AL,[SI]
              CMP       AL,BYTE PTR MAXCHAR
              JLE       @MAIN1
              MOV       BYTE PTR MAXCHAR,AL
     @MAIN1:
              INC       SI
              LOOP      @MAIN0
 
              MOV       AH,2
              MOV       DL,13
              INT       21H
              MOV       DL,10
              INT       21H
              MOV       DL,BYTE PTR MAXCHAR
              INT       21H
 
              MOV       AH,4CH
              INT       21H
        CODE  ENDS
              END       START