计算机应用实验报告
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
实验一乘法运算实验
一、实验目的:
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,2000
MOV DS,AX
MOV AX,[0000]
MOV BX,[0002]
MUL BX ;让AX乘以DX,结果存入DX:AX MOV [0004],AX
MOV [0007],DX
INT 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,2A3B
MOV DX,4C5D
MOV BX,7C5D
MOV AX,[0010]
MOV DX,[0012]
MOV BX,[0014]
DIV BX ;被除数DX:AX除BX,商存入AX,余数存
到DX
MOV [0016],AX
MOV [0018],DX
INT 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 ENDS
DATAS SEGMENT ;数据段
D1 DB 10
; D2 DB
; D3 DB 38H
; D4 DB 74H
DATAS ENDS
CODES SEGMENT ;代码段
ASSUME CS:CODES,DS:DATAS
START: MOV AX,DATAS ;初始化
MOV DS,AX
MOV AX,2000H
MOV DS,AX
MOV AX,2635H
MOV DI,0000H
MOV [DI],AX
MOV DI,0002H
MOV AX,7438H
MOV [DI],AX
MOV BL,10
MOV BX,0010
MOV [BX],AL
DO1 MACRO ADD1,ADD2
MOV SI,CX
MOV DI,0000H
MOV CX,4
NEXT:
MOV AL,[DI]
SHR AL,4
MUL BL
PUSH AX
MOV AL,[DI]
AND AL,0FH
POP DX
XOR AH,AH
XOR DH,DH
ADD AL,DL
MOV SI,[CL+4]
MOV [DI+4],AL
INC DI
LOOP NEXT
ENDM
DO1 0H 4H
DO1 1 5
DO1 2 6
DO1 3 7
MOV AX,4C00H ;退出程序
INT 21H
CODES ENDS
END START