汇编第四次实验报告.doc

上传人:PIYPING 文档编号:11773254 上传时间:2021-09-06 格式:DOC 页数:5 大小:86KB
返回 下载 相关 举报
汇编第四次实验报告.doc_第1页
第1页 / 共5页
汇编第四次实验报告.doc_第2页
第2页 / 共5页
汇编第四次实验报告.doc_第3页
第3页 / 共5页
汇编第四次实验报告.doc_第4页
第4页 / 共5页
汇编第四次实验报告.doc_第5页
第5页 / 共5页
亲,该文档总共5页,全部预览完了,如果喜欢就下载吧!
资源描述

《汇编第四次实验报告.doc》由会员分享,可在线阅读,更多相关《汇编第四次实验报告.doc(5页珍藏版)》请在三一文库上搜索。

1、实验四 字符及字符串的输入和输出一、 实验目的1熟悉如何进行字符及字符串的输入输出。2掌握简单的DOS系统功能调用。二、 实验预习要求1复习系统功能调用的1、2、9、10号功能。2按照题目要求预先编写好实验中的程序段。三、 实验任务1 输入以下程序段并用F8键单步运行,执行INT 21H指令时,在键盘上按“5”键。MOV AH,1INT 21H(1) 运行结束后,(AL)=?它是哪一个键的ASCII码?(AL)=35。他代表的是5的ASCII码。(2) 重复运行以上程序段,并分别用“A”、“B”、“C”、“D”键代替“5”键,观察运行结果有何变化?“A”、“B”、“C”、“D”分别是得到41、

2、42、43、44.他们分别是A、B、C、D的ASCII码值。2 在DS:1000H开始的内存区域设置如下键盘缓冲区:DS:1000H 5,0,0,0,0,0,0然后输入以下程序段并用F8键单步运行,执行INT 21H指令时,在键盘上键入“5”、“4”、“3”、“2”、“1”、回车这六个键。LEA DX,1000HMOV AH,0AHINT 21H程序段运行完后,检查DS:1000H开始的内存区域:(1) DS:1001H单元的内容是什么?它表示了什么含义?DS:1001H内容为04H,他表示实际输入的字符个数。 (2) 从DS:1002H开始的内存区域中的内容是什么?其中是否有字符“1”的AS

3、CII码?为什么?从DS:1002H开始的内存区域中的内容分别是5、4、3、2和回车键的ASCII码。其中没有字符“1”的ASCII码,因为实际长度只有4位,其中有一位是回车键,所以没有字符“1”的ASCII码。3 输入以下程序段并运行之。MOV DL,AMOV AH,2INT 21H(3) 观察屏幕上的输出,是否显示了“A”字符?显示了A了。(在敲入代码的时候不可以直接敲入A,而应该是敲入A的ASCII码即41)如下图:(4) 分别用“#”、“X”、“Y”、“$”、“?”代替程序段中的“A”字符,观察屏幕上的输出有何变化。屏幕上分别显示出上述的字符。(5) 分别用0DH、0AH代替程序段中的

4、“A”字符,观察屏幕上的输出有何变化。0DH是回车键的ASCII码,屏幕无显示;0AH是换行符的ASCII码,屏幕光标换行。(6) 用07H代替程序段中的“A”字符,观察屏幕上有无输出?计算机内的扬声器是否发出“哔”的声音?屏幕没有显示,计算机的扬声器有发出“哗”的声音。4 要在屏幕上显示一个字符串“Hello, world”,写出该字符串变量的定义语句和显示这个字符串的程序段。上机验证之。stack segment stack ; 定义堆栈段db 100 dup(?) ; 堆栈段长100字节, 这里db就是字节的意思,如果是用dw就是字,100 dup(?) 中的dup是重复的意思,这句话是

5、重复100遍,一遍定义一个字节,每个字节里全填0stack ends ; 堆栈段结束data segment ;数据段szHello db hello,world,0dh,0ah,$ ;定义szHello , 0dh,0ah分别是回车键,换行键的ASCII码, $是DOS功能调用INT 21H中9号功能要求的要显示字符串的结束标志,写成szHello db hello,world,0dh,0ah,24h;也可以,因为24h就是$data ends ;数据段结束code segment ;代码段assume cs:code,ds:data,ss:stack ;确定cs,ds,ss,指向的逻辑段s

6、tart: mov ax,data ;设置数据段的段地址dsmov ds,axmov ah,9 ; ah中的9号功能表示要显示一行字符串mov dx,offset szHello ;取得szHello的偏移地址,也就是在ds段中的偏移地址int 21hmov ah,4ch ;退出 ah中的功能号4ch表示要返回DOSint 21h ;调用DOScode ends end start5 按6行16列的格式顺序显示ASCII码为20H到7FH之间的所有字符,即每16个字符为一行,共6行。每行中相邻的两个字符之间用空格字符分隔开。试编写程序段并上机运行验证。提示:程序段包括两层循环,内循环次数为16

7、,每次内循环显示一个字符和一个空格字符;外循环次数为6,每个外循环显示一行字符并显示一个回车符(0DH)和一个换行符(0AH)。CODES SEGMENT ASSUME CS:CODESSTART: mov ch,20h mov bl,6lll: mov bh,16ll: mov dl,ch mov ah,2 int 21h inc ch dec bh jnz ll mov dl,0ah int 21h mov dl,0dh int 21h dec bl jnz lll MOV AH,4CH INT 21HCODES ENDS END START四、 实验报告要求1 整理出运行完整的实验程序和运行结果。2 回答题目中的问题。3 说明系统功能调用的10号功能对键盘缓冲区格式上有何要求。4 1、2、9、10号功能的输入输出参数有哪些?分别放在什么寄存器中?总结一下,如何实现字符及字符串的输入输出。

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

当前位置:首页 > 科普知识


经营许可证编号:宁ICP备18001539号-1