资源预览内容
第1页 / 共21页
第2页 / 共21页
第3页 / 共21页
第4页 / 共21页
第5页 / 共21页
第6页 / 共21页
第7页 / 共21页
第8页 / 共21页
第9页 / 共21页
第10页 / 共21页
亲,该文档总共21页,到这儿已超出免费预览范围,如果喜欢就下载吧!
资源描述
实验一 乘法运算实验一、 实验目的:1、 了解调试程序DEBUG的常用命令和功能。2、 掌握多字节乘法运算程序的编写方法。3、 学会程序调试方法。二、 实验原理 序号命令功 能0?显示Debug命令列表。1 a汇编8086/8087/8088记忆码。2 c比较内存的两个部分。3 d显示部分内存的内容。4 e从指定地址开始,将数据输入到内存。5 f使用指定值填充一段内存。6 g运行在内存中的可执行文件。7 h执行十六进制运算。8 i显示来自特定端口的1字节值。9 l将文件或磁盘扇区内容加载到内存。10 m复制内存块中的内容11/n为l或w命令指定文件,或者指定正在测试的文件的参数。12 o向输出端口发送1个字节的值。13 p执行循环、重复的字符串指令、软件中断或子例程。14 q停止Debug会话。15 r显示或改变一个或多个寄存器。16 s在部分内存中搜索一个或多个字节值的模式。17 t执行一条指令,然后显示所有寄存器的内容、所有标志的状态和Debug下一步要执行的指令的解码形式。18 u反汇编字节并显示相应的原语句。19 w将被测试文件写入磁盘。20 xa分配扩展内存。21 xd释放扩展内存。22 xm映射扩展内存页。23 xs显示扩展内存的状态。三、实验内容:将两个无符号数相乘,将结果数存入规定地址。被乘数和乘数的存放地址及数据如下:名称地址数据被乘数:0000:00012A30乘数:0002:0001151B乘积:0004:0007注意:数据低位在前,高位在后。四、实验报告内容:1、实验用源程序:开机选择“开始”“运行”输入“command”输入“debug”调出debug应用程序。Debug源程序:D :0000 ;查看部分内存内容E :0000 2A 30 15 1B ;写入数据D :0000 ;查看输入后的数据A 回车 ;写程序 MOV AX, 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 :0000 ;查看程序运行结果2、 实验结果分析输出结果显示为72-61 18-05结果正确。实验中遇到的问题,在debug里输入程序要细心,如果输入有误为保证结果的正确应重新打开debug程序。实验中发现输入的大小写对程序的结果没有影响。实验二 除法运算实验一、 实验目的:1、了解调试程序DEBUG的常用命令和功能。2、掌握多字节除法运算程序的编写方法。3、学会程序调试方法。二、 实验内容:将两个无符号数相除,将结果数存入规定地址。被除数和除数的存放地址及数据如下:名称地址数据被除数除数:00100013:001400152A3B4C5D7C5D商余数:00160017:00180019数据低位在前,高位在后。三、 实验报告内容:1、 实验用源程序按照实验一中的方法调出debug: Debug源程序:D :0000 ;查看部分内存内容E :0000 5D 7C 5D 4C 3B 2A ;写入数据D :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 :0000 ;查看程序运行结果2、 实验结果分析实验正确结果:7D-FF 9E-11实验中应注意的问题,在输入数值时应高低位颠倒输入,程序运算时是先进后出。遇到的问题:当输入正序时得到的结果是EE-56 E7-6F(为错误结果)。 实验三 数据转换实验一、 实验目的:1、进一步掌握DEBUG使用方法。2、掌握数制转换程序的编写方法。3、学会调试循环程序和子程序方法。二、 实验内容:将单元:0000003中的8位十进制数35,26,38,74(数据高位在前,低位在后),转换成二进制数,存入单元:00040007中。在编写程序时,要充分利用循环程序和调用子程序的方法来简化程序设计,并注意循环的地址及子程序入口地址的设置方法。三、 实验报告内容: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,H 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实验四 显示字符串实验一、 实验目的:1、掌握宏汇编语言源程序的编辑方法。2、学会用MASM及LINK程序将源程序文件转换成可执行文件的方法。3、学会调用DOS软中断功能来显示字符串的方法。二、 实验步骤:1、 利用全屏幕编辑程序来编辑源程序,文件扩展名为ASM,操作如下:A NE 盘号:文件名.ASM2、 利用MASM程序将源程序文件汇编成目标文件,目标文件扩展名为OBJ,操作如下: AMASM 盘号:文件名.ASM 盘号:文件名.OBJ在编辑中发生错误
收藏 下载该资源
网站客服QQ:2055934822
金锄头文库版权所有
经营许可证:蜀ICP备13022795号 | 川公网安备 51140202000112号