中断调用处理程序

assume cs:code,ds:data,ss:stack

stack segment
    db 256 dup (?)
    top label word
stack ends

data segment
    db 'xiaonei',0
data ends

code segment
start:
    mov ax,stack
    mov ss,ax
    mov sp,offset top
    ;将sqr程序到sqrend程序存入内存0:200处
    mov ax,cs
    mov ds,ax
    mov si,offset converter
    mov ax,0
    mov es,ax
    mov di,200H
    mov cx,offset converterend - offset converter
    cld
    rep movsb

    ;安装向量表,安装到中断码为7c处
    mov ax,0
    mov es,ax
    mov word ptr es:[7cH*4],200H
    mov word ptr es:[7cH*4+2],0

    int 7cH        ;调用中断处理程序

    mov ax,4c00H
    int 21H
;将data段中的字符串"xiaonei"转换成大写
converter:
    push cx        ;将冲突的寄存器保存到栈中
    mov ax,data
    mov ds,ax
    mov bx,0
s0:
    mov cl,[bx]
    mov ch,0
    jcxz s1
    and cl,0dfH
    mov [bx],cl
    inc bx
    jmp short s0
s1:    
    pop cx
    iret
converterend:
    nop
code ends
end start

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值