实验一 汇编语言实验

2018-11-28 18:15

微机原理与接口技术实验(1)

实验一 汇编语言程序上机过程 1 实验二 屏幕字符显示程序 3 实验三 音乐程序 5 实验四 键盘和窗口程序 7 实验五 活动图形显示程序 9 实验六 磁盘文件操作程序 12

实验一、实验二必做,其余可以选做

1

实验一 汇编语言程序上机过程

实验目的:

1、掌握常用工具软件 PE,MASM和LINK的使用。

2、伪指令: SEGMENT,ENDS,ASSUME,END,OFFSET,DUP。 3、利用的 1号功能实现键盘输入的方法。

4、了解.EXE文件和.COM文件的区别及用INT 21H 4C号功能返回系统的方法。 程序:

data segment message db 'This is a sample program of keyboard and disply'

db 0dh,0ah,'Please strike the key!',0dh,0ah,'$'

data ends

stack segment para stack 'stack'

db 50 dup(?)

stack ends code segment

assume cs:code,ds:data,ss:stack

start: mov ax,data

mov ds,ax mov dx,offset message mov ah,9 int 21h

again: mov ah,1

int 21h cmp al,1bh je exit cmp al,61h jc nd cmp al,7ah ja nd and al,11011111b

nd: mov dl,al

mov ah,2 int 21h jmp again

exit: mov ah,4ch

int 21h

code ends

end start

实验步骤:

1、用用文字编辑工具(记事本或EDIT)将源程序输入,其扩展名为.ASM。

2、用MASM对源文件进行汇编,产生.OBJ文件和.LST文件。若汇编时提示有错,用文字编辑工具修改源程序后重新汇编,直至通过。

3、用TYPE命令显示1产生的.LST文件。

4、用LINK将.OBJ文件连接成可执行的.EXE文件。

1

5、在DOS状态下运行LINK产生的。EXE文件。即在屏幕上显示标题并提示你按键。每按一键在屏幕上显示二个相同的字符,但小写字母被改成大写。按ESC键可返回DOS。若未出现预期结果,用DEBUG检查程序。 实验报告:

1、汇编,连接及调试时产生的错误,其原因及解决办法。 2、思考:

1)若在源程序中把INT 21H的'H'省去,会产生什么现象? 2)把 INT 21H 4CH号功能改为 INT 20H,行不行?

2

实验二 屏幕字符显示程序

实验目的:

通过实验掌握下列知识:

1、8086指令: JMP,ROR,XOR,HLT。

2、利用DOS功能调用INT21H的2号和9号功能进行屏幕显示的方法。 3、直接向视频RAM(VRAM)送ASCII码进行屏幕显示的方法。 4、IBM-PC机的ASCII码表及控制字符。 5、命令(。COM)文件及使用方法。

6、利用^Break退出程序的方法及局限性。 实验内容及步骤:

一、利用INT 21 0AH号功能调用显示字符串。

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

MOV AH, 9 MOV DX,110 INT 21 INT 20

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

DB 'This is a sample!$'

3、用N命令和W命令将此程序(包括数据区)存入文件名为AA。COM的磁盘文件中。(存入前BX:CX必须置为文件长度值)。

4、用Q命令退出DEBUG。

5、在DOS命令下打AA,运行此程序,即在屏幕上显示'This is a sample!'字符串,若不出现,用DEBUG检查程序有无错误。

二、利用INT 21H 2号功能显示字符:

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

XOR DL,DL MOVCX,100

LOP:MOV AH,2 INT 21 INC DL PUSH CX MOV CX,8 DELY: PUSH CX

MOV CX,0 J: LOOP J

POP CX LOOP DELY POP CX LOOP LOP INT 20

2、用G命令运行程序,即在屏幕上依次缓慢的显示256个ASCII字符。仔细观察每个字符,和IBM-PC ASCII码表对照,看07H-0DH处控制字符显示结果与表上有何不同?

3、按CTRL+BREAK退出此程序,若一次不行可多做几次。 三、直接向VRAM送ASCII码显示字符

3

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

MOV AX,B000 MOV DS,AX XOR AL,AL XOR BX,BX MOV CX,100 LOP: MOV [BX],AL

INC BX INC AL PUSH CX MOV CX,8 DELY: PUSH CX

MOV CX,0 J: LOOP J

POP CX LOOP DELY POP CX LOOP LOP INT 20

2、用N命令和W命令将此程序存入BB.COM文件中。(一定要先存入!)

3、用G命令运行此程序,仔细观察每一个ASCII码显示结果,并和字符表及上一道程序运行情况进行对照,其控制字符区(07-0DH)显示结果和INT 21H2号功能调用有何不同? 四。自编一个程序,要求显示AX的内容,即能显示AX=xxxx。

调试时AX的内容可用R命令赋值,也可用MOV指令赋值。 实验报告要求:

1、各项实验记录及观察体会。

2、利用INT 21H显示和直接向VRAM送ASCII码显示方法在显示结果上有什么不同? 3、自编程序草稿及调试结果。

4


实验一 汇编语言实验.doc 将本文的Word文档下载到电脑 下载失败或者文档不完整,请联系客服人员解决!

下一篇:浅谈街道如何处理好新时期涉军群体上访问题

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

马上注册会员

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