Jump to content

DkCd

Miembros
  • Posts

    2,370
  • Joined

  • Last visited

Everything posted by DkCd

  1. Con todo el respeto a los jugadores de dota 3v3 es como jugar ajadrez sin reyes
  2. Dota se puede simplificar a varios pasos bastantes simples: 1-Escoga un heroe que se bueno para hacer ks 2-Haga ks a TODOS los heroes 3-Compre Dagon y si ya lo tiene compre un upgrade 4-Repita paso 2 y 3 5-...? 6-Profit
  3. DkCd

    Bush in Fallout 3

  4. ese codigo esta modificado no es un copy paste... y entiendo lo que hace cada pedazo x eso estan los comments, tons si aprendi emsamblador!!!!!!
  5. Ok, luego de ver varios ejemplos consegui una calculadora y le modifique para que solo sumara y restara, pero veo que se ve como muy complicada para alguien que solo llevo una clase de esta vara... Deberia simplificarla mas?? name "Proyecto2" PUTC MACRO char PUSH AX MOV AL, char MOV AH, 0Eh INT 10h POP AX ENDM org 100h jmp start ; variables msg1 db 0Dh,0Ah, 'Digite el primer numero: $' msg2 db "Digite el simbolo correspondiente a la operacion deseada: + - : $" msg3 db "Digite el segundo numero: $" msg4 db 0dh,0ah , 'El resultado es : $' msg5 db 0dh,0ah ,'Presione la tecla "s" para salir : ', 0Dh,0Ah, '$' err1 db "Simbolo de operacion incorrecto!", 0Dh,0Ah , '$' opr db '?' num1 dw ? num2 dw ? start: ;mov dx, offset msg0 lea dx, msg1 mov ah, 09h int 21h call scan_num ; guarda el primer numero digitado mov num1, cx ;nueva linea creada putc 0Dh putc 0Ah lea dx, msg2 mov ah, 09h int 21h ;aqui se obtiene el operador mov ah, 1 ; entra un char al AL. int 21h mov opr, al ;nueva linea creada putc 0Dh putc 0Ah cmp opr, 's'; s para salida del programa je exit lea dx, msg3 mov ah, 09h int 21h call scan_num ; se guarda el segundo numero digitado mov num2, cx lea dx, msg4 mov ah, 09h int 21h ; calculate: cmp opr, '+' je do_plus cmp opr, '-' je do_minus wrong_opr: lea dx, err1 mov ah, 09h int 21h exit: lea dx, msg5 mov ah, 09h int 21h ;esperar a que una tecla sea presionada mov ah, 0 int 16h ret;retornar al OS do_plus: mov ax, num1 add ax, num2 call print_num ; imprime el valor de ax. jmp exit do_minus: mov ax, num1 sub ax, num2 call print_num ; imprime el valor de ax. jmp exit SCAN_NUM PROC NEAR PUSH DX PUSH AX PUSH SI MOV CX, 0 ; bandera en reset MOV CS:make_minus, 0 next_digit: ; obtiene un char del teclado ; into AL: MOV AH, 00h INT 16h ; y lo imprime: MOV AH, 0Eh INT 10h ; checkea el MINUS: CMP AL, '-' JE set_minus ; checkea el ENTER: CMP AL, 0Dh ; carriage return? JNE not_cr JMP stop_input not_cr: CMP AL, 8 ; pregunta si el 'BACKSPACE' fue presionado? JNE backspace_checked MOV DX, 0 ; removueva el ultimo digito MOV AX, CX ; division: ; DIV CS:ten ; MOV CX, AX PUTC ' ' ; clear position. PUTC 8 ; backspace de nuevo. JMP next_digit backspace_checked: ; allow only digits: CMP AL, '0' JAE ok_AE_0 JMP remove_not_digit ok_AE_0: CMP AL, '9' JBE ok_digit remove_not_digit: PUTC 8 ; backspace. PUTC ' ' PUTC 8 ; backspace again. JMP next_digit; espera por la siguiente entrada. ok_digit: ; multiplica CX por 10 (la primera vez el resultado es zero) PUSH AX MOV AX, CX MUL CS:ten ; DX:AX = AX*10 MOV CX, AX POP AX ; checkea si el numero es muy grande CMP DX, 0 JNE too_big ; convertir del codigo ASCII: SUB AL, 30h ; add AL to CX: MOV AH, 0 MOV DX, CX ADD CX, AX JC too_big2 JMP next_digit set_minus: MOV CS:make_minus, 1 JMP next_digit too_big2: MOV CX, DX MOV DX, 0 too_big: MOV AX, CX DIV CS:ten ; reverse last DX:AX = AX*10, make AX = DX:AX / 10 MOV CX, AX PUTC 8 ; backspace. PUTC ' ' PUTC 8 ; backspace again. JMP next_digit; esperar a que Enter/Backspace sean presionados. stop_input: ; checkear la bandera: CMP CS:make_minus, 0 JE not_minus NEG CX not_minus: POP SI POP AX POP DX RET make_minus DB ? ;usado como bandera. SCAN_NUM ENDP ;imprime el numero en AX ; usa PRINT_NUM_UNS para imprimir los numeros: PRINT_NUM PROC NEAR PUSH DX PUSH AX CMP AX, 0 JNZ not_zero PUTC '0' JMP printed not_zero: ; revisa el signo de AX ; make absolute if it's negative: CMP AX, 0 JNS positive NEG AX PUTC '-' positive: CALL PRINT_NUM_UNS printed: POP AX POP DX RET PRINT_NUM ENDP ; allowed values are from 0 to 65535 (FFFF) PRINT_NUM_UNS PROC NEAR PUSH AX PUSH BX PUSH CX PUSH DX ; la bandera para prevenir imprimir zeros antes del número: MOV CX, 1 ; (el resultado de "/ 10000" siempre es menor o igual que 9). MOV BX, 10000 ; 2710h - divider. ; AX is zero? CMP AX, 0 JZ print_zero begin_print: CMP BX,0 JZ end_print ; la bandera para prevenir imprimir zeros antes del número: CMP CX, 0 JE calc ; if AX<BX then result of DIV will be zero: CMP AX, BX JB skip calc: MOV CX, 0 ; set flag. MOV DX, 0 DIV BX ; AX = DX:AX / BX (DX=remainder). ; print last digit ; AH is always ZERO, so it's ignored ADD AL, 30h ; convert to ASCII code. PUTC AL MOV AX, DX ; get remainder from last div. skip: ; calculate BX=BX/10 PUSH AX MOV DX, 0 MOV AX, BX DIV CS:ten ; AX = DX:AX / 10 (DX=remainder). MOV BX, AX POP AX JMP begin_print print_zero: PUTC '0' end_print: POP DX POP CX POP BX POP AX RET PRINT_NUM_UNS ENDP ten DW 10 ; used as multiplier/divider by SCAN_NUM & PRINT_NUM_UNS. GET_STRING PROC NEAR PUSH AX PUSH CX PUSH DI PUSH DX MOV CX, 0 ; char counter. CMP DX, 1 ; buffer too small? JBE empty_buffer ; DEC DX ; reserve space for last zero. ;============================ ; loop infinito para obtener ; y procesar la tecla presionada: wait_for_key: MOV AH, 0 ; obtener tecla presionada. INT 16h CMP AL, 0Dh ; 'RETURN' JZ exit_GET_STRING CMP AL, 8 ; 'BACKSPACE' JNE add_to_buffer JCXZ wait_for_key ; nothing to remove! DEC CX DEC DI PUTC 8 ; backspace. PUTC ' ' ;limpiar posicion. PUTC 8 ; backspace. JMP wait_for_key add_to_buffer: CMP CX, DX ; buffer esta lleno? JAE wait_for_key ; if so wait for 'BACKSPACE' or 'RETURN'... MOV [DI], AL INC DI INC CX ; imprimir simbolo: MOV AH, 0Eh INT 10h JMP wait_for_key ;============================ exit_GET_STRING: ; terminate by null: MOV [DI], 0 empty_buffer: POP DX POP DI POP CX POP AX RET GET_STRING ENDP
  6. A mi tampoco me interesa, y no se NADA, el problema fue que el profe tuvo no se que problemas tuvo tons solo tuvimos una clase de ensamblador x eso nos dio esta tarea tan facilita para proyecto, lo que pasa es que como ya dije, no se nada :S
  7. Ok, no se programar en ensamblador y tengo que hacer una tarea para mañana, aqui ta el enunciado Buscando por la interwabz codigos ejemplo me encontre esto org 100h jmp start; skip data. msg1 db 0Dh,0Ah, 'input numbers in this range: [-32768..32767]', 0Dh,0Ah db 0Dh,0Ah, 'enter first number: $' msg2 db 0Dh,0Ah, 'enter second number: $' msg3 db 0Dh,0Ah, 'the sum is: $' ; declaration of variable: num dw ? start: ; print first message mov dx, offset msg1 mov ah, 9 int 21h call scan_num ; keep first number: mov num, cx ; print second message mov dx, offset msg2 mov ah, 9 int 21h call scan_num ; add numbers: add num, cx jo overflow ; print the result: mov dx, offset msg3 mov ah, 9 int 21h mov ax, num call print_num jmp exit ; process overlow error: overflow: printn 'we have overflow!' exit: ; wait for any key press: mov ah, 0 int 16h ret; return control to operating system. Alguien conoce algo sobre esta cosa, halp :S
  8. le doy $299
  9. Di agarra bus de San Jose a San Ramon que salen de la parada por la Coca Cola creo y apunta uno de los numeros de los maes del torneo y cuando llega alla los llama
  10. Song http://www.youtube.com/watch?v=TvKF5F-wcPU Lyrics http://matthewebel.com/main/music/everybody-needs-a-ninja/
  11. DkCd

    Info Torneo San Ramon

    afaik.... AoW, semi cT, vT y un equipo de San Jose van a ir... no se como estara la vara con los demas equipos
  12. http://cgi.ebay.com/Charlie_W0QQitemZ20028...%3A1|240%3A1318 WAT!!!
  13. Ok ya que hay 3 topic sobre el mismo torneo voy a poner aqui el resume de toda la info ya que vi gente un poco perdida.... Primero que todo el torneo es el doming 21 de diciembre Lugar: G-MELOS Internet San Ramón de Alajuela Premios: 1er lugar 100mil 2do Un BattleChest Costo: 20mil por equipo Cualquier info mas detallada aca estan los numeros de los admins del torneo... 8816-7761 con Mario 8847-4222 con Martín Ahora un poco de info sobre la modalidad en si: Versión a jugar: 6.57b Modalidad: -cm Equipos: 5v5 cada equipo puede llevar 2 subs Si desean inscribir un equipo llamen a cualquiera de esos numeros para que les den el numero de cuenta de banco y puedan pagar el deposito, si desean direccion exacta del lugar llamen a ese mismo numero.... Departe mia y de todo AoW esperamos verlos ahi ya que el equipo esta buscando gente con talento para poder llenar campos en AoW en un futuro cercano! Tambien para cualquier persona que desee un scrim o cw contra AoW avisar a cualquiera de los integrantes o postear en este topic para ponernos de acuerdo... Mi msn es dkcd_vkd2@hotmail.com
  14. No no se, ademas no lo deja crear un topic ahi xq esa seccion es solo para premium members
  15. lol yo tengo 2 megas.... tendria 4 tons?
  16. Aca pongo algunos ejemplos de canciones de video juego que me gustan demasiado y le dan ese extra que todo gran juego necesita!!! Final Fantasy x - To Zanarkand The Curse of the Monkey Island Theme ----> Insane Game btw!! Conforme me acuerde agrego mas... Agregen ustedes tambien
  17. DkCd

    LFG!!!

    @ OP = Q significa LFG?? @ Zany = Q tiene que ver ese motivational?
  18. Sea tan bruto pino para eso estan los numeros de telefono llame ud
  19. Hola Gali!!
  20. Les recomiendo apuntarse a este torneo va a estar bastante bueno y a lo que tengo informado va ir bastante gente que esta aprendiendo tons ahi no va a haber mucha diferencia de nivel en general.... Go go go DOTA!!
  21. Aparte de w3 tiene Smash y otros juegos de consola que son bastante jugados por mucha gente...
  22. Luego de hablar con el admin del evento me dijo si podria hacerle el favor de preguntarle a la gente como les quedaria pasar el torneo al 21 de dic ya que el 14 es la misma fecha del monster festival y muchos equipo que se habian apuntado van para san jose en esas fechas ideas???
  23. Click here for epic thread
×
×
  • Create New...