码迷,mamicode.com
首页 > 其他好文 > 详细

微机显示程序实验

时间:2017-10-31 11:00:46      阅读:134      评论:0      收藏:0      [点我收藏+]

标签:微机实验

今天要交的微机实验报告分享。

显示程序实验

一,实验目的

1. 掌握在PC机上以十六进制形式显示数据的方法。

2. 掌握部分DOS功能调用使用方法。

二,实验设备

PC微机一台

三,实验内容

一般来说,有很多程序需要显示输出提示运行的状况和结果,有的还需要将数据区中的内容显示在屏幕上。本实验要求将指定数据区的数据以十六进制数形式显示在屏幕上,并利用DOS功能调用完成一些提示信息的显示。

四,实验清单

STACK1 SEGMENT STACK ;堆栈段开始

DW 256 DUP(?)

STACK1 ENDS

DATA SEGMENT ;数据段开始

MES DB ‘Press any key to exit!‘,0AH,0DH,0AH,0DH,‘$‘

MES1 DB ‘Show a as hex:‘,0AH,0DH,‘$‘

SD DB ‘a‘

DATA ENDS

CODE SEGMENT ;代码段开始

ASSUME CS:CODE,DS:DATA

START: MOV AX,DATA ;设置DS 寄存器

MOV DS,AX

MOV DX,OFFSET MES ;取字符串首地址,显示退出提示

MOV AH,09H ;在DOS 界面显示字符串

INT 21H

MOV DX,OFFSET MES1 ;取字符串首地址,显示字符串

24

MOV AH,09H

INT 21H

MOV SI,OFFSET SD

MOV AL,DS:[SI] ;把’a’送到AL中

AND AL,0F0H ;取字节的高4位

MOV CL,4

SHR AL,CL

CMP AL,0AH ;判断是否是A以上的数

JB C2

ADD AL,07H ;大于等于A,数值加7H

C2: ADD AL,30H ;数值加30H,转换成ASCII码

MOV DL,AL

MOV AH,02H ;将转换的相应ASCII码在DOS界面下显示

INT 21H

MOV AL,DS:[SI]

AND AL,0FH ;取字节的低4位

CMP AL,0AH

JB C3

ADD AL,07H

C3: ADD AL,30H

MOV DL,AL ;显示字符

MOV AH,02H

INT 21H

KEY: MOV AH,1 ;判断是否有按键按下?

INT 16H ;(为观察运行结果,使程序有控制的退出)

JZ KEY

MOV AX,4C00H ;结束程序,退出

INT 21H

CODE ENDS

END START

四,实验结果

Press any key to exit!

Show a as hex:

61

微机显示程序实验

标签:微机实验

原文地址:http://13271983.blog.51cto.com/13261983/1977628

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!