转换大小写int 7ch 中断处理程序

assume cs:code
data segment
db 'conversation',0
data ends


code segment
start :
      mov ax,cs
      mov ds,ax
      mov si,offset capital ;指向源代码地址
     
      mov ax,0
      mov es,ax
      mov di,200h
      mov cx,offset capitalend-offset capital
      cld
      rep movsb      ;目的地址
      
      ;安装中断处理程序 int 7ch自动跳转到 7ch*4+2:7ch*4处
      mov ax,0
      mov es,ax
      mov word ptr es:[7ch*4],200h 
      mov word ptr es:[7ch*4+2],0
      
      
      ;测试程序
      mov ax,data
  mov ds,ax
  mov si,0
  int 7ch
  
  push di
  push si
  push cx
  
  mov ax,0b800h
  mov es,ax
  mov di,12*160+36*2
  mov cx,12
s: mov al,[si]
   mov es:[di],al
   inc si
   add di,2
   loop s
   pop di
   pop si
   pop cx
  
  
  mov ax,4c00h
  int 21h
;程序处理程序   
    capital: push cx  ;子程序需要用到cx,si,入栈
        push si
change: mov cl,[si]
       mov ch,0
       jcxz ok ;当cx=0时,跳转到ok
       and byte ptr [si],11011111b
       inc si
       jmp short change
     ok:pop si
        pop cx
        iret
capitalend:nop
code ends
end start
        
        
           
  
code ends
end start














  
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值