• Viernes 29 de Marzo de 2024, 02:08

Autor Tema:  modo de vidio 13h  (Leído 2919 veces)

wilferson

  • Nuevo Miembro
  • *
  • Mensajes: 11
    • Ver Perfil
modo de vidio 13h
« en: Sábado 13 de Junio de 2009, 21:49 »
0
este es un codigo que escribi y me gustaria que me ayudaran a corregir errores (si no les molesta mucho) funciona en fasm
Código: ASM
  1. format mz                              
  2. format mz                                          
  3. y2 db ?                                            
  4. x2 db ?                                            
  5.                                                    
  6.                                                    
  7.      ;;MODO 13h    ;;                              
  8.      ;;____________;;                              
  9.        mov ah,0h   ;;                              
  10.        mov al,13h  ;;                              
  11.        int 10h     ;;                              
  12.      ;;____________;;                              
  13.                                                    
  14. mov cx,50                                          
  15. mov dx,10                                          
  16. mov al,02h                                        
  17. call pix                                          
  18. call readKEY                                      
  19.                                                    
  20.                                                    
  21.                                                    
  22.                                                    
  23.                                                    
  24.                                                    
  25. pix:                                              
  26.                                                    
  27.         ;;pixel(X=dx Y=cx)                        
  28.         ;;____________;;                          
  29.         mov ah,0ch ;;                              
  30.          ;;                                        
  31.         mov bh,0h  ;;                              
  32.         int 10h    ;;                              
  33.                                                    
  34. ret                                                
  35. readKEY:                                          
  36.         xor ah,ah                                  
  37.         int 16h                                    
  38.         cmp al,1bh                                
  39.             je fin                                
  40. ll2:                                              
  41.         cmp al,77h                                
  42.             je subir                              
  43.         cmp al,73h                                
  44.             je bajar                              
  45.         cmp al,64h                                
  46.             je rojo                                
  47.         cmp al,61h                                
  48.             je azul                                
  49.         cmp al,20h                                
  50.             je borrar                              
  51.         cmp al,6ch                                
  52.             je linead                              
  53.             jmp readKEY                            
  54.                                                    
  55. subir:                                            
  56.                                                    
  57.         sub dx,1h                                  
  58.         call pix                                  
  59.             jmp readKEY                            
  60. bajar:                                            
  61.         add dx,1h                                  
  62.         mov al,07h                                
  63.         call pix                                  
  64.             jmp readKEY                            
  65. rojo:                                              
  66.        mov al,04h                                  
  67.        add cx,01h                                  
  68.        call pix                                    
  69.             jmp readKEY                            
  70. azul:                                              
  71.         sub cx,01h                                
  72.         mov al,1h                                  
  73.         call pix                                  
  74.                                                    
  75.             jmp readKEY                            
  76. borrar:                                            
  77.                                                    
  78.         mov dx,0h                                  
  79.                                                    
  80. continuar_filas:                                  
  81.         mov cx,0h                                  
  82. continuar_columnas:                                
  83.                                                    
  84.          mov ah,0ch                                
  85.          mov al,00h                                
  86.          mov bh,0h                                
  87.          int 10h                                  
  88.                                                    
  89.         add cx,1h                                  
  90.         cmp cx,0140h                              
  91.                                                    
  92.              jz terminar_columnas                  
  93.              jmp continuar_columnas                
  94. terminar_columnas:                                
  95.         add dx,1h                                  
  96.         cmp dx,0dch                                
  97.             jz terminar_filas                      
  98.             jmp continuar_filas                    
  99. terminar_filas:                                    
  100.         mov cx,50                                  
  101.         mov dx,10                                  
  102.         call pix                                  
  103. jmp readKEY                                        
  104.                                                    
  105. fin:                                              
  106.         mov ah,0                                  
  107.         mov al,3h                                  
  108.         int 10h                                    
  109.         mov ax, 4C00h                              
  110.         int 21h                                    
  111.                                                    
  112. ret                                                
  113.                                                    
  114. linea:  ;dx=x1 [x2]                                
  115. ll1:                                              
  116.         cmp dl,[x2]                                
  117.             je fin_x                              
  118.         add dl,01h                                
  119.         cmp cl,[y2]                                
  120.             je fin_y                              
  121.         add cl,01h                                
  122.                                                    
  123.         call pix                                  
  124. fin_x:                                            
  125.         cmp cl,[y2]                                
  126.             je fin_l                              
  127.             jmp ll1                                
  128. fin_y:                                            
  129.         cmp dl,[x2]                                
  130.             je fin_l                              
  131.             jmp ll1                                
  132. fin_l:                                            
  133. ret                                                
  134.                                                    
  135. linead:                                            
  136. mov cl,25h                                        
  137. mov dl,25h                                        
  138. mov [x2],60h                                      
  139. mov [y2],60h                                      
  140. call linea                                        
  141. jmp readKEY                                                          
  142.                                        
  143.  

m0skit0

  • Miembro de PLATA
  • *****
  • Mensajes: 2337
  • Nacionalidad: ma
    • Ver Perfil
    • http://fr33kk0mpu73r.blogspot.com/
Re: modo de vidio 13h
« Respuesta #1 en: Domingo 14 de Junio de 2009, 11:57 »
0
Cita de: "wilferson"
me gustaria que me ayudaran a corregir errores
No hay problema, pero si especificas cuáles son, nos ahorramos tener que bucear por todo el código y centrarnos en las partes problemáticas.

Un saludo

wilferson

  • Nuevo Miembro
  • *
  • Mensajes: 11
    • Ver Perfil
Re: modo de vidio 13h
« Respuesta #2 en: Lunes 15 de Junio de 2009, 22:42 »
0
como e visto otros programas en emsamblador pense que este estaba mal estructurado

gracias por responder

Eternal Idol

  • Moderador
  • ******
  • Mensajes: 4696
  • Nacionalidad: ar
    • Ver Perfil
Re: modo de vidio 13h
« Respuesta #3 en: Lunes 15 de Junio de 2009, 23:08 »
0
Y ... ¿¿Ensambla?? No tengo ganas de probar pero no veo segmento de datos, segmento de codigo, funcion de entrada (main).

Nacional y Popular En mi país la bandera de Eva es inmortal.


Queremos una Argentina socialmente justa, económicamente libre y  políticamente soberana.
¡Perón cumple, Evita dignifica!


La mano invisible del mercado me robo la billetera.

wilferson

  • Nuevo Miembro
  • *
  • Mensajes: 11
    • Ver Perfil
Re: modo de vidio 13h
« Respuesta #4 en: Martes 16 de Junio de 2009, 02:45 »
0
si se emsambla solo que hay puse dos veces "format mz" pero ensambla.

m0skit0

  • Miembro de PLATA
  • *****
  • Mensajes: 2337
  • Nacionalidad: ma
    • Ver Perfil
    • http://fr33kk0mpu73r.blogspot.com/
Re: modo de vidio 13h
« Respuesta #5 en: Martes 16 de Junio de 2009, 09:33 »
0
¿Y qué tal si pones comentarios en el código? Nadie te va a comer por ello, jejejeje...

Eternal Idol

  • Moderador
  • ******
  • Mensajes: 4696
  • Nacionalidad: ar
    • Ver Perfil
Re: modo de vidio 13h
« Respuesta #6 en: Martes 16 de Junio de 2009, 10:18 »
0
Bueno, las variables no pueden ir ahi, SE EJECUTAN tal y como estan (dos bytes a 0, add [bx+si], al) ...

¿Cual es el/los problema/s? ¿Las letras que hacen las funciones no son las que queres? ¿La linea no se dibuja adecuadamente? No tenemos bola de cristal aca.

Nacional y Popular En mi país la bandera de Eva es inmortal.


Queremos una Argentina socialmente justa, económicamente libre y  políticamente soberana.
¡Perón cumple, Evita dignifica!


La mano invisible del mercado me robo la billetera.