11_int指令

这篇博客展示了如何编写一个8086汇编程序,该程序调用中断7ch来计算word型数据的平方。程序首先定义了一个中断例程,然后将例程安装在内存的0:200位置,并更新中断向量表,使7ch中断指向这个例程。此外,还演示了如何使用BIOS中断例程显示字符。
摘要由CSDN通过智能技术生成

int指令


int指令:

int指令的执行过程:
    1,取中断类型码n
    2,标志寄存器入栈,IF = 0, TF = 0
    3,CS,IP入栈
    4,IP执行内存中断表的位置
从此处转去执行n号中断的中断处理程序

编写供应用程序调用的中断例程:

eg:编写,安装中断7ch的中断例程,实现求--word型数据的平方
    功能:求--word型数据的平方
    参数:ax 要计算的数据
    返回值:dx,ax中存放结果的高16位和低16位

    应用举例:求2 * 3456 ^ 2

    assume cs:code
    code segment
    start:
        mov ax, 3456;
        int 7ch             ;调用中断7ch的中断例程,计算ax内数据的平方

        add ax, ax
        adc dx, dx          ;存放结果,将结果乘以2
        mov ax, 4c00h
        int 21h
    code ends
    end start

    1,编程实现求平方功能的程序
    2,安装程序,将其安装在0:200处
    assume cs:codesg
    code segment
        mov ax, cs
        mov ds, ax
        mov si, offset sqr
        mov ax, 0
        mov es, ax
        mov di, 200h
        mov ox, offest sqrend - offest sqr
        cld
        rep movsb

        mov ax, 0
        mov es, ax
        mov word ptr es:[7ch * 4], 200h
        mov word ptr es:[7ch * 4 + 2], 0

        mov ax, 4c00h
        int 21h
    sqR:
        mul ax
        iret

    sqrend:nop

    code ends
    end start

    3,设置中断向量表,将程序的入口地址保存在7ch的表项中,使其成为中断7ch的中断例程

BIOS中断例程的应用:

显示a字符
assume cs:code
code segment
    mov ah, 2; 置光标
    mov bh, 0; 第0页
    mov dh, 5;  dh中放行号
    mov dl, 12; dl中放列号
    int 10h

    mov ah, 9; 置光标
    mov al, 'a';字符
    mov bl, 11001010b;颜色属性
    mov bx, 0; 第0页
    mov cx, 3;字符重复个数
    int 10h

    mov ax, 4c00h
    int 21h
code ends
end start
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值