实验四 显示程序设计实验
一、 实验目的
1) 了解INT 10H、INT 21H部分功能号的功能和使用方法 2) 掌握字符方式下PC显示器的显示控制
二、 实验内容
INT 21H功能应用(1)
题目:在显示器上显示A~Z共26个英文字母 实验步骤:
1) 输入程序并检查无误,经汇编、连接后装入。
2) 在DOS状态下运行:将程序存放在D盘,在PC上单击“开始”→“运行” →“输入
debug d:\\文件名.exe↓”,G↓运行实验程序,并观察实验结果。 实验结果:
三、 编程练习
题目:在内存中定义一组8位无符号二进制数。在屏幕上显示“Input a binary number:”,键入一个8位二进制数。在上述数组中搜索是否由此数据,有,则显示Found;否则,显示No Found。重复,直到键入回车符后程序退出。重复,直到按 开始 输入数组大小x 定义数组NUM 键入一个二进制数a i=1 取数组第i个数NUM[i] Y NUMBER[i]=a? Y i++ i<=x? N 显示No Found N 显示Found 结束 程序清单: STACKS SEGMENT STACK ;堆栈段 DW 128 DUP(?) ;注意这里只有128个字节 STACKS ENDS DATAS SEGMENT ;数据段 ;请在这里定义您的数据 NUM DB 12H,36H,4FH,5EH,39H,95H,88H VA0 DB 'INPUT A BINARY NUMBER:$' VA1 DB 'FOUND',13,10,'$' VA2 DB 'NO FOUND', 13, 10,'$' DATAS ENDS CODES SEGMENT ;代码段 ASSUME CS:CODES,DS:DATAS START: MOV AX,DATAS ;初始化 MOV DS,AX ;请在这里添加您的代码 A0: MOV DX,OFFSET VA0 MOV AH,09H INT 21H ;显示字符串“Input a binary number” MOV CX,0008H LEA SI,NUM ;装载数组有效地址 MOV BL,0 MOV BH,04H A1: MOV AH,01H INT 21H CMP AL,0DH JZ OVER DEC CX SUB AL,30H SAL AL,CL A2: ADD BL,AL INC CX LOOP A1 MOV DL,[SI] CMP BL,DL JNZ A3 MOV DX, OFFSET VA1 MOV AH, 09H INT 21H ;找到,显示“Found” JMP A0 A3: INC SI DEC BH JNZ A2 MOV DX, OFFSET VA2 MOV AH, 09H INT 21H ;找不到,显示“No Found” JMP A0 OVER: MOV AX,4C00H ;退出程序 INT 21H CODES ENDS END START 操作步骤: 1) 输入程序检查无误,经汇编、连接后装入 2) 在DOS状态下运行:将程序存放在D盘,在PC上单击“开始”→“运行” →“输入debug d:\\文件名.exe↓”,G↓运行实验程序,输入一个二进制数并观察实验结果。 程序运行结果: 四、 实验心得 通过本次实验,我了解了INT 10H以及INT 21H部分功能号的功能和使用方法,同时也掌握字符方式下PC显示器的显示控制。本实验比以往的实验难度大了一些,不过预先已经编好了程序,所以完成得也很快。 因篇幅问题不能全部显示,请点此查看更多更全内容