




版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
1、计算机应用实验报告 作者: 日期: 实验一乘法运算实验 一、实验目的: 1、了解调试程序DEBUG的常用命令和功能。 2、掌握多字节乘法运算程序的编写方法。 3、学会程序调试方法。 二、实验原理 序号 命令 功能 0 ? 显示Debug命令列表。 1 a 汇編8 0 86 / 8 0 8 7 /8088记忆码。 2 C 比较内存的两个部分。 3 d 显示部分内存的内容。 4 e 从指定地址开始将数据输入到内存。 5 f 使用抬定值填充一段内存。 6 g 运行在内存中的可执行文件。 7 h 执行十六进制运算。 8 i 显示來自特定端口的1字节值。 9 1 将文件或磁盘扇区内容加載到内存o 10
2、m 复制内存块中的内容 1 1 /n 为1或w命令指定文件.或者指定正在测试的文件的参数。 I 2 0 向输岀端口发送1个字节的值。 1 3 P 执行循环、重复的字符串指令软件中断或子例程: 14 q 停止Debug会话。 1 5 r 显示或改变一个或多个寄存器。 1 6 s 在部分内存中搜索一个或多个字节值的模式。 1 7 t 执行一条抬令.然后显示所有寄存器的内容、所有标忐的状态和Debug 下一步婆执行的指令的解码形式。 18 u 反汇编字节并显示相应的原语句c 1 9 将被测试文件写入磁盘。 20 x a 分配扩展内存。一 2 1 xd 释放扩展内存。 22 m 映射扩展内存页。 23
3、 xs 显示扩展内存的状态。 三、实验内容: 将两个无符号数相乘,将结果数存入规定地址。 被乘数和乘数的存放地址及数据如下: 名称 地址 数据 被乘数 2 000 :000 0 2 A 2000: 0 001 30 乘数 2000: 000 2 15 20 0 0:0 0 01 1 B 乘积 2000:0 0 04 2000: 0007 注意:数据低位在前,高位在后。 四、实验报告内容: 1、实验用源程序: 开机选择“开始”- “运行” T输入c 0 mmand” -输入“ d e bug ”调岀d e bug 应用程序。 Debug源程序: ;查看部分内存内容 ;写入数据 ;査看输入后的数据
4、 ;写程序 D20 0 0:0000 E 200 0 : 0 000 2A 301 5 1B D 2 000 : 0 000 A 回车 MOV AX. 2 000 MOV DS,AX MOVAXJOO 0 0 MOV BX, 0 0 0 2 MUL BX:让AX乘以DX,结果存入DX: AX MOV |00 0 4,AX MOV 0 007 QX INT 20H Ctrl+M G ;正常中断程序 ;退岀编程,由键盘输入 ;运行程序 D 2 000:0000 ;查看程序运行结果 2、实验结果分析 输出结果显示为7 261 18-05结果正确。 实验中遇到的问题,在debug里输入程序要细心,如果
5、输入有误为保证结果的 正确应重新打开debu g程序。实验中发现输入的大小写对程序的结果没有影响。 实验二除法运算实验 一、实验目的: 1、了解调试程序DEBUG的常用命令和功能。 2、掌握多字节除法运算程序的编写方法。 3、学会程序调试方法。 二、实验内容: 将两个无符号数相除,将结果数存入规定地址。 被除数和除数的存放地址及数据如下: 名称 地址 数据 被除数 除数 2 00 0 :00100 013 2000:0014-001 5 2A 3 B4C5D 7C5D 商 余数 2 000:0 0 1 600 1 7 20 00:0018-0019 数据低位在前,高位在后。 三、实验报告内容:
6、 1、实验用源程序 按照实验一中的方法调出d ebug: Debug源程序: D 2000: 0000;查看部分内存内容 E20 0 0 :0000 5D 7C 5D 4C 3B 2A;写入数据 D 20 0 0: 0 00 0;査看输入后的数据 :写程序 MOV AX.2A3 B MOV DX. 4 C 5 D MOV BX.7C 5 D MOV AX0 010 :被除数DX:AX除BX,商存入 ;正常中断程序 ;退岀编程,由键盘输入 ;运行程序 ;査看程序运行结果 MOV DXJOO 12 MOV BX, 0 0 14 DIV BX AX,余数存到DX MOV 00 16, AX MOV
7、00 1 81.DX INT 2 OH C t rl+M G D 2000:000 0 2、实验结果分析 实验正确结果:7D-FF 9E-11 实验中应注意的问题,在输入数值时应高低位颠倒输入,程序运 算时是先进后出。遇到的问题:当输入正序时得到的结果是EE- 5 6 E7-6F (为错误结果)。 实验三数据转换实验 一、实验目的: 1、进一步掌握DEBUG使用方法。 2、掌握数制转换程序的编写方法。 3、学会调试循环程序和子程序方法。 二、实验内容: 将单元2000: 000 0-003中的8位十进制数35, 26,38, 74(数据高位在前,低位在后),转换成二进制数,存入单元2 0 0
8、0: 0004 00 0 7 中。 在编写程序时,要充分利用循环程序和调用子程序的方法来 简化程序设计,并注意循环的地址及子程序入口地址的设置方法。 三、实验报告内容: 1、 实验用源程序 S TACKS S EGMENT DW ENDS S EGMENT STAC K S DATAS STACK 1 28 DUP(?) ;堆栈段 ;只有12 8个字节 D 1 DB 10 :D2 DB ;D3 DB 38H ;D 4 DB 74H DATAS ENDS COD E S SEGMENT A S SUMEC S:CODES,D S:DA STAR T:MOV A X.DATAS MOV DS, A
9、X MOV AX,2000H MOV DS, AX MOV AX, 2 6 35H MOV DI,0 OOOH MOV DI, AX MOV DI, 00 0 2 H MOV AX5438H MOV DI, AX MOV B L,1 0 MOV BX,0 0 10 MOV bxlal DOI MAC R O ADDLADD2 MO V SL CX MOV DLO 0 0 0 H MOV CX,4 NEXT: MOV ALJDI SHR AL, 4 ;代码段 TAS :初始化 MUL PUSH MOV AND POP XO R XOR ADD MOV MOV INC LOOP ENDM DO 1
10、 DOI DOI DOI MOV INT C ODES END S END ;退出程序 B L AX AL, DI AL.0 F H DX AH. AH D H ,DH AL.DL SI, CL+4 DI+ 4 ,AL DI NEXT OH 4H 1 5 26 37 AX4C00H 2 IH START 实验四显示字符串实验 一、实验目的: 1、掌握宏汇编语言源程序的编辑方法。 2、学会用MASM及L I NK程序将源程序文件转换成可执行文件的方法。 3、学会调用DOS软中断功能来显示字符串的方法。 二、实验步骤: 1、利用全屏幕编辑程序来编辑源程序,文件扩展名为ASM,操作如 下: ANE
11、盘号:文件名.ASM 2、利用MASM程序将源程序文件汇编成目标文件,目标文件扩展 名为OBJ,操作如下: AMAS M盘号汶件名.ASM盘号:文件名.OBJ 在编辑中发生错误,要用NE程序来修改源程序文件。 3、用LINK程序将目标文件转换成可执行文件,可执行文件扩展名 为EXE,操作如下: A LINK盘号:文件名.OBJ 盘号:文件名.EXE 4、在DOS环境下执行可执行文件。 三、实验内容:按照宏汇编语言源程序格式的要求,编写一个文件,显示如下字 符串: I like m i c rocompu t er v e r y much. 四、实验报告内容: 1、实验用源程序 STACKS
12、SEGMENT STACK;堆栈段 STACK S ENDS DATAS SEGMENT ;数据段F MSG 1 DB T like mic r ocomp u ter v e ry mu ch. DATAS ENDS CO D ES SEGMENT ;代码段 ASS UME CS: C ODE S.DS: I) ATAS START:MOVAX, DATAS;初始化 MOVDS.AX MOVDX.OFFSET MSG 1 MOVAH. 9 INT21H MOVAX.4C00H;退岀程序 INT21H C ODE S ENDS ENDSTART 2、实验结果分析 实验显示出 了 I like
13、micr o c ompu t er ver y m u ch. v 实验五 显示字符串实验 一、实验目的: 1、进一步掌握字符串的显示方法。 2、掌握键盘信号的输入和分析方法。 3、进一步熟悉源程序的编写方法。 二、实验内容: 先使计算机提问下列问题: Do yo u like t his 1 e s so n (Y/N ) ? 如果用户回答N,计算机回答: You shou 1 d c h ange your in ter est. 如果用户回答Y,计算机回答: Youaregoodst u de n t. 三、实验报告: 1、实验用源程序: STACKS SEGMENT STACK DW
14、1 2 8 STACK S ENDS ;堆栈段 DUP(?);注意这里只有128个字节 DATAS S EGMENT 澈据段 MSG1 DB MSG 2 DB MSG 3 D B ASSUME S T ART: MO V MOV ;请在这里添加您的代码 MOV MOV INT MOV INT CMP J Z CMP J Z C MP JZ CM P J z Yl: MOV MOV IN T JMP Y 2 :MOV MOV IN T D ONE: D o you 1 i ke th i s lesso n ( Y/N)?:$ 10, You s ho u Id change y o ur i
15、nterestJ/S1 10, You are good s tud en t / DATAS ENDS ;代码段 CODE S SEGMENT CS:CODES, DS:DA T AS. S S: STACKS AX,DATAS;初始化 DS, AX DX.OFFSET MSG1 AH、9 21H AH 21H A L, Y Y1 AL, y Yl AL, N Y2 AL, n Y2 DX.OFFSET MSG 3 AH, 9 2 1 H DONE DX.O FFSET M SG2 AH, 9 2 1H MOVA X.4C00H;退岀程序 INT21H CODE S ENDS END STA
16、RT 实验六 数据排序实验 一、实验目的: 1、掌握比较数据大小的方法。 2、掌握由大到小排列数据的方法。 3、掌握显示某一数据区的方法。 二、实验内容: 先在数据区输入十个随机排列的数据,然后用气泡排序法把数据由大到 小排列好,并显示在屏幕上。 然后改变数据的内容,再用同样的程序来排列,并显示出结果。 第一次排列的数据为: 4 1 H,70H,03H,53H, 8 8HJ6H, 2 OH, 3FH, 7 4 H,8EH 第二次排列的数据为: 1 0 H, 7 8H, 23H,04H, 1AH, 7 AH,35H, 4 B H, 9FH, OBH 显示结果:班级,学号,名字 排序好的数据。 三
17、、实验报告内容: 1、 实验用源程序 STA C KS SEGMENT STACK;堆栈段 DW 128 DUP (?) STACKS ENDS DATAS SEGMEN T ;数据段 MSG1 DB D o you like this 1 esson(Y/ N )?;$ MSG 2 DB 10; Y ou should c h a n g e you r i n t eres t MSG3D B 10/ You a regood student.?$1 DATA S ENDS CODES SEGMEN T:代码段 ASSUME CS :CODES。S:DAT AS.SS:STACKS STA
18、RT:MOV MOV AXQATA S DS.AX ;初始化 MOV MOV DX.OF FSETMS G1 AH, 9 INT MOV 21H AH, 1 INT CMP JZ 21H AL; Y1 Y1 CMP CMP JZ AL,y Y1 AL/ N Y2 C MP JZ AL. n 1 Y2 Yl: MOV MOV INT JMP Y2: MOV MOV INT DX, O FFSET M S G3 AH. 9 2 1 H DONE DX.O F F SET M S G2 AH. 9 21H D ONE: MOV INT CODES ENDS END AX, 4C0011 2 1H S
19、TART ;退岀程序 实验七显示字符串实验 一、实验目的: 1、掌握显示菜单的方法。 2、学会分析键盘输入数据的方法。 3、掌握编写宏指令和宏调用的方法。 实验步骤: 先在屏幕上显示下列菜单 W hat item do y ou want t o kn o w? 1. M y name 2. My age 3. My i n tere s t in g work 4. My fami 1 y P 1 ease input t h e n u rnbe r : 然后根据输入的数据,分别回答你的姓名,年龄,感兴趣的工作和家庭成员, 具体回答内容由同学自己拟定。 在程序中尽量釆用宏指令,并注意程序设
20、计的技巧。 三、实验报告内容: 1、 实验用源程序 STACKS 据段 T $* rk / $* SEGMENT STACK D W128 DUP(?) STACKS ENDS DATAS SEGMENT MOI DBWhat item do yo u w ant to know?*;$ M 0 2 DB 10,28 D U P(8), 1. ;堆栈段 澈 M 03 DB 1 0, 2 8 DUP(8); 2 .My age M04 DB 1 0 ,2 8 DUP(8), *3 M y i n ter e sting w o ;$, M0 5D B 10,28 I) UP(8); 4. My
21、family My name M 0 6 DB 10,28 DU P ( 8 ) ;PI ease in put t he numbe r : M 0 7 DB 1 0,28 DUP(8), L i Juan M0 8 DB 1 0 , 28 DUP(8), z z 3 M 0 9 DB 10, 2 8 DUP( 8 ); play ba 1 Is. 2 MIO DB 10, 28 DUP(8);My P a rents and mc.T$ DATAS ENDS CODES SEGMENT :代码 段 ASSUME CS: CODES, DS:DATAS,SS: S TACKS S T ART
22、: MOV AX J) ATAS:初始化 MOV DS, AX PRT MACRO X MOV DX.OFFSETX MOV AH.9 I NT 2 1 II E NDM I PT MA CRO MOV AH. 1 INT 2 1 H ENDM IFGO MACR 0 X,Y CMP AUX J Z Y E N DM PRTMO 1 P RTMO2 PRTM 03 PRTMO 4 P RTMO5 PRTM06 IPT IFGO 1Y 1 IFGOY2 IFGO 3 Y3 OOH IFGO 4Y 4 YI:PRT MO 7 JMP DON E Y2: PRT M08 J MP DONE Y3:
23、PRT M09 J MP DONE Y4:PRT M 1 0 DONE: MOV AX.4 C ;退出程序 21H INT C o DES ENDS END START 实验八时钟显示实验 一、实验目的: 1、了解计算机中时钟数据的存取方法。 2、掌握时钟显示的编写方法。 3、进一步掌握BIOS和DOS中子程序的调用方法。 二、实验内容: 在计算机屏幕的右上角显示时钟值,直到按下一个键再返回DOSo 三、实验报告内容: 1、 实验用源程序: WHO UR DB 0 WMIN DB 0 WSEC DB 0 WMSEC DB 0 OLD 1 CH DD 0 SIGNAL DB 0 COUNT DW
24、 0 DATA SEGMENT ;秒表的时、分、秒、毫秒 CHOUR DB 0 CMIN DB 0 CSEC DB0 ;闹钟的时、分、秒 SPAC E DB PATTERNDB BH,6 DUP C *) DB ) DB P () 2 000 DUP C 6 DUP (* ),0C9H,26 DUP ( 0 CDH) , 0 B 6DUP( /) ,0BAH,26 DUP (20H), OB A H ,6 DUP ( 6 DUP C ), 0C8H,26 DUP (OCDII ),OBC H ,6 DU DBUFF ER DB DBUFFER 1 DB D B U F FER2 D B STR
25、1 DB 8 DUP C),12 DUP) 20 DU P () 1 1 D UPC:,), 15 DUP( *) ODHQAH, 1INPU TTO NEXT-ST ATE J N PUT MQU TO EXIT:0 D H,0AH;$f DATA END S CODE SEGM E NT ASSUME CS:CODE.DS: DATAES: DATAS S :STAC K S PUSH Al MACRO PUSH PUSH PUSH PUSH PUSH ENDM DS AX BX CX DX macro POP DX POP ex OP BX POP A X POP DS POPA 1 E
26、NDM ;图形化界面设讣 STAR T : MOV MOV MOV MOV INT AX.DATA DS,AX ES,AX AX,0003H;设置显示方式为4 0 * 25彩色文本方式 1 0H 注程序 LP1: MOV I NT CMP J NE CALL LP2: MOV I NT CMP JNE CALL LP3: MOV INT CMP AL, M;AL=M? LP4: J NELP4 CALL MOV I NT CMP STOPWATCH ;显示秒表 AH,1;从键盘输入单个字符 2 1 H AL/ M ; AL=Z Mz ? JNE CALL LP 5 : CMP JNE MOV
27、INT LP5 R I NG AL/ Q L P 1 A I-1,4CH 2 1 H ;AL 二Q? :返回DOS状态 leaDX,STR 1;显示提示信息 MOVAH,9 I NT21 H MOVBPQFFSETSPACE MOVDX,0B00H MOVCX,1000 MO VBX,0000 H MOVAXJ300H INT1 OH;显示字符串,定义显示方式 AH, 1;从键盘输入单个字符 21H AL;MZ;AL=M? LP5 DATE:显示系统日期 AH, 1;从键盘输入单个字符 21H AL/ M: AL=MZ ? LP5 TIME;显示系统时间 AH,1;从键盘输入单个字符 2 1H
28、 ;显示日期子程序 DAT E PROC NEAR DISPLAY9: MOVAH, 2 AH;取日期CX:DH:DL=年:月:日 AL二星期 I NT21H MOVSI, 0 MOVAX,CX MOVBX,100 DIVBL MOV CALL MOV CA LL I NC MOV C ALL INC MOV CALL MOV MOV BL, AH BCD A SC 1;日期数值转换成相应的AS CII码字符 AL,BL B C DASC 1 AL, DH BCDASC1 SI AL, DL BC D ASC 1 BP,OFFSETDBUFFER1 MOV MOV MOV INT MOV :;
29、222 MOV MOV INT MOV REPE A: MOV REPEA T: LOOP D EC JNZ MOV I NT JE JMP MOV INT RET DATE ENDP CX,2 0 BX,004 E H A X,1 301H 10H AH,0 2H ;设置光标位置 DX, 0 900H BH,0 10H BX, 0 0 I 8H C X, 0 FFFFH ;延时 REPEA T BX REPEA AH, 16H D I LP2 AX,4C 21H 01H SPLAY1 OOH ;读键盘缓冲区字符到AL寄存器 DX,001 DH TIME PROC NEAR DISPL AY1
30、: MOV SI,0 MOV BXJOO DIV BL MOV AH,2CH ;取时间C H:CL=时:分 】00秒 IN T 21H MOV AL,CH ;显示时间子程序 DH:DL=秒:1 / CAL LBCD ASC;将时间数值转换成ASCII码字符 I NCSI MOVAL,C L CALLBCDASC INCSI MOVA L,DH C ALLBCDASC MOVBP, 0 FFSET DBUFFER MOVDX, 0 03AH MOVCX, 2 0 MOVBX, 0 (MEH MOVAX, 1301H I NT1 0 H MOVA H , 02H MOVDX,0 3 1 OH MO
31、VBH,0 INT10H MOV RE: MOV REA:LOOP DEC J NZ MO V INT JE JMP MOV INT RET T I ME ENDP BX,001 8 H CX, 0 FFFFH REA BX RE AH,01H 1 6H DISPL AY1 L P3 A X,4C00 H 2 1 H ;显示秒表子程序 S TOPWA T CH DISPLAY2: PROC NEAR P USHA1 MOV MOV DIV ;CALL WATCH DISP3: MOV MOV MOV C ALL INC SI,0 BX, 100 BL AX,DATA DS,AX AL, WHO
32、UR BCDASC2;将时间数值转换成ASC I I码字符 SI AL, WMIN BCDASC2 SI AL,WS E C BCDASC2 AL,WMS EC SI BCDASC2 BP,OFFSET D B UFFER2 DX,003 7 H CX,20 B X,0O4EH AXJ301H 10H AH, 0 2H DX, 0 30 OH BH,0 10H B X,O0 18H CX,OFFFFII REA 2 BX RE2 AH,01H 16H D I SPLAY 2 LP4 A X,4C00H 21 H MOV MOV D I V ;MOVAH,CH ;INT 2 1 H MOV MOV MOV CALL ;将时间数值转换成ASCII码字符 MOV CALL INC MOV CALL MOV I N C CALL MOV MOV MOV MOV MOV INT MOV MOV MOV INT MOV RE2: MOV R
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 问题导向现代汉语考试试题及答案
- 全屋家居定制合同协议书
- 嵌入式开发者的思维导图试题及答案
- 废液铜回收合同协议书
- 财务分析逻辑的理论探讨试题及答案
- 计算机信息处理技术员考试学习试题与答案
- 备战2025年计算机二级C语言考试试题及答案
- 劳务合同无故终止协议书
- 领养狗狗的合同协议书范本
- 逻辑思维与批判性思维的结合试题及答案
- 经济学中的时间价值试题及答案解读
- 2025年平面设计师专业能力测试卷:平面设计作品集制作与展示策略分析技巧试题
- 承包矿山运输协议书
- 员工持股协议书合同
- 2025年人保财险陕西省分公司招聘(57人)笔试参考题库附带答案详解
- 聚合硫酸铁烘干机-LPGФ8150型喷雾干燥机-天然气热风炉
- 2025年平面设计师专业能力测试卷:平面设计行业规范与法规执行技巧分析试题
- 中石油春招试题及答案
- 血压的护理与评估教案
- 台账资料管理制度
- 天幕施工承包协议书
评论
0/150
提交评论