微机原理大作业代码

合集下载
  1. 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
  2. 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
  3. 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。

四、程序代码

STACK SEGMENT STACK

DB 256 DUP(?)

TOP LABEL WORD

STACK ENDS

DA TA SEGMENT

TABLE DW G1, G2, G3, G4, G5

STRING1 DB '1. Change small letters into capital letters of string;', 0DH, 0AH, '$' STRING2 DB '2. Find the maximum of string;', 0DH, 0AH, '$'

STRING3 DB '3. Sort for datas;', 0DH, 0AH, '$'

STRING4 DB '4. Show Time;', 0DH, 0AH, '$'

STRING5 DB '5. Exit.', 0DH, 0AH, '$'

STRINGN DB 'Input the number you select (1-5) : $'

IN_STR DB 'Input the string (including letters & numbers, less than 60 letters) :', 0DH, 0AH, '$' PRESTR DB 'Original string : $'

NEWSTR DB 'New string : $'

OUT_STR DB 'The string is $'

MAXCHR DB 'The maximum is $'

IN_NUM DB 'Input the numbers (0 - 255, no more than 20 numbers) : ', 0DH, 0AH, '$' OUT_NUM DB 'Sorted numbers : ', 0DH, 0AH, '$'

IN_TIM DB 'Correct the time (HH:MM:SS) : $'

HINTSTR DB 'Press ESC, go back to the menu; or press any key to play again!$' KEYBUF DB 61

DB ?

DB 61 DUP (?)

NUMBUF DB ?

DB 20 DUP (?)

DA TA ENDS

CODE SEGMENT

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

START:

MOV AX, DATA

MOV DS, AX

MOV AX, STACK

MOV SS, AX

MOV SP, OFFSET TOP

MAIN: CALL FAR PTR MENU ; 设置显示器

AGAIN:

MOV AH, 2

MOV BH, 0 ; 页号

MOV DL, 41 ; 列号

MOV DH, 10 ; 行号

INT 10H ; 光标位置设置

MOV AH, 1

INT 21H

CMP AL, '1'

JB AGAIN

CMP AL, '5'

JA AGAIN

SUB AL, '1' ; N-1

SHL AL, 1 ; (N-1)*2

CBW ; AL->AX

LEA BX, TABLE

ADD BX, AX

JMP WORD PTR [BX]

G1:

CALL FAR PTR CHGLTR

MOV AH, 8

INT 21H

CMP AL, 1BH

JZ MAIN

JMP G1

G2:

CALL FAR PTR MAXLTR

MOV AH, 8

INT 21H

CMP AL, 1BH

JZ MAIN

JMP G2

G3:

CALL FAR PTR SORTNUM

MOV AH, 8

INT 21H

CMP AL, 1BH

JZ MAIN

JMP G3

G4:

CALL FAR PTR TIMCHK

MOV AH, 8

INT 21H

CMP AL, 1BH

JZ MAIN

JMP G4

G5:

MOV AH, 4CH

INT 21H

MENU PROC FAR ; 显示主界面;设置显示器方式

MOV AH, 0

MOV AL, 3;

MOV BL, 0;

INT 10H ; 清屏

MOV AH, 2

MOV BH, 0 ; 页号

MOV DL, 5 ; 列号

MOV DH, 5 ; 行号

INT 10H ; 光标位置设置

MOV AH, 9

LEA DX, STRING1

INT 21H

MOV AH, 2

MOV DL, 5 ; 列号

MOV DH, 6 ; 行号

INT 10H ; 光标位置设置

MOV AH, 9

LEA DX, STRING2

INT 21H

MOV AH, 2

MOV DL, 5 ; 列号

MOV DH, 7 ; 行号

INT 10H ; 光标位置设置

MOV AH, 9

LEA DX, STRING3

INT 21H

MOV AH, 2

MOV DL, 5 ; 列号

MOV DH, 8 ; 行号

INT 10H ; 光标位置设置

MOV AH, 9

LEA DX, STRING4

INT 21H

MOV AH, 2

MOV DL, 5 ; 列号

MOV DH, 9 ; 行号

INT 10H ; 光标位置设置

MOV AH, 9

LEA DX, STRING5

INT 21H

MOV AH, 2

MOV DL, 5 ; 列号

相关文档
最新文档