CALC

Posted on April 15, 2010, 2:07 am UTC by Iago Sousa (about 1 year ago)

Code (highlighted for ASM)

  1. a 100
  2. mov dx, 0182
  3. mov ah, 09
  4. int 21
  5. mov dx, 0192
  6. int 21
  7. xor ax, ax
  8. int 16
  9. sub al, 30
  10. cmp al, 01
  11. jl 0181
  12. cmp al, 04
  13. jg 0181
  14. cmp al, 01
  15. je 012A
  16. cmp al, 02
  17. je 0100
  18. cmp al, 03
  19. je 0100
  20. cmp al, 04
  21. je 0100
  22. mov dx, 01C8
  23. mov ah, 09
  24. int 21
  25. mov si, 0212
  26. call 0170
  27. mov dx, 01E4
  28. mov ah, 09
  29. int 21
  30. mov si, 0276
  31. call 0170
  32. mov ax, [0212]
  33. add ax, [0276]
  34. mov si, 0300
  35. mov [si], ax
  36. xor di, di
  37. call 0163
  38. mov al, 24
  39. inc di
  40. mov [di], al
  41. mov dx, 0300
  42. mov ah, 09
  43. int 21
  44. jmp 0170
  45. mov al, [si]
  46. cmp al, 0
  47. je 016F
  48. inc di
  49. add al, 30
  50. inc si
  51. mov [si], al
  52. cmp al, 0
  53. jne 0163
  54. ret
  55. mov ah, 01
  56. int 21
  57. cmp al, 0D
  58. je 0181
  59. inc si
  60. mov [si], al
  61. jmp 0170
  62. mov al, 24
  63. mov [si], al
  64. ret
  65. dw "CALCULATOR", 0A, 0D, 24
  66. dw "1. To Sum", 0A, 0D
  67. dw "2. To Sub", 0A, 0D
  68. dw "3. To Div", 0A, 0D
  69. dw "4. To Mul", 0A, 0D, 24
  70. dw "Digite o primeiro numero: ", 24
  71. dw "Digite o segundo numero: ", 24
  72. dw "O resultado deu: ", 24

Comments

Calculadora incompleta.