车轮胎英语怎么说:这段汇编的两个地方为什么错了,怎么改??

来源:百度文库 编辑:高考问答 时间:2024/04/27 20:05:37
;----------------------------------------------------------------------
;Program:
;Created by:
;Finished Date & Time:
;----------------------------------------------------------------------

SSEG SEGMENT PARA STACK 'stack'
dw 100h dup(0) ;Resize the stack by changing the number '100'
SSEG ENDS

DSEG SEGMENT
STR DB 'What is you name?',0DH
COUNT EQU $-STR
NUM DB 0;TO DO: Add your program's data here

DSEG ENDS

CSEG SEGMENT
assume cs:CSEG, ds:DSEG, es:DSEG, ss:SSEG

CALC PROC FAR
PUSH DS
XOR AX ;错误1
PUSH AX
MOV AX,DSEG
MOV DS,AX
MOV ES,AX
MOV AX,STACK ;错误2
MOV SS,AX
LEA DI,STR
MOV CX,COUNT-1
CLD
MOV AL,' '
SCAN_S: SCAS BYTE PTR STR
JE SKIP
INC NUM
SKIP: LOOP SCAN_S
RET
CALC ENDP
CSEG ENDS
END CALC
*********************************
还有 为什么要用PROC???不用不行吗?
*********************************

XOR AX ;错误1
--> XOR AX,AX ; 是把AX清零,敲错程序了把老弟

MOV AX,STACK ;错误2

--> MOV AX, SSEG ; SSEG 才是段名

PROC 是指明函数,一个程序起码得有一个主函数把,不然系统哪知道该干什么