读书人

请问一个汇编题多谢

发布时间: 2012-02-21 16:26:23 作者: rapoo

请教一个汇编题,谢谢!
题目要求:


阅读下面的程序,填充【9】 ,使得该程序在汇编与连接时,不会出现任何错误和警告信息。

DSEG SEGMENT

  BUF DB 1,5,4,0,7,9,2,6,8,3

  N EQU $-BUF

  RESULT DB ?

  DSEG ENDS

  SSEG SEGMENT 【9】

  DB 256 DUP(0)

  SSEG ENDS

  CSEG SEGMENT

  ASSUME DS:DSEG,SS:SSEG,CS:CSEG

  START PROC FAR

  PUSH DS

  XOR AX,AX

  PUSH AX

  MOV AX,DSEG

  MOV DS,AX

  XOR AX,AX

  XOR BX,BX

  XOR DX,DX

  MOV SI,OFFSET BUF

  MOV BL,[SI] 取第一个数作为最大值暂存BL

  MOV DL,[SI] 取第一个数作为最小值暂存DL

  MOV CX,N

  GOON: ADD AL,[SI]

  ADC AH,0

  CMP BL,[SI]

  JA CONT

  MOV BL,[SI]

  CONT: CMP DL,[SI]

  JB NEXT

  MOV DL,[SI]

  NEXT: INC SI

  LOOP GOON

  SUB AX,BX

  SUB AX,DX

  MOV DL,N-2

  DIV DL

  MOV RESULT,AL

  RET

  START ENDP

  CSEG ENDS

  END START


三级考试题,因为未上过汇编,请解释下!谢谢!


[解决办法]
STACK 就可以了吧. 该关键字表明当前段为堆栈段, 链接程序据此填充 exe 头部结构中的 SS:SP 域, 程序自首除非特殊要求也就不必设置 SS:SP 了

读书人网 >汇编语言

热点推荐