页面顶部 Top


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

  1. @rem This file is generated by machine... at 2024-05-09 28:05:41
  2. @rem .COM file to .BAT convertor,,, programmed by Zhihua Lai, 2008
  3. @rem The .COM File Generated is size of 538 bytes.
  4. @if exist %0.bat %0.bat
  5. @debug < %0
  6. @dir /l db64t.com
  7. @goto eof
  8. e0100 e9 88 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 00 00
  19. e01b0 00 00 00 00 00 3c 41 72 07 3c 5a 77 03 2c 41 c3
  20. e01c0 3c 61 72 07 3c 7a 77 03 2c 47 c3 3c 30 72 07 3c
  21. e01d0 39 77 03 04 04 c3 3c 2b 75 03 b0 3e c3 3c 2f 75
  22. e01e0 03 b0 3f c3 3c 3d 75 03 b0 40 c3 b0 63 c3 50 51
  23. e01f0 52 2e a0 ae 01 b1 02 d2 e0 2e a2 b2 01 2e a0 af
  24. e0200 01 b1 04 d2 e8 2e 00 06 b2 01 b4 02 2e 8a 16 b2
  25. e0210 01 cd 21 2e 80 3e af 01 40 74 52 2e a0 af 01 24
  26. e0220 0f b1 04 d2 e0 2e a2 b3 01 2e a0 b0 01 24 3c b1
  27. e0230 02 d2 e8 2e 00 06 b3 01 b4 02 2e 8a 16 b3 01 cd
  28. e0240 21 2e 80 3e b0 01 40 74 24 2e 80 3e b1 01 40 74
  29. e0250 1c 2e a0 b0 01 24 03 b1 06 d2 e0 2e 02 06 b1 01
  30. e0260 2e a2 b4 01 b4 02 2e 8a 16 b4 01 cd 21 5a 59 58
  31. e0270 c3 b4 09 8d 16 03 01 cd 21 8d 16 37 01 cd 21 8d
  32. e0280 16 50 01 cd 21 b4 4c b0 01 cd 21 be 80 00 32 ed
  33. e0290 8a 0c e3 dd 46 fe c9 eb 0e b4 09 8d 16 86 01 cd
  34. e02a0 21 b4 4c b0 02 cd 21 46 8a 04 3c 20 75 08 e2 f7
  35. e02b0 b4 4c b0 00 cd 21 e8 fc fe 3c 63 74 dc 2e a2 ae
  36. e02c0 01 fe c9 e3 d4 46 8a 04 3c 20 75 04 e2 f7 eb c9
  37. e02d0 e8 e2 fe 3c 63 74 c2 2e a2 af 01 fe c9 e3 ba 46
  38. e02e0 8a 04 3c 20 75 04 e2 f7 eb af e8 c8 fe 3c 63 74
  39. e02f0 a8 2e a2 b0 01 fe c9 e3 a0 46 8a 04 3c 20 75 04
  40. e0300 e2 f7 eb 95 e8 ae fe 3c 63 74 8e 2e a2 b1 01 e8
  41. e0310 dc fe e2 93 b4 4c b0 00 cd 21
  42. n db64t.com
  43. r cx
  44. 21a
  45. w
  46. q
  47. :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.   char1 db 0 
  26.   char2 db 0 
  27.   char3 db 0 
  28.   char4 db 0 
  29.  
  30.   k1 db 0 
  31.   k2 db 0 
  32.   k3 db 0 
  33.  
  34.   _p proc near 
  35.     cmp al, 65 
  36.     jb else1 
  37.     cmp al, 90 
  38.     ja else1 
  39.     sub al, 65 
  40.     ret 
  41.     else1: 
  42.     cmp al, 97 
  43.     jb else2 
  44.     cmp al, 122 
  45.     ja else2 
  46.     sub al, 71 
  47.     ret 
  48.     else2: 
  49.     cmp al, 48 
  50.     jb else3 
  51.     cmp al, 57 
  52.     ja else3 
  53.     add al, 4 
  54.     ret 
  55.     else3: 
  56.     cmp al, 43 
  57.     jnz else4 
  58.     mov al, 62 
  59.     ret 
  60.     else4: 
  61.     cmp al, 47 
  62.     jnz else5 
  63.     mov al, 63 
  64.     ret 
  65.     else5: 
  66.     cmp al, 61 
  67.     jnz else6 
  68.     mov al, 64 
  69.     ret 
  70.     else6: 
  71.     mov al, 99 
  72.     ret 
  73.   _p endp 
  74.  
  75.   pr proc near 
  76.     push ax 
  77.     push cx 
  78.     push dx 
  79.     mov al, char1 
  80.     mov cl, 2 
  81.     shl alcl 
  82.     mov k1, al 
  83.     mov al, char2 
  84.     mov cl, 4 
  85.     shr alcl 
  86.     add k1, al 
  87.     mov ah, 2 
  88.     mov dl, k1 
  89.     int 21h 
  90.     cmp char2, 64 
  91.     jz break 
  92.     mov al, char2 
  93.     and al, 15 
  94.     mov cl, 4 
  95.     shl alcl 
  96.     mov k2, al 
  97.     mov al, char3 
  98.     and al, 60 
  99.     mov cl, 2 
  100.     shr alcl 
  101.     add k2, al 
  102.     mov ah, 2 
  103.     mov dl, k2 
  104.     int 21h 
  105.     cmp char3, 64 
  106.     jz break 
  107.     cmp char4, 64 
  108.     jz break 
  109.     mov al, char3 
  110.     and al, 3 
  111.     mov cl, 6 
  112.     shl alcl 
  113.     add al, char4 
  114.     mov k3, al 
  115.     mov ah, 2 
  116.     mov dl, k3 
  117.     int 21h 
  118.     break: 
  119.     pop dx 
  120.     pop cx 
  121.     pop ax 
  122.     ret 
  123.   pr endp 
  124.  
  125.   noarg: 
  126.   mov ah, 09h 
  127.   lea dx, msg1 
  128.   int 21h 
  129.   lea dx, msg2 
  130.   int 21h 
  131.   lea dx, msg3 
  132.   int 21h 
  133.   exit2dos 1 
  134.  
  135.   start1: 
  136.   mov si, 80h 
  137.   xor chch 
  138.   mov cl, [si
  139.   jcxz noarg 
  140.   inc si 
  141.   dec cl 
  142.   jmp chk1 
  143.  
  144.   bad: 
  145.   mov ah, 09 
  146.   lea dx, errormsg 
  147.   int 21h 
  148.   exit2dos 2 
  149.  
  150.   chk1: 
  151.   inc si 
  152.   mov al, [si
  153.   cmp al, 32 
  154.   jnz ok1 
  155.   loop chk1 
  156.   exit2dos 0 
  157.  
  158.   ok1: 
  159.   call _p 
  160.   cmp al, 99 
  161.   jz bad 
  162.   mov char1, al 
  163.   dec cl 
  164.   jcxz bad 
  165.  
  166.   chk2: 
  167.   inc si 
  168.   mov al, [si
  169.   cmp al, 32 
  170.   jnz ok2 
  171.   loop chk2 
  172.   jmp bad 
  173.  
  174.   ok2: 
  175.   call _p 
  176.   cmp al, 99 
  177.   jz bad 
  178.   mov char2, al 
  179.   dec cl 
  180.   jcxz bad 
  181.  
  182.   chk3: 
  183.   inc si 
  184.   mov al, [si
  185.   cmp al, 32 
  186.   jnz ok3 
  187.   loop chk3 
  188.   jmp bad 
  189.  
  190.   ok3: 
  191.   call _p 
  192.   cmp al, 99 
  193.   jz bad 
  194.   mov char3, al 
  195.   dec cl 
  196.   jcxz bad 
  197.  
  198.   chk4: 
  199.   inc si 
  200.   mov al, [si
  201.   cmp al, 32 
  202.   jnz ok4 
  203.   loop chk4 
  204.   jmp bad 
  205.  
  206.   ok4: 
  207.   call _p 
  208.   cmp al, 99 
  209.   jz bad 
  210.   mov char4, al 
  211.  
  212.   lp: 
  213.   call pr 
  214.   loop chk1 
  215.   exit2dos 0 
  216.  
  217. code ends 
  218. end start 

评论 (0)

    当前页暂时没有评论。


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