![]() |
#2
codewriter2010-04-15 20:53
|
某科室共9人,统计其工资在800——900之间的人数,并用十进制显示出来。
我编的代码如下:

.486
DATAS SEGMENT USE16
GRADE DW 1000,1200,840,880,750,770,890,900,600,840;此处输入数据段代码
DATAS ENDS
CODES SEGMENT
ASSUME CS:CODES,DS:DATAS
BEG:
MOV AX,DATAS
MOV DS,AX
MOV CL,0
MOV CH,9
MOV SI,OFFSET GRADE
AGAIN:
MOV BX,[SI]
CMP BX,800
JNB LAST
CMP BX,900
JNA LAST
INC CL
INT 21H
JMP LAST
LAST:
INC SI
DEC CH
JNZ AGAIN
MOV AH,4CH
INT 21H
CODES ENDS
END BEG
DATAS SEGMENT USE16
GRADE DW 1000,1200,840,880,750,770,890,900,600,840;此处输入数据段代码
DATAS ENDS
CODES SEGMENT
ASSUME CS:CODES,DS:DATAS
BEG:
MOV AX,DATAS
MOV DS,AX
MOV CL,0
MOV CH,9
MOV SI,OFFSET GRADE
AGAIN:
MOV BX,[SI]
CMP BX,800
JNB LAST
CMP BX,900
JNA LAST
INC CL
INT 21H
JMP LAST
LAST:
INC SI
DEC CH
JNZ AGAIN
MOV AH,4CH
INT 21H
CODES ENDS
END BEG
执行结果是错误的:
Write fault error writing device PRN
Abort,Retry,Ignore,Fail?
请高手指教!O(∩_∩)O谢谢~Abort,Retry,Ignore,Fail?
顺便问一下怎么把统计的人数以十进制显示出来?
还有我是用MASMPlus编译的,怎么解决窗口执行后立刻消失的问题?
新手,问的问题也许有点幼稚,让各位大侠见笑~