计算机应用实验报告 YKK standardization office【 YKK5AB- YKK08- YKK2C- YKK18】实验一乘法运算实验一、实验目的:1、了解调试程序DEBUG的常用命令和功能。
2、掌握多字节乘法运算程序的编写方法。
3、学会程序调试方法。
二、实验原理三、实验内容:将两个无符号数相乘,将结果数存入规定地址。
被乘数和乘数的存放地址及数据如下:注意:数据低位在前,高位在后。
四、实验报告内容:1、实验用源程序:开机选择“开始”→“运行”→输入“command”→输入“debug”调出debug应用程序。
Debug源程序:D 2000:0000 ;查看部分内存内容E 2000:0000 2A 30 15 1B ;写入数据D 2000:0000 ;查看输入后的数据A 回车 ;写程序MOV AX,2000MOV DS,AXMOV AX,[0000]MOV BX,[0002]MUL BX ;让AX乘以DX,结果存入DX:AXMOV [0004],AXMOV [0007],DXINT 20H ;正常中断程序Ctrl+M ;退出编程,由键盘输入G ;运行程序D 2000:0000 ;查看程序运行结果2、实验结果分析输出结果显示为72-61 18-05结果正确。
实验中遇到的问题,在debug里输入程序要细心,如果输入有误为保证结果的正确应重新打开debug程序。
实验中发现输入的大小写对程序的结果没有影响。
实验二除法运算实验一、实验目的:1、了解调试程序DEBUG的常用命令和功能。
2、掌握多字节除法运算程序的编写方法。
3、学会程序调试方法。
二、实验内容:将两个无符号数相除,将结果数存入规定地址。
被除数和除数的存放地址及数据如下:数据低位在前,高位在后。
三、实验报告内容:1、实验用源程序按照实验一中的方法调出debug:Debug源程序:D 2000:0000 ;查看部分内存内容E 2000:0000 5D 7C 5D 4C 3B 2A ;写入数据D 2000:0000 ;查看输入后的数据A ;写程序MOV AX,2A3BMOV DX,4C5DMOV BX,7C5DMOV AX,[0010]MOV DX,[0012]MOV BX,[0014]DIV BX ;被除数DX:AX除BX,商存入AX,余数存到DXMOV [0016],AXMOV [0018],DXINT 20H ;正常中断程序Ctrl+M ;退出编程,由键盘输入G ;运行程序D 2000:0000 ;查看程序运行结果2、实验结果分析实验正确结果:7D-FF 9E-11实验中应注意的问题,在输入数值时应高低位颠倒输入,程序运算时是先进后出。
遇到的问题:当输入正序时得到的结果是EE-56 E7-6F(为错误结果)。
实验三数据转换实验一、实验目的:1、进一步掌握DEBUG使用方法。
2、掌握数制转换程序的编写方法。
3、学会调试循环程序和子程序方法。
二、实验内容:将单元2000:0000~003中的8位十进制数35,26,38,74(数据高位在前,低位在后),转换成二进制数,存入单元2000:0004~0007中。
在编写程序时,要充分利用循环程序和调用子程序的方法来简化程序设计,并注意循环的地址及子程序入口地址的设置方法。
三、实验报告内容:1、实验用源程序STACKS SEGMENT STACK ;堆栈段DW 128 DUP(?) ;只有128个字节STACKS ENDSDATAS SEGMENT ;数据段D1 DB 10; D2 DB; D3 DB 38H; D4 DB 74HDATAS ENDSCODES SEGMENT ;代码段ASSUME CS:CODES,DS:DATASSTART: MOV AX,DATAS ;初始化MOV DS,AXMOV AX,2000HMOV DS,AXMOV AX,2635HMOV DI,0000HMOV [DI],AXMOV DI,0002HMOV AX,7438HMOV [DI],AXMOV BL,10MOV BX,0010MOV [BX],ALDO1 MACRO ADD1,ADD2MOV SI,CXMOV DI,0000HMOV CX,4NEXT:MOV AL,[DI]SHR AL,4MUL BLPUSH AXMOV AL,[DI]AND AL,0FHPOP DXXOR AH,AHXOR DH,DHADD AL,DLMOV SI,[CL+4]MOV [DI+4],ALINC DILOOP NEXTENDMDO1 0H 4HDO1 1 5DO1 2 6DO1 3 7MOV AX,4C00H ;退出程序 INT 21HCODES ENDSEND START实验四显示字符串实验一、实验目的:1、掌握宏汇编语言源程序的编辑方法。
2、学会用MASM及LINK程序将源程序文件转换成可执行文件的方法。
3、学会调用DOS软中断功能来显示字符串的方法。
二、实验步骤:1、利用全屏幕编辑程序来编辑源程序,文件扩展名为ASM,操作如下:A>N E 盘号:文件名.ASM2、利用MASM程序将源程序文件汇编成目标文件,目标文件扩展名为OBJ,操作如下:A>MASM 盘号:文件名.ASM 盘号:文件名.OBJ在编辑中发生错误,要用NE程序来修改源程序文件。
3、用LINK程序将目标文件转换成可执行文件,可执行文件扩展名为EXE,操作如下:A>LINK 盘号:文件名.OBJ 盘号:文件名.EXE4、在DOS环境下执行可执行文件。
三、实验内容:按照宏汇编语言源程序格式的要求,编写一个文件,显示如下字符串:I like microcomputer very much.四、实验报告内容:1、实验用源程序STACKS SEGMENT STACK ;堆栈段DW 128 DUP(?) ;只有128个字节STACKS ENDSDATAS SEGMENT ;数据段MSG1 DB 'I like microcomputer very much.','$'DATAS ENDSCODES SEGMENT ;代码段ASSUME CS:CODES,DS:DATASSTART: MOV AX,DATAS ;初始化MOV DS,AXMOV DX,OFFSET MSG1MOV AH,9INT 21HMOV AX,4C00H ;退出程序INT 21HCODES ENDSEND START2、实验结果分析实验显示出了“I like microcomputer very much.”实验五显示字符串实验一、实验目的:1、进一步掌握字符串的显示方法。
2、掌握键盘信号的输入和分析方法。
3、进一步熟悉源程序的编写方法。
二、实验内容:先使计算机提问下列问题:Do you like this lesson(Y/N)?如果用户回答N,计算机回答:You should change your interest.如果用户回答Y,计算机回答:You are good student.三、实验报告:1、实验用源程序:STACKS SEGMENT STACK ;堆栈段DW 128 DUP(?) ;注意这里只有128个字节STACKS ENDSDATAS SEGMENT ;数据段MSG1 DB 'Do you like this lesson(Y/N)?','$'MSG2 DB 10,'You should change your interest.','$'MSG3 DB 10,'You are good student.','$'DATAS ENDSCODES SEGMENT ;代码段ASSUME CS:CODES,DS:DATAS,SS:STACKSSTART: MOV AX,DATAS ;初始化MOV DS,AX;请在这里添加您的代码MOV DX,OFFSET MSG1MOV AH,9INT 21HMOV AH,1INT 21HJZ Y1CMP AL,'y'JZ Y1CMP AL,'N'JZ Y2CMP AL,'n'JZ Y2Y1: MOV DX,OFFSET MSG3 MOV AH,9INT 21HJMP DONEY2: MOV DX,OFFSET MSG2 MOV AH,9INT 21HDONE:MOV AX,4C00H ;退出程序 INT 21HCODES ENDSEND START实验六数据排序实验一、实验目的:1、掌握比较数据大小的方法。
2、掌握由大到小排列数据的方法。
3、掌握显示某一数据区的方法。
二、实验内容:先在数据区输入十个随机排列的数据,然后用气泡排序法把数据由大到小排列好,并显示在屏幕上。
然后改变数据的内容,再用同样的程序来排列,并显示出结果。
第一次排列的数据为:41H,70H,03H,53H,88H,16H,20H,3FH,74H,8EH第二次排列的数据为:10H,78H,23H,04H,1AH,7AH,35H,4BH,9FH,0BH显示结果:班级,学号,名字排序好的数据。
三、实验报告内容:1、实验用源程序STACKS SEGMENT STACK ;堆栈段DW 128 DUP(?)STACKS ENDSDATAS SEGMENT ;数据段MSG1 DB 'Do you like this lesson(Y/N)?','$'MSG2 DB 10,'You should change your interest.','$'MSG3 DB 10,'You are good student.','$'DATAS ENDSCODES SEGMENT ;代码段START: MOV AX,DATAS ;初始化 MOV DS,AXMOV DX,OFFSET MSG1MOV AH,9INT 21HMOV AH,1INT 21HCMP AL,'Y'JZ Y1CMP AL,'y'JZ Y1CMP AL,'N'JZ Y2CMP AL,'n'JZ Y2Y1: MOV DX,OFFSET MSG3MOV AH,9INT 21HJMP DONEY2: MOV DX,OFFSET MSG2MOV AH,9INT 21HDONE:MOV AX,4C00H ;退出程序INT 21HCODES ENDSEND START实验七显示字符串实验一、实验目的:1、掌握显示菜单的方法。