实验08 INT n 中断实验实验报告

时间:2024.4.2

实验              INT n 中断实验       

实验日期:  2012.11.26  指导教师:   刘波   星期:  一   节次:  5.6   实验课时:

姓名:    胡敏       学号:    10168150    专业、班级:  10通信2班  得分:        

1、  实验目的 

1、掌握常用软件中断的指令。

2、掌握CPU执行中断操作的特点

2、  实验内容

1、键盘输入并显示

向量号 21h

功能号 1

该功能是等待扫描从键盘上输入的一个字符,将其ASCII码保存在AL中,并将该字符自动回显在CRT上。

1)、执行下列程序,观察结果

ORG 100h

MOV    AH, 1    ; select sub-function.

int 21h

RET  

2)、思考题:从键盘连续输入5个字符并显示,截图显示程序源代码和运行结果

2、显示以“$”结尾的字符串

向量号 21h

功能号 9

入口参数:DS:DX指向待显示的字符串的首地址

1)、执行下列程序,观察结果

在显示器上显示“HOW ARE YOU”

程序如下:

DSEG    SEGMENT

D1         DB ‘HOW ARE YOU’,’$’

DSEG    ENDS

CSEG    SEGMENT

              ASSUME CS:CSEG,DS:DSEG

START:   MOV AX,DSEG

              MOV DS,AX

              MOV DX,OFFSET D1

              MOV AH,9

              INT 21H

              MOV AH,4CH

              INT 21H

CSEG     ENDS

              END START

2)、思考题:在屏幕上显示两行字符串,第一行是学号,第二行是姓名的拼音全拼。提示,在ACSII码表中找换行符的ASCII码。截图显示程序和运行结果

3、BIOS的字符串显示

向量号 10h

功能号 0eh

该中断的功能是在屏幕上显示AL中的字符串,待显示的字符要事先存入AL中。

1)、执行下列程序,观察结果

#MAKE_COM#        ; instruct compiler to make COM file.

ORG    100h

; The sub-function that we are using

; does not modify the AH register on

; return, so we may set it only once.

MOV    AH, 0Eh    ; select sub-function.

; INT 10h / 0Eh sub-function

; receives an ASCII code of the

; character that will be printed

; in AL register.

MOV    AL, 'H'    ; ASCII code: 72

INT    10h        ; print it!

MOV    AL, 'e'    ; ASCII code: 101

INT    10h        ; print it!

MOV    AL, 'l'    ; ASCII code: 108

INT    10h        ; print it!

MOV    AL, 'l'    ; ASCII code: 108

INT    10h        ; print it!

MOV    AL, 'o'    ; ASCII code: 111

INT    10h        ; print it!

MOV    AL, '!'    ; ASCII code: 33

INT    10h        ; print it!

RET               ; returns to operating system.

3、读键盘

向量号 16h

功能号 0h

该中断的功能是在读取键盘输入的ASCII码,并存放在AL中。

1)使用COM模板,执行如下程序,观察AL中的内容

ORG 100h

MOV    AH, 0    ; select sub-function.

int 16h

RET 

向量号 16h

功能号 1h

该中断的功能是

若按过键,则ZF=0,并读取键盘输入的ASCII码,并存放在AL中。

若没按过键,则ZF=1

3、实验步骤

2)、思考题:从键盘连续输入5个字符并显示,截图显示程序源代码和运行结果

2)、思考题:在屏幕上显示两行字符串,第一行是学号,第二行是姓名的拼音全拼。提示,在ACSII码表中找换行符的ASCII码。截图显示程序和运行结果

.0

3、 实验运行结果:

5、思考题解答

1)编写程序,在显示器上显示你的姓名,换行

等待键盘输入一个字符,若输入的是“Y”,则显示“WELCOME ”+你的姓名

若输入的是“N”,则显示“SORRY ”+你的姓名

(可参考P155例4.46,但Emu8086不支持DOS中断的8号功能。)

DSEG    SEGMENT

D1         DB 'HU MIN',0DH,0AH,'$'

D2              DB 'WELCOME HU MIN',0DH,0AH,'$'

D3              DB 'SORRY HU MIN',0DH,0AH,'$'

DSEG    ENDS

CSEG    SEGMENT

              ASSUME CS:CSEG,DS:DSEG

START:   MOV AX,DSEG

              MOV DS,AX

              MOV DX,OFFSET D1

              MOV AH,9

              INT 21H

              MOV AH,0

              INT 16H

              CMP AL,'Y'

              JNE NEXT

              MOV DX,OFFSET D2

              MOV AH,9

              INT 21H

NEXT: CMP AL,'N'

                JNE JIESHU

                MOV DX,OFFSET D3

                MOV AH,9

                INT 21H       

JIESHU:        MOV AH,4CH

              INT 21H

CSEG     ENDS

              END START

2)、DOS中断的0AH号功能是从键盘读取字符串(连续读取多个字符)

参考P155-P166和例题4.47,编写如下功能的程序

在显示器上显示“INPUT PASSWORD

随后从键盘读入字符串,若该字符串是自己的学号,则在屏幕上换行显示自己的学号

如果从键盘输入的不是自己的学号,则在屏幕上显示:“YOUR PASSWORD IS ERROR

D       SEGMENT

PASS1   DB '10168150'

N       EQU 8

D1      DB 'INPUT PASSWORD',0DH,0AH,'$'

PASS2   DB 20

        DB ?

DB      20 DUP(?)

D2      DB 0DH,0AH,'10168150 $'

D3      DB 0DH,0AH,'YOUR PASSWORD IS ERROR $'

D       ENDS

C       SEGMENT

        ASSUME CS:C,DS:D,ES:D

BG:     MOV AX,D

        MOV DS,AX

        MOV ES,AX

        LEA DX,D1

        MOV AH,9

        INT 21H

        LEA DX,PASS2

        MOV AH,0AH

        INT 21H

        LEA SI,PASS1

        LEA DI,PASS2

        CMP BYTE PTR[DI+1],N

        JNE LAST

        MOV CX,N

        LEA DI,PASS2+2

        CLD

        REPZ CMPSB

        JZ DISOK

LAST:   LEA DX,D3

        MOV AH,9

        INT 21H

        JMP JIESHU

       

DISOK:  LEA DX,D2

        MOV AH,9

        INT 21H

        JMP JIESHU

JIESHU: MOV AH,4CH

        INT 21H            

C       ENDS

        END BG                                     


第二篇:实验08 INT n 中断实验报告


实验          INT n中断实验(4课时综合实验)                     

实验日期: 20##-12-11  

学校:安徽农业大学经济技术学院           星期:  三    节次: 1、2    实验课时:   

姓名:   江珊珊               学号:      专业、班级:  通信三班  得分:       

一.实验目的 

1、掌握常用软件中断的指令。

2、掌握CPU执行中断操作的特点

二.实验内容

1、键盘输入并显示

向量号 21h

功能号 1

该功能是等待扫描从键盘上输入的一个字符,将其ASCII码保存在AL中,并将该字符自动回显CRT上。

2、显示以“$”结尾的字符串

向量号 21h

功能号 9

入口参数:DS:DX指向待显示的字符串的首地址

2)、思考题:在屏幕上显示两行字符串,第一行是学号,第二行是姓名的拼音全拼。提示,在ACSII码表中找换行符的ASCII码。截图显示程序和运行结果

3、BIOS的字符串显示

向量号 10h

功能号 0eh

该中断的功能是在屏幕上显示AL中的字符串,待显示的字符要事先存入AL中。

3、读键盘

向量号 16h

功能号 0h

该中断的功能是在读取键盘输入的ASCII码,并存放在AL中。

1)使用COM模板,执行如下程序,观察AL中的内容

ORG 100h

MOV    AH, 0    ; select sub-function.

int 16h

RET 

向量号 16h

功能号 1h

该中断的功能是

若按过键,则ZF=0,并读取键盘输入的ASCII码,并存放在AL中。

若没按过键,则ZF=1

三、实验步骤

四、实验运行结果:

1、键盘输入并显示

向量号 21h

功能号 1

该功能是等待扫描从键盘上输入的一个字符,将其ASCII码保存在AL中,并将该字符自动回显在CRT上。

1)、执行下列程序,观察结果

ORG 100h

MOV    AH, 1    ; select sub-function.

int 21h

RET 

运行结果是:

 

2)、思考题:从键盘连续输入5个字符并显示,截图显示程序源代码和运行结果,如输入honey,显示如下

2、显示以“$”结尾的字符串

向量号 21h

功能号 9

入口参数:DS:DX指向待显示的字符串的首地址

1)、执行下列程序,观察结果

在显示器上显示“HOW ARE YOU”

程序如下:

DSEG    SEGMENT

D1        DB ‘HOW ARE YOU’,’$’

DSEG    ENDS

CSEG    SEGMENT

              ASSUME CS:CSEG,DS:DSEG

START:   MOV AX,DSEG

              MOV DS,AX

              MOV DX,OFFSET D1

              MOV AH,9

              INT 21H

              MOV AH,4CH

              INT 21H

CSEG     ENDS

              END START

运行结果:

2)、思考题:在屏幕上显示两行字符串,第一行是学号,第二行是姓名的拼音全拼。提示,在ACSII码表中找换行符的ASCII码。截图显示程序和运行结果

3、BIOS的字符串显示

向量号 10h

功能号 0eh

该中断的功能是在屏幕上显示AL中的字符串,待显示的字符要事先存入AL中。

1)、执行下列程序,观察结果

#MAKE_COM#        ; instruct compiler to make COM file.

ORG    100h

; The sub-function that we are using

; does not modify the AH register on

; return, so we may set it only once.

MOV    AH, 0Eh    ; select sub-function.

; INT 10h / 0Eh sub-function

; receives an ASCII code of the

; character that will be printed

; in AL register.

MOV    AL, 'H'    ; ASCII code: 72

INT    10h        ; print it!

MOV    AL, 'e'    ; ASCII code: 101

INT    10h        ; print it!

MOV    AL, 'l'    ; ASCII code: 108

INT    10h        ; print it!

MOV    AL, 'l'    ; ASCII code: 108

INT    10h        ; print it!

MOV    AL, 'o'    ; ASCII code: 111

INT    10h        ; print it!

MOV    AL, '!'    ; ASCII code: 33

INT    10h        ; print it!

RET               ; returns to operating system.

运行结果是:

3、读键盘

向量号 16h

功能号 0h

该中断的功能是在读取键盘输入的ASCII码,并存放在AL中。

1)使用COM模板,执行如下程序,观察AL中的内容

ORG 100h

MOV    AH, 0    ; select sub-function.

int 16h

RET 

输入的是a

运行结果是:

向量号 16h

功能号 1h

该中断的功能是

若按过键,则ZF=0,并读取键盘输入的ASCII码,并存放在AL中。

若没按过键,则ZF=1

输入的是b

 运行结果是

五、思考题解答

1.编写程序,在显示器上显示你的姓名,换行

等待键盘输入一个字符,若输入的是“Y”,则显示“WELCOME ”+你的姓名

若输入的是“N”,则显示“SORRY ”+你的姓名

(可参考P155例4.46,但Emu8086不支持DOS中断的8号功能。)

D    SEGMENT

D1   DB 'JIANG SHAN SHAN',0DH,0AH,'$'

D2   DB 'WELCOME+JIANG SHAN SHAN',0DH,0AH,'$'

D3   DB 'SORRY+JIANG SHAN SHAN',0DH,0AH,'$'

D    ENDS

C    SEGMENT

     ASSUME  CS: C,DS: D

BG:   MOV AX, D

      MOV DS, AX

      MOV DX, OFFSET D1

      MOV AH, 9

      INT 21H

      MOV AH, 1

      INT 21H

      CMP AL, 'Y'

      JNE NEXT1

      LEA DX, D2

      MOV AH, 9

      INT 21H

NEXT1:CMP AL,'N'

      JNE NEXT2

      LEA DX, D3

      MOV AH, 9

      INT 21H

NEXT2:MOV AH, 4CH

      INT 21H

C     ENDS

      END   BG

2、DOS中断的0AH号功能是从键盘读取字符串(连续读取多个字符)

参考P155-P166和例题4.47,编写如下功能的程序

在显示器上显示“INPUT PASSWORD

随后从键盘读入字符串,若该字符串是自己的学号,则在屏幕上换行显示自己的学号

如果从键盘输入的不是自己的学号,则在屏幕上显示:“YOUR PASSWORD IS ERROR

D    SEGMENT 'DATA'

D1   DB 'INPUT PASSWORD',0DH,0AH,'$'

PASS2 DB 9

      DB ?

DB    9 DUP(?)

D2   DB '11540088',0DH,0AH,'$'

N    EQU 8

D3   DB 'YOUR PASSWORD IS ERROR',0DH,0AH,'$'

D    ENDS

C    SEGMENT 'CODE'

     ASSUME CS:C,DS:D

BG: MOV     AX,D

    MOV     DS,AX

    MOV     ES,AX

    MOV     DX,OFFSET D1

    MOV     AH,9

    INT     21H

    LEA     DX,PASS2

    MOV     AH,0AH

    INT     21H

    LEA     SI,D2

    LEA     DI,PASS2

    CMP     BYTE PTR [DI+1],N

    JNE     NEXT1

    MOV     CX,N

    LEA     DI,PASS2+2

    CLD

    REPZ    CMPSB

    JZ      DISOK

NEXT1:LEA    DX,D3

     MOV    AH,9

     INT    21H

     JMP    NEXT2

DISOK:LEA   DX,D2

      MOV   AH,9

      INT   21H

      JMP   NEXT2

NEXT2:MOV AH,4CH

      INT 21H

C    ENDS

     END  BG

更多相关推荐:
单片机中断实验报告

实验三定时器中断实验一实验目的1掌握51单片机定时器基本知识2掌握定时器的基本编程方法3学会使用定时器中断二实验内容1利用定时器设计一个秒表计数范围为059并在数码管实时显示三实验设备PC机一台单片机实验箱主要...

中断实验报告报告

中断试验试验报告班级电信1001姓名张贵彬学号20xx46830213一实验目的1掌握PC机中断处理系统的基本原理2学会编写中断服务程序二实验原理与内容1实验原理PC机用户可使用的硬件中断只有可屏蔽中断由825...

实验报告一 中断处理

实验报告一中断处理姓名xxxx学号xxxx班级xxxxx一实习内容运用某种高级语言如C或C模拟时钟中断的产生及设计一个对时钟中断事件进行处理的模拟程序二实习目的现代计算机系统的硬件部分都设有中断机构中断机构能发...

中断优先级控制及中断保护实验报告

中断优先级控制及中断保护学生学号20xx03870408专业班级自动化1202指导老师杨东勇20xx年12月一实验目的1掌握单片机中断机制2熟悉中断的应用和编程二实验设备统一电子开发平台三实验要求连接单片机最小...

8259A中断实验报告

实验十一8259A中断实验一实验目的1学习80868088与8259A的连接与控制方法掌握其工作原理2完成程序设计题学会编写中断服务程序二实验原理8259A是一种可编程序中断控制器与808886微机兼容能处理8...

8259中断实验实验报告

实验报告实验名称8259A中断控制器实验姓名学号班级教师日期一实验内容与要求11实验内容了解8259A终端控制器的工作原理了解PC中断的原理和过程设计并编写程序设置8259A的命令字定义中断服务程序使在TPCU...

指示灯、数码管的中断控制实验报告

学生实验报告参考样本学院软件与通信工程课程名称单片机原理专业班级通信101姓名学号学生实验报告一实验目的及要求1目的掌握外部中断原理学习中断编程与程序调试方法2内容及要求熟悉uvision3的软件调试方法完成c...

《操作系统》实验报告三_页式虚拟存储管理中地址转换和缺页中断55

注可根据实际情况加页

单片机交通灯实验报告

交通灯控制系统设计院系电子电气工程学院专业电气自动化班级P10电气四班成员王帅茹旭桐夏振薛佳佳魏光琪刘昌爽指导老师李霞淄博职业学院交通灯控制系统设计实验一设计目的1通过本次课程设计进一步熟悉和掌握单片机的结构及...

实验三(实验报告) - 键盘中断 (1)

实验三中断程序设计学号20xx16008姓名孙坤专业电子信息科学与技术成绩实验目的1认识微机系统的中断特性2学习8259中断控制器的工作原理3学习8259中断控制器的应用编程4掌握使用PC机内8259的方法5掌...

实验报告-实验三_中断与定时器实验INT

中断定时器实验实验目的学习外部中断和定时器二实验说明本实验1通过开关向单片机提出中断请求单片机响应中断进行计数并通过LED数码管指示出计数值从而观察中断的请求响应的过程实验2通过单片机的定时器产生延时控制LED...

Linux软中断通信实验报告

实验2Linux软中断通信1实验目的通过本实验掌握软中断的基本原理掌握中断信号的使用进程的创建以及系统计时器的使用2实验内容上交的实验2统一取名为test2由父进程创建两个子进程通过终端输入Crtl组合键向父进...

中断实验报告(34篇)