实验四 屏幕字符显示程序.docx

上传人:b****5 文档编号:11799161 上传时间:2023-04-02 格式:DOCX 页数:10 大小:291.69KB
下载 相关 举报
实验四 屏幕字符显示程序.docx_第1页
第1页 / 共10页
实验四 屏幕字符显示程序.docx_第2页
第2页 / 共10页
实验四 屏幕字符显示程序.docx_第3页
第3页 / 共10页
实验四 屏幕字符显示程序.docx_第4页
第4页 / 共10页
实验四 屏幕字符显示程序.docx_第5页
第5页 / 共10页
点击查看更多>>
下载资源
资源描述

实验四 屏幕字符显示程序.docx

《实验四 屏幕字符显示程序.docx》由会员分享,可在线阅读,更多相关《实验四 屏幕字符显示程序.docx(10页珍藏版)》请在冰豆网上搜索。

实验四 屏幕字符显示程序.docx

实验四屏幕字符显示程序

 

 

实验报告

 

课程名称微机原理与接口(技术)

专业电子信息工程 

班级

学号

学生姓名

 

黄淮学院信息工程学院

实验报告四

实验名称

调试程序DEBUG及8086指令使用

实验时间

2016年04月19日

学生学号

学生姓名

同组人员

专业班级

信息1401B

实验类型

演示性

指导老师

实验地点

1号楼614

学时

2

1、实验目的

1、8086/8088指令:

JMP,ROR,XOR,HLT。

2、利用DOS功能调用INT21H的2号和9号功能进行屏幕显示的方法。

3、直接向RAM(VRAM)送ASCII码进行屏幕显示的方法。

4、IBM-PC机的ASCII码表及控制字符。

5、命令(.COM)文件及使用方法。

6、利用^Break退出程序的方法及局限性。

2、实验预备知识

1)dos功能调用:

字符串输入0AH,单字符输出02H,字符串输出AH=9,进程终止AH=4CH。

2)8086指令系统:

数据传送指令:

1,数据传送指令,2,地址传送指令3,标志传送指令,4、位运算指令,5、串操作指令,6、控制转移指令,7、处理器控制指令。

3)汇编语言程序设计:

1、顺序结构,2、分支结构,3、循环结构。

3、实验内容和步骤

一、利用INT2109H号功能调用显示字符串。

1、用A命令在100H处键入下列程序:

MOVAH,9

MOVDX,110

INT21

INT20

2、用A命令在110H处键入下列字符串的ASCII码:

DB'Thisisasample!

$'

3、用N命令和W命令将此程序(包括数据区)存入文件名为AA.COM的磁盘文件中。

(存入前BX:

CX必须置为文件长度值)。

4、用Q命令退出DEBUG。

5、在DOS命令下打AA,运行此程序,即在屏幕上显示'Thisisasample!

'字符串,若不出现,用DEBUG检查程序有无错误。

2、用A命令在1000H处键入下列ASCII码并用D命令检查之:

DB`0123456789ABCDEF'

用D命令检查时注意左边的ASCII码值和右边的字符。

3、用R命令给DX送一个四位的16进制数(例7F8EH)。

4、用T命令逐条运行这程序到LOOP指令处,观察并记录每次运行结果,特别是SP和堆栈内容(用D命令检查)

5、用G命令将此程序运行到结束,并用D命令检查2000H处所转换的结果。

可注意屏幕右边的ASCII字符与DX是否一致。

二、利用INT21H2号功能显示字符:

1、用A命令在100H处键入下列程序:

XORDL,DL

MOVCX,100

LOP:

MOVAH,2

INT21

INCDL

LOOPLOP

INT20

2、用G命令运行程序,即在屏幕上依次缓慢的显示256个ASCII字符。

仔细观察每个字符,和IBM-PCASCII码表对照,看07H-0DH处控制字符显示结果与表上有何不同?

3、按CTRL+BREAK退出此程序,若一次不行可多做几次。

三、自编一个程序,要求显示AX的内容,即能显示AX=xxxx。

调试时AX的内容可用R命令赋值,也可用MOV指令赋值。

4、实验电路、程序清单

一、利用INT2109H号功能调用显示字符串。

程序1:

DATASEGMENT

BUFDB'Thisisasample!

$'

DATAENDS

CODESEGMENT

ASSUMECS:

CODE,DS:

DATA

START:

MOVAX,DATA

MOVDX,AX

MOVDX,OFFSETBUF;LEATDX,STR

MOVAH,9

MOVDX,110

INT21H

MOVAH,4CH;INT20H

INT21H

CODEENDS

ENDSTART

二、利用INT21H2号功能显示字符:

程序2:

DATASEGMENT

BUFDB'Thisisasample!

$'

DATAENDS

CODESEGMENT

ASSUMECS:

CODE,DS:

DATA

START:

MOVAX,DATA

MOVDX,AX

XORDL,DL

MOVCX,100

LOP:

MOVAH,2

INT21H

INCDL

LOOPLOP

INT20

MOVAH,4CH;INT20H

INT21H

CODEENDS

ENDSTART

三、自编一个程序,要求显示AX的内容,即能显示AX=xxxx。

程序3:

DATASEGMENT

BUFDB'AX='

STRDB4DUP(?

),'H','$'

DATAENDS

CODESEGMENT

ASSUMECS:

CODE,DS:

DATA

MOVAX,DATA

MOVDS,AX

MOVSI,OFFSETSTR

MOVBX,8EFBH

MOVCH,4

MOVCL,4

LP:

ROLBX,CL

MOVDL,BL

ANDDL,0FH

ADDDL,30

CMPDL,3AH

JCDISP

ADDDL,7

DISP:

MOV[SI],DL

INCSI

DECCH

JNZLP

LEADX,BUF

MOVAH,09H

INT21H

INT20

CODEENDS

5、实验结果

程序一:

Emu8086运行结果:

程序2

Emu8086运行结果:

程序3:

Emu8086运行结果:

6、实验中遇到的问题

1)在调试实验三时,使用02H调用时屏幕上显示的字幕很慢很少。

2)程序的编写还是有欠缺自己下去还要继续努力。

指导教师批阅成绩

指导教师签字:

年月日

展开阅读全文
相关资源
猜你喜欢
相关搜索

当前位置:首页 > 解决方案

copyright@ 2008-2022 冰豆网网站版权所有

经营许可证编号:鄂ICP备2022015515号-1