微机原理实验3[参照内容]_第1页
微机原理实验3[参照内容]_第2页
微机原理实验3[参照内容]_第3页
免费预览已结束,剩余1页可下载查看

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

1、实验三:INT21功能的使用一. 实验目的1. 了解INT 21H 各功能块的功能和使用方法2. 掌握字符方式下PC机显示器显示控制 二. 实验设备PC机一台三. 实验内容及步骤本实验在显示器上显示AZ 26个英文字母。显示器I/O功能调用使用说明如下:INT 21H使用说明(1)入口:AH=01H 功能: 键盘输入字符,AL=输入字符(2)入口:AH=02H,DL=数据(ASCII码) 功能:写DL中的数据到屏幕上(3)入口:AH=09H,DS:DX=字串首址,且字符串尾用$ 填充 功能:显示一字串,直到遇到$ 为止。四. 编程练习A).利用INT 21H功能,在PC机上显示:“MY NAM

2、E IS ”. B).编程计算 Z=5678H6666H1234H,并把结果显示在屏幕上。 C).编程计算 Z=5678H0666H14H,并把结果显示在屏幕上. D).编程计算 Z=5678H0321H02H,并把结果显示在屏幕上。 E).编程计算 Z=5678H6666H8888H,并把结果显示在屏幕上。 F).编程计算 Z=5678H0666HABCDH,并把结果显示在屏幕上。 G).编程计算 Z=0678H06H14H,并把结果显示在屏幕上。五软件流程图和程序清单A);利用INT 21H功能,在PC机上显示:“MY NAME IS ”DATAS SEGMENT STRING DB MY

3、 NAME IS ZHANGSHAOJUN!,$DATAS ENDSCODES SEGMENT ASSUME CS:CODES,DS:DATASSTART: MOV AX,DATAS MOV DS,AX LEA DX,STRING ;获取要显示字符串首地址 MOV AH,09H ;显示字符 INT 21H MOV AH,4CH INT 21HCODES ENDS END START 【运行结果】B);编程计算 Z=5678H6666H1234H,并把结果显示在屏幕上。查表法:DATAS SEGMENTORG 0300HTAB DB 0,1,2,3,4,5,6,7,8,9,A,B,C,D,E,F

4、NUM DW 5678H,6666H,1234HDATAS ENDSCODES SEGMENT ASSUME CS:CODES,DS:DATASSTART: MOV AX,DATAS MOV DS,AX LEA SI,NUM MOV AX,SI ADC AX,SI+2 SUB AX,SI+4 MOV CX,04H ;将AX中的十六进制数显示在屏幕上BBB:MOV BX,0010H MOV DX,0 DIV BX ;依次求出AX中数的低位到高位,于DX中 PUSH AX MOV DI,DX MOV BYTE PTR DL,0300HDI ;查表找出对于ASCII码值,存入DL中,显示 MOV A

5、H,02H INT 21H POP AX LOOP BBB MOV DL,H ;显示H MOV AH,02H INT 21H MOV AH,4CH INT 21HCODES ENDSEND START【运行结果】 求值法:CODES SEGMENT ASSUME CS:CODESSTART: MOV AX,5678H+6666H-1234HMOV CX,4ROL AX,CLCCC:PUSH AX AND AX,000FH CMP AX,09H JC BBB ;CF=1,跳转 ADD AX,07H ;CF=0,AX中值加07HBBB:ADD AX,30H ;AX中数值加30H,得到对于ASCII

6、值 MOV DX,AX MOV AH,02H ;显示一位 INT 21H POP AX PUSH CX MOV CL,4 ROL AX,CL ;右移4位,将所要显示数字置于AX最低位 POP CX LOOP CCC MOV DL,H ;显示H MOV AH,02H INT 21H MOV AH,4CH INT 21HCODES ENDSEND START【运行结果】F);F编程计算 Z=5678H0666HABCDH,并把结果显示在屏幕上。DATAS SEGMENT ORG 3700HTAB DB 0,1,2,3,4,5,6,7,8,9,A,B,C,D,E,F NUM DW 5678H,066

7、6H,0ABCDH DATAS ENDSCODES SEGMENT ASSUME CS:CODES,DS:DATASSTART: MOV AX,DATAS MOV DS,AX LEA SI,NUM MOV AX,SI ADD AX,SI+2 SUB AX,SI+4 PUSH AX JNB CCC ;CF位为0,则转移 MOV DL,- ;CF位为1,则显示-号,并将AX中的负数,加1取反,求原码 MOV AH,02H INT 21H PUSH AX DEC AX NOT AXCCC:MOV CX,04H ;将AX中的十六进制数显示在屏幕上BBB:MOV BX,0010H MOV DX,0 DIV BX PUSH AX MOV DI,DX ;依次求出AX中数的低位到高位,于DX中 MOV BYTE PTR DL,3700HDI ;查表找出对于ASCII码值,存入DL中,显示 MOV AH,02H INT 21H PUSH AX LOOP BBB MOV DL,H ;显示H MOV AH,02H INT 21H MOV AH,4CH INT 21HCODES ENDSEND START 【运行结果】

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

评论

0/150

提交评论