主题:救命!!!调试和运行不一样!!!
;==========================================================
;程序头 - 64k主程序
.386
assume cs: code
STACKSIZE equ 1024
ENTRYPOINT equ start
includelib mylib106.lib ;我的函数库
code segment byte public use16
;=========================================================
;输入学生成绩给出等级ABCDE
;
extrn atoiu:near
buffer db 11,0,12 dup(0)
msg1 db 13,10,'Input a student score:$'
msg2 db 13,10,'Input Error!$'
msg3 db 13,10,'The student score is:'
grade db 'A$'
start:
mov ax,cs
mov ds,ax
lea dx,msg1 ;显示msg1
mov ah,9
int 21h
lea dx,buffer ;输入串
mov ah,10
int 21h
mov al,buffer+1
mov buffer,al
mov buffer+1,0
call atoiu
cmp eax,100
jbe noup100
lea ax,msg2 ;显示错旁骛信息
mov ah,9
int 21h
mov ax,4c00h
int 21h
noup100:
cmp eax,90 ;---------------------if
jb noup90 ;是否达到等级
mov grade,'A'
jmp endifs
noup90:
cmp eax,80
jb noup80
mov grade,'B'
jmp endifs
noup80:
cmp eax,70
jb noup70
mov grade,'C'
jmp endifs
noup70:
cmp eax,60
jb noup60
mov grade,'D'
jmp endifs
noup60:
mov grade,'E'
endifs:;----------------------------endif
mov ah,9
lea dx,msg3
int 21h
mov ax,4c00h
int 21h
;===========================================================
;程序尾 - 64k主程序
code ends
stack segment stack
db STACKSIZE dup (?)
stack ends
end ENTRYPOINT
;===========================================================
我已经事过很多环境!!!
;程序头 - 64k主程序
.386
assume cs: code
STACKSIZE equ 1024
ENTRYPOINT equ start
includelib mylib106.lib ;我的函数库
code segment byte public use16
;=========================================================
;输入学生成绩给出等级ABCDE
;
extrn atoiu:near
buffer db 11,0,12 dup(0)
msg1 db 13,10,'Input a student score:$'
msg2 db 13,10,'Input Error!$'
msg3 db 13,10,'The student score is:'
grade db 'A$'
start:
mov ax,cs
mov ds,ax
lea dx,msg1 ;显示msg1
mov ah,9
int 21h
lea dx,buffer ;输入串
mov ah,10
int 21h
mov al,buffer+1
mov buffer,al
mov buffer+1,0
call atoiu
cmp eax,100
jbe noup100
lea ax,msg2 ;显示错旁骛信息
mov ah,9
int 21h
mov ax,4c00h
int 21h
noup100:
cmp eax,90 ;---------------------if
jb noup90 ;是否达到等级
mov grade,'A'
jmp endifs
noup90:
cmp eax,80
jb noup80
mov grade,'B'
jmp endifs
noup80:
cmp eax,70
jb noup70
mov grade,'C'
jmp endifs
noup70:
cmp eax,60
jb noup60
mov grade,'D'
jmp endifs
noup60:
mov grade,'E'
endifs:;----------------------------endif
mov ah,9
lea dx,msg3
int 21h
mov ax,4c00h
int 21h
;===========================================================
;程序尾 - 64k主程序
code ends
stack segment stack
db STACKSIZE dup (?)
stack ends
end ENTRYPOINT
;===========================================================
我已经事过很多环境!!!