汇编源码系列之inthand

来源:岁月联盟 编辑:zhu 时间:2009-03-11

  这个都是过去DOS时代的汇编源码,虽然已经过去了,但是对于学习汇编还是有帮助的,汇编语言只是程序员一门基础语言,大多人掌握即可,不一定要深入研究.......

;
progseg segment para public 'CODE'
  public  setcom
  assume  cs:progseg, ds:progseg, es:progseg
  org  100h
doscall equ  21h
oldint  equ  16h
;
startup proc  far
  jmp  setup
;
setcom  proc  far
;  jmp  cs:[interupt]
  pushf
  call  cs:[interupt]
  RET 2
setcom  endp
;
save  db  0
interupt label dword
vector  db  8 dup(0)  ;only 4 needed 4 more for safety
;
setup:
  mov  ah,35h    ;get interupt vector address function
  mov  al,oldint  ;keyboard interupt vector
  int  doscall   ;go get it
;
  mov  word ptr vector,bx   ;save offset
  mov  bx,es    ;get segment address
  mov  word ptr vector 2,bx   ;save segment
;
  mov  dx,offset setcom ;get new vector address
  mov  ax,cs
  mov  ds,ax    ;set segment
  mov  ah,25h    ;set interupt vector address function
  mov  al,oldint  ;set to our new interupt vector
  int  doscall   ;set the interupt
;
  mov  dx,offset setup ;terminate and stay resident
  int  27h
startup endp
progseg ends
;
  end  startup


图片内容