汇编实验五--DOS功能调用.docVIP

  • 25
  • 0
  • 约7.37千字
  • 约 20页
  • 2016-10-08 发布于重庆
  • 举报
汇编实验五--DOS功能调用

福建农林大学东方学院信息工程类实验报告 系: 计算机系 专业: 电子信息工程 年级: 10 姓名: 廖少兵 学号: 1050302103 实验课程: 汇编语言 实验室号:_______ 实验设备号: 实验时间: 指导教师签字: 成绩: 实验五 DOS功能调用 1.实验目的和要求 学会DOS中关于显示功能调用指令的用法。 领会修改显存方法显示字符。 2.实验用的软硬件环境 实验的硬件环境是: IBM—PC机及其兼容机 实验的软件环境是: 操作系统:DOS 2.0以上;调试程序:DEBUG.COM;文本编程程序:EDIT.EXE、WPS.EXE;宏汇编程序:MASM.EXE(或ASM .EXE);连接装配程序:LINK .EXE;交叉引用程序:CREF.EXE(可有可无)。 3.实验内容及实验数据记录 输入一个字符,显示出来 输入一个字符串,显示出来 buf开始的3个的16位二进制数用十六进制数的形式显示出来 (1)理解程序 (2)输入程序,汇编,运行(在DOS状态下输入:文件名.EXE),观察结果。 (3)如果要分行显示,程序要如何修改? DATA SEGMENT BUF DW 4F59H, 56A8H, 0FF90H DATA ENDS CODE SEGMENT ASSUME CS: CODE, DS: DATA START: MOV AX, DATA MOV DS, AX MOV SI, 0 P: MOV BX, BUF[SI] MOV CH, 4 L: MOV CL, 4 ROL BX, CL MOV DL, BL AND DL, 0FH CMP DL, 10 JB NEXT ADD DL, 7 NEXT: ADD DL, 30H MOV AH, 2 INT 21H DEC CH JNZ L INC SI INC SI CMP SI, 4 JNA P MOV AH, 4CH INT 21H CODE ENDS END START 运行下列程序,在屏幕的第1行,会显示一个字符X,理解程序段 STACK SEGMENT DB 128 DUP(0) STACK ENDS CODE SEGMENT ASSUME CS:CODE,SS:STACK START: MOV AX,STACK MOV SS,AX MOV SP,128 MOV AX,0B800H MOV ES,AX MOV AH,0 ;BIOS 10H的0号功能,设置80X25的彩色字符模式 MOV AL,03H INT 10H MOV AH,X MOV ES:[160*1+40*2],AH MOV AL,0 MOV AH,4CH INT 21H CODE ENDS END START 显示 ********* ******* ***** *** * 6、 编写程序,统计字缓冲区中的20个数据的正数、负数、0的个数,并将统计结果以16进制形式显示出来。 4.操作方法及实验步骤 1)直接调用DOS 1号功能即可,debug环境中a命令直接编辑代码写入内存如下指令 MOV AH,01 INT 21H MOV AH,4C INT 21H 2)字符串的输入和显示,原以为在调用10号功能后需要调用9号显示功能,因此编辑代码如下 DATA SEGMENT BUF DB 10 DB ? DB 10 DUP(?) ;DB $ DATA ENDS CODE SEGMENT ASSUME CS:CODE,DS:DATA START: MOV AX,DATA MOV DS,AX MOV DX,OFFSET BUF MOV AH,10 INT 21H ;MOV DX,OFFSET BUF

文档评论(0)

1亿VIP精品文档

相关文档