页面顶部 Top


最后修改: October 30 2020 14:33:13
文件:  root - programs - 80x86_assembly_com - 2008 - 5 - db64t2.com
大小: 0.55KB

  1. @rem This file is generated by machine... at 2024-05-09 54:05:18
  2. @rem .COM file to .BAT convertor,,, programmed by Zhihua Lai, 2008
  3. @rem The .COM File Generated is size of 567 bytes.
  4. @if exist %0.bat %0.bat
  5. @debug < %0
  6. @dir /l db64t2.com
  7. @goto eof
  8. e0100 e9 a5 01 42 61 73 65 36 34 20 54 65 78 74 20 44
  9. e0110 65 63 6f 64 65 20 55 74 69 6c 69 74 79 3a 20 4e
  10. e0120 6f 20 65 6e 6f 75 67 68 20 70 61 72 61 6d 65 74
  11. e0130 65 72 73 2e 0d 0a 24 50 61 72 61 6d 65 74 65 72
  12. e0140 3a 20 41 6e 79 20 53 74 72 69 6e 67 2e 0d 0a 24
  13. e0150 50 72 6f 67 72 61 6d 6d 65 64 20 62 79 20 5a 68
  14. e0160 69 68 75 61 20 4c 61 69 2c 20 32 30 30 38 20 41
  15. e0170 70 72 69 6c 2c 20 6a 75 73 74 20 66 6f 72 20 66
  16. e0180 75 6e 2e 0d 0a 24 0d 0a 53 74 6f 70 70 65 64 3a
  17. e0190 20 42 61 64 20 42 41 53 45 36 34 2d 45 6e 63 6f
  18. e01a0 64 65 64 20 53 74 72 69 6e 67 2e 0d 0a 24 41 42
  19. e01b0 43 44 45 46 47 48 49 4a 4b 4c 4d 4e 4f 50 51 52
  20. e01c0 53 54 55 56 57 58 59 5a 61 62 63 64 65 66 67 68
  21. e01d0 69 6a 6b 6c 6d 6e 6f 70 71 72 73 74 75 76 77 78
  22. e01e0 79 7a 30 31 32 33 34 35 36 37 38 39 2b 2f 3d 00
  23. e01f0 00 00 00 00 00 00 51 57 8d 3e ae 01 b9 42 00 f2
  24. e0200 ae 83 e9 41 f7 d9 8a c1 5f 59 c3 50 51 52 2e a0
  25. e0210 ef 01 b1 02 d2 e0 2e a2 f3 01 2e a0 f0 01 b1 04
  26. e0220 d2 e8 2e 00 06 f3 01 b4 02 2e 8a 16 f3 01 cd 21
  27. e0230 2e 80 3e f0 01 40 74 52 2e a0 f0 01 24 0f b1 04
  28. e0240 d2 e0 2e a2 f4 01 2e a0 f1 01 24 3c b1 02 d2 e8
  29. e0250 2e 00 06 f4 01 b4 02 2e 8a 16 f4 01 cd 21 2e 80
  30. e0260 3e f1 01 40 74 24 2e 80 3e f2 01 40 74 1c 2e a0
  31. e0270 f1 01 24 03 b1 06 d2 e0 2e 02 06 f2 01 2e a2 f5
  32. e0280 01 b4 02 2e 8a 16 f5 01 cd 21 5a 59 58 c3 b4 09
  33. e0290 8d 16 03 01 cd 21 8d 16 37 01 cd 21 8d 16 50 01
  34. e02a0 cd 21 b4 4c b0 01 cd 21 be 80 00 32 ed 8a 0c e3
  35. e02b0 dd 46 fe c9 eb 0e b4 09 8d 16 86 01 cd 21 b4 4c
  36. e02c0 b0 02 cd 21 46 8a 04 3c 20 75 08 e2 f7 b4 4c b0
  37. e02d0 00 cd 21 e8 20 ff 3c 41 74 dc 2e a2 ef 01 fe c9
  38. e02e0 e3 d4 46 8a 04 3c 20 75 04 e2 f7 eb c9 e8 06 ff
  39. e02f0 3c 41 74 c2 2e a2 f0 01 fe c9 e3 ba 46 8a 04 3c
  40. e0300 20 75 04 e2 f7 eb af e8 ec fe 3c 41 74 a8 2e a2
  41. e0310 f1 01 fe c9 e3 a0 46 8a 04 3c 20 75 04 e2 f7 eb
  42. e0320 95 e8 d2 fe 3c 41 74 8e 2e a2 f2 01 e8 dc fe e2
  43. e0330 93 b4 4c b0 00 cd 21
  44. n db64t2.com
  45. r cx
  46. 237
  47. w
  48. q
  49. :eof

  1. ;;;; this assembly file is formated by zlai 2008 asm formatter. ;;;;
  2. ; base64 text decode utility
  3. ; programmed by zhihua lai,
  4. ; 2008 april 29, just for fun
  5.  
  6. .model tiny 
  7. code segment 
  8.   org 100h 
  9.  
  10.   start: 
  11.   jmp start1 
  12.  
  13.   exit2dos macro exitcode 
  14.     mov ah, 4ch 
  15.     mov al, exitcode 
  16.     int 21h 
  17.   endm 
  18.  
  19.   msg1 db "base64 text decode utility: no enough parameters.", 13, 10, "$" 
  20.   msg2 db "parameter: any string.", 13, 10, "$" 
  21.   msg3 db "programmed by zhihua lai, 2008 april, just for fun.", 13, 10, "$" 
  22.  
  23.   errormsg db 13, 10, "stopped: bad base64-encoded string.", 13, 10, "$" 
  24.  
  25.   lookup db "abcdefghijklmnopqrstuvwxyz" ; uppercase
  26.   lookup2 db "abcdefghijklmnopqrstuvwxyz" ; lowercase
  27.   lookup3 db "0123456789+/=" 
  28.  
  29.   char1 db 0 
  30.   char2 db 0 
  31.   char3 db 0 
  32.   char4 db 0 
  33.  
  34.   k1 db 0 
  35.   k2 db 0 
  36.   k3 db 0 
  37.  
  38.   _p proc near 
  39.     push cx 
  40.     push di 
  41.     lea di, lookup 
  42.     mov cx, 66 
  43.     repne scas byte ptr es:[di] 
  44.     sub cx, 65 
  45.     neg cx 
  46.     mov alcl 
  47.     pop di 
  48.     pop cx 
  49.     ret 
  50.   _p endp 
  51.  
  52.   pr proc near 
  53.     push ax 
  54.     push cx 
  55.     push dx 
  56.     mov al, char1 
  57.     mov cl, 2 
  58.     shl alcl 
  59.     mov k1, al 
  60.     mov al, char2 
  61.     mov cl, 4 
  62.     shr alcl 
  63.     add k1, al 
  64.     mov ah, 2 
  65.     mov dl, k1 
  66.     int 21h 
  67.     cmp char2, 64 
  68.     jz break 
  69.     mov al, char2 
  70.     and al, 15 
  71.     mov cl, 4 
  72.     shl alcl 
  73.     mov k2, al 
  74.     mov al, char3 
  75.     and al, 60 
  76.     mov cl, 2 
  77.     shr alcl 
  78.     add k2, al 
  79.     mov ah, 2 
  80.     mov dl, k2 
  81.     int 21h 
  82.     cmp char3, 64 
  83.     jz break 
  84.     cmp char4, 64 
  85.     jz break 
  86.     mov al, char3 
  87.     and al, 3 
  88.     mov cl, 6 
  89.     shl alcl 
  90.     add al, char4 
  91.     mov k3, al 
  92.     mov ah, 2 
  93.     mov dl, k3 
  94.     int 21h 
  95.     break: 
  96.     pop dx 
  97.     pop cx 
  98.     pop ax 
  99.     ret 
  100.   pr endp 
  101.  
  102.   noarg: 
  103.   mov ah, 09h 
  104.   lea dx, msg1 
  105.   int 21h 
  106.   lea dx, msg2 
  107.   int 21h 
  108.   lea dx, msg3 
  109.   int 21h 
  110.   exit2dos 1 
  111.  
  112.   start1: 
  113.   mov si, 80h 
  114.   xor chch 
  115.   mov cl, [si
  116.   jcxz noarg 
  117.   inc si 
  118.   dec cl 
  119.   jmp chk1 
  120.  
  121.   bad: 
  122.   mov ah, 09 
  123.   lea dx, errormsg 
  124.   int 21h 
  125.   exit2dos 2 
  126.  
  127.   chk1: 
  128.   inc si 
  129.   mov al, [si
  130.   cmp al, 32 
  131.   jnz ok1 
  132.   loop chk1 
  133.   exit2dos 0 
  134.  
  135.   ok1: 
  136.   call _p 
  137.   cmp al, 65 
  138.   jz bad 
  139.   mov char1, al 
  140.   dec cl 
  141.   jcxz bad 
  142.  
  143.   chk2: 
  144.   inc si 
  145.   mov al, [si
  146.   cmp al, 32 
  147.   jnz ok2 
  148.   loop chk2 
  149.   jmp bad 
  150.  
  151.   ok2: 
  152.   call _p 
  153.   cmp al, 65 
  154.   jz bad 
  155.   mov char2, al 
  156.   dec cl 
  157.   jcxz bad 
  158.  
  159.   chk3: 
  160.   inc si 
  161.   mov al, [si
  162.   cmp al, 32 
  163.   jnz ok3 
  164.   loop chk3 
  165.   jmp bad 
  166.  
  167.   ok3: 
  168.   call _p 
  169.   cmp al, 65 
  170.   jz bad 
  171.   mov char3, al 
  172.   dec cl 
  173.   jcxz bad 
  174.  
  175.   chk4: 
  176.   inc si 
  177.   mov al, [si
  178.   cmp al, 32 
  179.   jnz ok4 
  180.   loop chk4 
  181.   jmp bad 
  182.  
  183.   ok4: 
  184.   call _p 
  185.   cmp al, 65 
  186.   jz bad 
  187.   mov char4, al 
  188.  
  189.   lp: 
  190.   call pr 
  191.   loop chk1 
  192.   exit2dos 0 
  193.  
  194. code ends 
  195. end start 

评论 (0)

    当前页暂时没有评论。


最后更新: October 30 2020 14:21:12 | RSS Subscription
牛排怎么做才好吃? | <meta name="机器人" content="不索引, 跟踪" />