鱼C论坛

 找回密码
 立即注册
查看: 6315|回复: 0

[技术交流] 汇编实验16

[复制链接]
发表于 2021-3-15 08:06:24 | 显示全部楼层 |阅读模式

马上注册,结交更多好友,享用更多功能^_^

您需要 登录 才可以下载或查看,没有账号?立即注册

x
  1. assume cs:code
  2. code segment

  3. start:       
  4. mov ax,cs
  5. mov ds,ax
  6. mov ax,0
  7. mov es,ax
  8. mov si,offset int7
  9. mov di,200h
  10. mov cx,offset int7chend-offset int7
  11. cld
  12. rep movsb
  13. cli
  14. mov word ptr es:[7ch*4],200H
  15. mov word ptr es:[7ch*4+2],0
  16. sti
  17. mov ax,4c00h
  18. int 21h
  19. org 200h
  20. int7:
  21. jmp int71
  22. table dw sub1,sub2,sub3,sub4
  23. int71:
  24. push bx
  25. cmp ah,3
  26. ja int72
  27. mov bl,ah
  28. add bx,bx
  29. call word ptr table[bx]

  30. int72:
  31. pop bx
  32. iret


  33. sub1:               
  34.                         push cx
  35.                         push es
  36.                         push bx
  37.                         mov cx,2000
  38.                         mov bx,0b800h
  39.                         mov es,bx
  40.                         mov bx,0
  41.         sub1s:        mov byte ptr es:[bx],' '
  42.                         add bx,2
  43.                         loop sub1s
  44.                         pop bx
  45.                         pop es
  46.                         pop cx
  47.                         ret

  48. sub2:
  49.                         push cx
  50.                         push bx
  51.                         push es
  52.                         mov cx,2000
  53.                         mov bx,0b800h
  54.                         mov es,bx
  55.                         mov bx,1
  56.         sub2s:        and byte ptr es:[bx],11111000b
  57.                         or byte ptr es:[bx],al
  58.                         add bx,2
  59.                         loop sub2s
  60.                         pop es
  61.                         pop bx
  62.                         pop cx
  63.                         ret


  64. sub3:
  65.                         push cx
  66.                         push bx
  67.                         push es
  68.                         mov cx,2000
  69.                         mov bx,0b800h
  70.                         mov es,bx
  71.                         mov bx,1
  72.         sub3s:        and byte ptr es:[bx],10001111b
  73.                         shl al,1
  74.                         shl al,1
  75.                         shl al,1
  76.                         shl al,1
  77.                         or byte ptr es:[bx],al   
  78.                         add bx,2
  79.                         loop sub3s
  80.                         pop es
  81.                         pop bx
  82.                         pop cx
  83.                         ret
  84.                        

  85. sub4:               
  86.                         push cx
  87.                         push bx
  88.                         push es
  89.                         push ds
  90.                         push di
  91.                         push si
  92.                        
  93.                         mov bx,0b800h
  94.                         mov es,bx
  95.                         mov ds,bx
  96.                         mov si,160               
  97.                         mov di,0               
  98.                         mov cx,24               
  99.                         cld                               
  100.         sub4s:  push cx
  101.                         mov cx,160               
  102.                         rep movsb
  103.                         pop cx
  104.                         loop sub4s
  105.                        
  106.                         mov cx,80
  107.                         mov bx,0
  108.         sub4s1: mov byte ptr es:[bx],' ';
  109.                         add bx,2
  110.                         loop sub4s1
  111.                        
  112.                         pop si
  113.                         pop di
  114.                         pop ds
  115.                         pop es
  116.                         pop bx
  117.                         pop cx
  118.                         ret
  119.                        
  120.                        
  121. int7chend:
  122. nop
  123. code ends
  124. end start
复制代码
小甲鱼最新课程 -> https://ilovefishc.com
回复

使用道具 举报

您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

小黑屋|手机版|Archiver|鱼C工作室 ( 粤ICP备18085999号-1 | 粤公网安备 44051102000585号)

GMT+8, 2025-6-9 04:53

Powered by Discuz! X3.4

© 2001-2023 Discuz! Team.

快速回复 返回顶部 返回列表