Advertisement
Guest User

Untitled

a guest
Oct 24th, 2017
74
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
  1.  
  2. Code    Segment
  3.     assume CS:Code, DS:Data, SS:Stack
  4.  
  5. Start:
  6.     mov ax, Code
  7.     mov DS, AX
  8.    
  9.     ;Inicializálás
  10.     mov cx, 100 ;X koordináta
  11.     mov dx, 100 ;Y koordináta
  12.     push dx
  13.     push cx
  14.    
  15.     mov si, 0
  16.    
  17.     ;Üzemmód váltás
  18.     mov ax, 4F02H   ;Super VGA mód
  19.     mov bx, 101h    ;640x480
  20.     int 10h
  21.    
  22.     ;Képernyő memória beállítás
  23.     mov ax, 0a000h  ;Videó kezdőcím
  24.     mov es, ax      ;Extra szegmens
  25.    
  26.     ;Pixel helyének számítása: Pixel = Y * 320 + X
  27. Rajz:
  28.     pop cx      ;cx <- X
  29.     pop dx      ;dh <- Y   
  30.     mov ax, dx  ;ax <- Y
  31.     push dx
  32.     push cx
  33.     mov bx, 640
  34.     mul bx      ;Y koordináta * 640
  35.     pop cx      ;cx <- X
  36.     pop dx
  37.     add ax, cx  ;X koordináta hozzáadása
  38.     jnc Pixel
  39.     inc ah
  40.    
  41.     ;Pixel kirajzolás
  42. Pixel:
  43.     push dx
  44.     push cx
  45.     mov di, ax
  46.     mov ax, si      ;Pixel színe
  47.     mov es:[di], al ;videó memóriában beállítja a megfelelő pixel színét
  48.    
  49.     ;Bevitel
  50. Var:
  51.     xor ah, ah
  52.     int 16h
  53.    
  54.     cmp al, 27
  55.     jz  Program_Vege   
  56.    
  57.     cmp ah, 75
  58.     jz Balra
  59.    
  60.     cmp ah, 77
  61.     jz Jobbra
  62.    
  63.     cmp ah, 72
  64.     jz Felfele
  65.    
  66.     cmp ah, 80
  67.     jz Lefele
  68.    
  69.     cmp al, '0'
  70.     jnc SzinValtasLehetosege
  71.    
  72.     jmp Var
  73.    
  74. SzinValtasLehetosege:
  75.     cmp al, ':'
  76.     jnc Var
  77.    
  78.     sub al, 48 
  79.     mov si, ax
  80.    
  81.     jmp Var
  82.    
  83. Balra:
  84.     pop cx
  85.     pop dx
  86.     dec cx
  87.     cmp cx, 1
  88.     jnc Tarol
  89.     inc cx
  90.     jmp Tarol
  91.    
  92. Jobbra:
  93.     pop cx
  94.     pop dx
  95.     inc cx
  96.     cmp cx, 640
  97.     jc Tarol
  98.     dec cx
  99.     jmp Tarol
  100.    
  101. Felfele:
  102.     pop cx
  103.     pop dx
  104.     dec dx
  105.     cmp dx, 1
  106.     jnc Tarol
  107.     inc dx
  108.     jmp Tarol
  109.    
  110. Lefele:
  111.     pop cx
  112.     pop dx
  113.     inc dx
  114.     cmp dx, 480
  115.     jc Tarol
  116.     dec dx
  117.     jmp Tarol
  118.    
  119. Tarol:
  120.     push dx
  121.     push cx
  122.     jmp Rajz
  123.  
  124. Program_Vege:
  125.     mov ax, 03h
  126.     int 10h
  127.     pop dx
  128.     pop cx
  129.     mov ax, 4c00h
  130.     int 21h
  131.  
  132.  
  133. Code    Ends
  134.  
  135. Data    Segment
  136.  
  137. Data    Ends
  138.  
  139. Stack   Segment
  140.  
  141. Stack   Ends
  142.     End Start
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement