Advertisement
Guest User

ćw1_asembler

a guest
Jun 15th, 2022
343
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
text 1.18 KB | None | 0 0
  1. ; IN: n
  2. ; OUT: kwadrat z '*' (petla na skokach war)
  3. .286
  4. .model small
  5. .stack 100h
  6. .data
  7. podajn db 'n=$'
  8. n dw ?
  9. .code
  10. start: mov ax,seg @data
  11. mov ds,ax
  12.  
  13. mov dx,offset podajn
  14. mov ah,9
  15. int 21h
  16. call wczytaj
  17. mov n,ax
  18.  
  19. mov ah,2
  20. mov dl,10
  21. int 21h
  22.  
  23. mov ax,n
  24. push ax
  25. call kwadrat
  26. add sp,2
  27.  
  28. koniec: mov ax,4c00h
  29. int 21h
  30.  
  31. kwadrat proc
  32. mov bp,sp
  33. mov cx,[bp+2]
  34. mov ah,2
  35. mov si,1
  36. @@petz: cmp si,cx
  37. ja @@kon
  38. mov di,1
  39. @@petw: cmp di,cx
  40. ja @@dal
  41. cmp si,1 ;gorny bok
  42. je @@gwia ;gorny bok
  43. cmp si,cx ;dolny bok
  44. je @@gwia ;dolny bok
  45. cmp di,1 ;lewy bok
  46. je @@gwia ;lewy bok
  47. cmp di,cx ;prawy bok
  48.  
  49.  
  50. je @@gwia ;prawy bok
  51. cmp di,si ;przekatna lewo gora prawo dol
  52. je @@gwia ;przekatna lewo gora prawo dol
  53. mov bx,si
  54. add bx,di
  55. dec bx
  56. cmp bx,cx
  57. je @@gwia
  58. mov dl,' '
  59. jmp @@hop
  60. @@gwia: mov dl,'*'
  61. @@hop: int 21h
  62. inc di
  63. jmp @@petw
  64. @@dal: mov dl,10
  65. int 21h
  66. inc si
  67. jmp @@petz
  68. @@kon: ret
  69. kwadrat endp
  70.  
  71. wczytaj proc
  72. mov ax,0
  73. mov cx,0ah
  74. @@pet: xchg ax,bx
  75. mov ah,01h
  76. int 21h
  77. xchg ax,bx
  78. cmp bl,'0'
  79. jb @@kon
  80. cmp bl,'9'
  81. ja @@kon
  82. mul cx
  83. and bx,0fh
  84. add ax,bx
  85. jmp @@pet
  86. @@kon: ret
  87. wczytaj endp
  88.  
  89. end start
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement