麻烦高手解决以下问题…………

来源:百度知道 编辑:UC知道 时间:2024/04/27 15:57:52
这是一个模拟洗衣机的程序,请说明一下每个程序板块的含义和用途,谢谢!!

DATA SEGMENT
INFO DB 'Please select a speed you want (1,2,3):','$'
FAN DB '\','-','/'
SPEED DW ?
DATE DB 5 DUP (?)
XX DB 0H
X DB 0H
DATA ENDS

STACK SEGMENT STACK
DB 64 DUP (?)
STACK ENDS

CODE SEGMENT
ASSUME CS:CODE,DS:DATA,SS:STACK

MAIN PROC FAR
MOV AX,DATA
MOV DS,AX
LEA DX,INFO
MOV AH,09H
INT 21H
MOV AH,01H
INT 21H
CMP AL,32H
JB SPEED1
JA SPEED2
MOV CX,800H
JMP BG
SPEED1: MOV CX,400H
JMP BG
SPEED2: MOV CX,0C00H
JMP BG
BG: MOV SPEED,CX
MOV DL,0AH
MOV AH,02H
INT 21H
MOV DL,0DH
INT 21

DATA SEGMENT
INFO DB 'Please select a speed you want (1,2,3):','$'
FAN DB '\','-','/'
SPEED DW ?
DATE DB 5 DUP (?)
XX DB 0H
X DB 0H
DATA ENDS

STACK SEGMENT STACK
DB 64 DUP (?)
STACK ENDS

CODE SEGMENT
ASSUME CS:CODE,DS:DATA,SS:STACK

MAIN PROC FAR
MOV AX,DATA
MOV DS,AX
LEA DX,INFO;显示提示信息Please select a speed you want (1,2,3):
MOV AH,09H
INT 21H
MOV AH,01H;键盘输入一个数字(1,2,3)
INT 21H
CMP AL,32H
JB SPEED1;若小于2,即输入的数字为1,则转 SPEED1
JA SPEED2;若大于2,即输入的数字为3,则转 SPEED2
MOV CX,800H;若等于2,则将CX给800H,转BG
JMP BG
SPEED1: MOV CX,400H; 将CX给400H,转BG
JMP BG
SPEED2: MOV CX,0C00H; 将CX给C00H,转BG
JMP BG
BG: MOV SPEED,CX ;将CX的值作为速度,若要改变速度,只需在上面改变CX的值
MOV DL,0AH;在屏幕上显示换行
MOV AH,02H
INT 21H
MOV DL,0DH ;在屏幕上显示回车
INT 21H
CALL OUTTIME;调用OUTTIME
L: