⭐ 欢迎来到虫虫下载站! | 📦 资源下载 📁 资源专辑 ℹ️ 关于我们
⭐ 虫虫下载站

📄 12.4s.asm

📁 一些小程序,关于汇编语言中程序的中断的使用,例子中包括字符输出
💻 ASM
字号:
code         segment
        assume   cs:code,ds:code
  show     macro
              local   sh1,sh2
              push     ax
              push     cx
              push     dx
              mov       ah,2
              mov       cx,4
              shr       dl,cl
              cmp       dl,0ah
              jb         sh1
              add       dl,07h
  sh1:        add       dl,30h
              int       21h
              pop       dx
              push     dx
              and       dl,0fh
              cmp       dl,0ah
              jb         sh2
              add       dl,07h
  sh2:        add       dl,30h
              mov       ah,2
              int       21h
              mov       ah,2
              mov       dl,20H
              int       21h
              pop       dx
              pop       cx
              pop       ax
              endm

  tip       macro   a
              local   tip0,tip1
              jmp       tip1
  tip0:   db         a,'$'
  tip1:       push     ds
              push     cs
              pop       ds
              push     dx
              push     ax
              mov       ah,9
              lea       dx,tip0
              int       21h
              pop       ax
              pop       dx
              pop       ds
              endm
              
  start:     mov     ax,cs
             mov     ds,ax
    reprec:  mov     ah,0
             int     16h
             push   ax
             mov       dl,0ah
             mov ah,2
             int 21h
             mov       dl,0dh
             mov ah,2
             int 21h
             mov     ah,2
             int     16h
             test   al,80h
             jz     nextbi1
             tip     'INS     '
  nextbi1:   test   al,40h
             jz     nextbi2
             tip     'Caps   Lock     '
  nextbi2:   test   al,20h
             jz     nextbi3
             tip     'Num   Lock     '
  nextbi3:   test   al,10h
             jz     nextbi4
             tip     'Scroll   Lock     '
  nextbi4:   test   al,8
             jz     nextbi5
             tip     'Alt     '
  nextbi5:   test   al,4
             jz     nextbi6
             tip     'Ctrl     '
  nextbi6:   test   al,2
             jz     nextbi7
             tip     'L   shift     '
  nextbi7:   test   al,1
             jz     nextbi8
             tip     'R   shift   '
  nextbi8:   cmp     al,0
             je       nextbi9
             mov     dl,al
             show
             mov       dl,0ah
             mov ah,2
             int 21h
             mov       dl,0dh
             mov ah,2
             int 21h
  nextbi9:   pop     ax
             mov     dl,ah
             show
             mov     dl,al
             show
             cmp     al,1bh
             je       exits
             jmp     reprec
      exits: mov     ah,4ch
             int     21h
  code         ends
                  end     start

⌨️ 快捷键说明

复制代码 Ctrl + C
搜索代码 Ctrl + F
全屏模式 F11
切换主题 Ctrl + Shift + D
显示快捷键 ?
增大字号 Ctrl + =
减小字号 Ctrl + -