汇编语言程序设计报告班级:学号:姓名:
目录
汇编语言程序设计报告 ........................................................................................................... 1 汇编语言程序设计实验报告 ................................................................................................... 4 实验一 ....................................................................................................................................... 4 实验内容 ............................................................................................................................... 4 实验目的 ............................................................................................................................... 4 实验代码 ............................................................................................................................... 4 实验代码整体思路 ............................................................................................................... 5 1. 检测所编程序的正确性 ................................................................................................ 5 实验二 ....................................................................................................................................... 7 1. 实验内容........................................................................................................................ 7 结果测试: ......................................................................................................................... 11 Debug: ................................................................................................................................. 11 实验三 ..................................................................................................................................... 13 实验要求: ......................................................................................................................... 13 实验代码: ......................................................................................................................... 13 实验代码思路: ................................................................................................................. 15 检测结果,验证正确性 ..................................................................................................... 15 结论 ..................................................................................................................................... 17 实验四 ..................................................................................................................................... 17 实验内容 ............................................................................................................................. 17 流程图 ................................................................................................................................. 18 实验代码: ......................................................................................................................... 18 Windbg ................................................................................................................................ 21 实验结果测试: ................................................................................................................. 23 输入数据进行测试 ............................................................................................................. 24 实验五 ..................................................................................................................................... 24 实验内容:多模块程序设计及多语言混合编程。 ......................................................... 24 要求: ................................................................................................................................. 24 实验代码: ......................................................................................................................... 24
实验代码分析说明: ......................................................................................................... 26 实验数据检测:判断是否成功完成实验任务 ................................................................. 27 实验心得 ................................................................................................................................. 28
汇编语言程序设计实验报告
实验一
实验内容:熟悉DOS编程环境:编写一个DOS环境的汇编语言程序,要求 从键盘输
入一串字符,去除连续重复的字符后再显示,如:输入一串为“aaawwweerrty”的字符串,输出结果应为‘awerty’
实验目的:通过上机实践加深对16位环境下编程的了解
学会使用debuge调试程序
实验代码:
ASSUME CS:CODE, DS:DATA
DATA SEGMENT
BUFFER DB 60, ?, 60 DUP(?) PRINT DB 'TO INPUT: ' CRLF DB 0DH, 0AH, '$' DATA ENDS
CODE SEGMENT
MAIN:
MOV AX, DATA MOV DS, AX
MOV AH, 9 LEA DX, PRINT INT 21H
MOV AH, 0AH
LEA DX, BUFFER INT 21H
MOV AH, 9 LEA DX, CRLF INT 21H
LEA SI, BUFFER + 1
LP1:
INC SI LP2:
MOV AL, [SI] CMP AL, 13 JZ DISP
CMP AL, [SI + 1] JNZ LP1 MOV DI, SI LP3:
INC DI
MOV AL, [DI + 1] MOV [DI], AL CMP AL, 13 JZ LP2 JMP LP3 DISP:
MOV AL, '$' MOV [SI], AL
MOV AH, 9
LEA DX, BUFFER + 2 INT 21H EXIT:
MOV AX, 4C00H INT 21H CODE ENDS END MAIN
实验代码整体思路:定义一个大小为60的缓冲区,用来存储从键盘输入的字
符串;
调用中断调用,将字符串输入到缓冲区当中;
使用取地址符号Lea取得输入字符串的首地址然后后一位与前一位相比,若相同则将其舍弃,否者将其记录在缓冲区中,循环结束之后在其后补上字符“$”即可一次输出,无单个输出
1.
检测所编程序的正确性:
编译所建的1.asm文件:
按下回车键之后开始编译,如下图所示,编译结束表明没有错误不存在警告