微机原理与接口技术实验(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
搜索“diyifanwen.net”或“第一范文网”即可找到本站免费阅读全部范文。收藏本站方便下次阅读,第一范文网,提供最新小学教育实验一 汇编语言实验 全文阅读和word下载服务。
相关推荐: