提供思路最好是源代码
2、 编程实现屏幕设置和字串显示功能,即程序运行后屏幕显示如下主选单:
SETUP SCREEN ATTRIBUTE AND DISPLAY
====================================================
1) clear the screen
2) display the character string at define row & col
3) setup background color
4) setup frontground color
=====================================================
Please choose the number(1-4,Esc-quit):
要求:
用户键入“1”后实现清屏
用户键入“2”后,依提示用户可从键盘输入一个字符串,按下[ENTER]键后在指定的行列位置显示这个字符串,返回主选单。
用户键入“3”后,按下[SPACE]键改变当前屏显背景颜色,按下[ESC]键返回主选单
用户键入“4”后,按下[SPACE]键改变当前屏显前景颜色,按下[ESC]键返回主选单
下面是我的程序 没有遍完 看看大家能够提供帮助 我将不盛感激
ASSUME CS:code
code SEGMENT
start: MOV AX,CS
MOV ES,AX
MOV BP,OFFSET welcom-OFFSET 0b800h
MOV DX,040ah
MOV AX,0021h
MOV CX,7
mysys: JMP mysysstart
welcom DB "SETUP SCREEN ATTRIBUTE AND DISPLAY",0
winmenu DB 1) " clear the screen",0
DB 2) " display the character string at define row & col" ,0
DB 3) " setup backgroud color" ,0
DB 4) " setup frontgroud color" ,0
choose DB "Please choose the number (1-4,esc-quit)",0
mysysstart:
CALL cleprint
MOV AX,CS
MOV ES,AX
MOV BP,OFFSET welcom-OFFSET 0b800h
MOV DX,040ah
MOV AX,0021h
MOV CX,7
inputs: MOV AH,0
INT 16h
CMP AL,1+30h
JB inputs
CMP AL,4+30h
JA inputs
SUB AL,31h
CALL setsreen
JMP mysysstart
cleprint:
PUSH BX
PUSH CX
PUSH ES
MOV BX,0b800h
MOV ES,BX
SUB BX,BX
MOV CX,2000h
cles: MOV WORD PTR ES:[BX],2020h
ADD BX,2
LOOP cles
POP ES
POP CX
POP BX
RET
backspace: CMP DI,12*160+10*2
JE SHORT setcls
SUB DI,2
MOV BYTE PTR ES:[DI],' '
JMP SHORT setcls
setcret: POP DX
POP CX
POP BX
POP AX
RET
code ENDS
END start