北京邮电大学 微机原理硬件实验报告(3)

2019-03-23 15:12

四、源程序代码 :

程序一:显示静态学号

DATA SEGMENT

SHOW DB 0F4H,21H,0EDH,0F1H,0D9H,0EDH ;210350的ASCII码值 COUNT EQU $-SHOW

SL DB ? DATA ENDS

11

STACK SEGMENT STACK'STACK'

DB 100H DUP(?)

STACK ENDS

CODE SEGMENT

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

;延时子程序---------------------------------------------------- DELAY PROC

PUSH CX MOV CX,800H

DELAY1: PUSH CX ;外层循环

MOV CX,400H

DELAY2: LOOP DELAY2 ;内层循环

POP CX LOOP DELAY1 POP CX RET

DELAY ENDP

;主程序-------------------------------------------------------- START : MOV AX,DATA

MOV DS,AX

NEXT: MOV CX,COUNT ;字母个数

12

LEA BX,SHOW MOV SL,01H

AGAIN: MOV AL,80H MOV DX,0E803H

OUT DX,AL MOV AL,SL

MOV DX,0E801H OUT DX,AL MOV AL,[BX]

MOV DX,0E800H OUT DX,AL MOV AL,00H MOV DX,0E800H

OUT DX,AL INC BX SHL SL,1 LOOP AGAIN MOV AH,0BH INT 21H OR AL,AL

JZ NEXT

;设置输出端口

;数码管显示已经保存在数据段的数字;清除原有字符 BX数值,显示下一个数字

Sl左移依次向左选通数码管 ;循环此过程 13

;增加 ; OK: MOV AH,4CH

INT 21H

CODE ENDS END START

程序二:动态显示HELLO

DATA SEGMENT

MESG DB 0,0,0,0,0,0,3DH,0DCH,8CH,8CH,0EDH,0 DATA ENDS

STACK SEGMENT STACK 'STACK' DB 100 DUP(0) STACK ENDS

CODE SEGMENT

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

MAIN PROC FAR MOV AX,DATA MOV DS,AX MOV ES,AX MOV AL,80H

14

MOV DX,0E803H OUT DX,AL

LOP6:MOV BX,OFFSET MESG MOV CX,07H

LOP5:MOV DX,0E8E0H ;从端口读入数据 IN AL,DX INC AL AND AL,07H XOR AH,AH

MOV DX,AX ;DX值设置为外循环次数 LOPZ:CALL DISP ;显示子程序调用 DEC DX

JNZ LOPZ ;显示当前状态直至DX=0 INC BX ;BX决定哪个数码管应被点亮 LOOP LOP5 ;重新设置数码管移动速度

JMP LOP6 ;当六种状态都结束后重新开始显示“HELLO”过程 MAIN ENDP

;显示子程序------------------------------------------------------------- DISP PROC NEAR PUSH CX PUSH DX PUSH AX

15


北京邮电大学 微机原理硬件实验报告(3).doc 将本文的Word文档下载到电脑 下载失败或者文档不完整,请联系客服人员解决!

下一篇:天脊小学音乐测评方案

相关阅读
本类排行
× 注册会员免费下载(下载后可以自由复制和排版)

马上注册会员

注:下载文档有可能“只有目录或者内容不全”等情况,请下载之前注意辨别,如果您已付费且无法下载或内容有问题,请联系我们协助你处理。
微信: QQ: