elhacker.net cabecera Bienvenido(a), Visitante. Por favor Ingresar o Registrarse
¿Perdiste tu email de activación?.

 

 


Tema destacado: AIO elhacker.NET 2021 Compilación herramientas análisis y desinfección malware


+  Foro de elhacker.net
|-+  Programación
| |-+  Programación General
| | |-+  ASM (Moderador: Eternal Idol)
| | | |-+  2 codigos sencillos... Para los que les pueda interesar.
0 Usuarios y 1 Visitante están viendo este tema.
Páginas: [1] Ir Abajo Respuesta Imprimir
Autor Tema: 2 codigos sencillos... Para los que les pueda interesar.  (Leído 4,932 veces)
-Gosw-

Desconectado Desconectado

Mensajes: 207

Ing. Electrónico


Ver Perfil WWW
2 codigos sencillos... Para los que les pueda interesar.
« en: 27 Mayo 2009, 04:09 am »

Code 1: Especie de Paint (MUYYYYY BASICO ok), me base en el manejo del modo grafico de DOS y el manejo del mouse.


Código
  1. span style="color: #000000; font-weight: bold;"> MODEL SMALL
  2. STACK 256
  3.  
  4. MOSTRAR MACRO M
  5. mov dx,OFFSET &M
  6. call Imprimir
  7. ENDM
  8.  
  9. TERMINAR MACRO
  10. mov ax,4C00h
  11. int 21h
  12. ENDM
  13.  
  14. DETENER MACRO
  15. mov ah,01h
  16. int 21h
  17. ENDM
  18.  
  19. LINEA MACRO
  20. mov dl,0Ah
  21. mov ah,02h
  22. int 21h
  23. ENDM
  24.  
  25. minX EQU 20
  26. minY EQU 40
  27. maxX EQU 500
  28. maxY EQU 280
  29. DATASEG
  30.  
  31. ;--------------------------------------------------------------
  32. Color DB 1 DUP(0)
  33. B_Enc DB '   Especie de Paint v.1.0asm$'
  34. B_Pos DB 'Comenzar$'
  35. B_Com DB 'Limpiar Tabla$'
  36. B_Col DB '   Color del Trazado:$'
  37. B_Sal DB 'Salir$'
  38. ;--------------------------------------------------------------
  39. CODESEG
  40. Inicio: mov ax,@data
  41. mov ds,ax
  42. mov es,ax
  43.  
  44. mov ah,0Fh
  45. int 10h
  46. push ax
  47. call MGrafico
  48. call Encabezado
  49. call Boton_Pos
  50. call Boton_Com
  51. call Boton_Sal
  52. call MMouse
  53. call Lee_Mouse
  54. call OMouse
  55. pop ax
  56. mov ah,00h
  57. int 10h
  58. TERMINAR
  59.  
  60. MGrafico PROC NEAR
  61. mov ax,0012h
  62. int 10h
  63. mov ah,0Bh
  64. mov bx,0000h
  65. int 10h
  66. ret
  67. MGrafico ENDP
  68.  
  69. Imprimir PROC NEAR
  70. push ax
  71. mov ah,09h
  72. int 21h
  73. pop ax
  74. ret
  75. Imprimir ENDP
  76.  
  77. Cursor PROC NEAR
  78. mov ah,02h
  79. mov bh,00h
  80. int 10h
  81. ret
  82. Cursor ENDP
  83.  
  84. Limpiar PROC NEAR
  85.     mov ax,0600h
  86.   mov bx,7100h
  87.     mov cx,00h
  88.     mov dx,174fh
  89.     int 10h
  90.     ret
  91. Limpiar ENDP
  92.  
  93. MMouse PROC NEAR
  94. mov ax,0001h
  95. int 33h
  96. ret
  97. MMouse ENDP
  98.  
  99. OMouse PROC NEAR
  100. mov ax,0002h
  101. int 33h
  102. ret
  103. OMouse ENDP
  104.  
  105. Boton_Pos PROC NEAR
  106. mov dx,82
  107. mov cx,520
  108.  
  109. Inicio_Aqui: mov ah,0Ch
  110. mov al,0Eh
  111. mov bh,00h
  112. int 10h
  113. cmp cx,530
  114. je inc_dx
  115. inc cx
  116. jmp Inicio_Aqui
  117.  
  118. inc_dx: mov cx,520
  119. cmp dx,91
  120. je Continua_Aqui
  121. inc dx
  122. jmp Inicio_Aqui
  123.  
  124. Continua_Aqui: mov cx,000Ah
  125.  
  126. Escribe: mov dx,0543h
  127.  
  128. call Cursor
  129. MOSTRAR B_Pos
  130. ret
  131. Boton_Pos ENDP
  132.  
  133. Boton_Com PROC NEAR
  134. mov dx,130
  135. mov cx,520
  136.  
  137. Inicio_Aqui1: mov ah,0Ch
  138. mov al,0Ah
  139. mov bh,00h
  140. int 10h
  141. cmp cx,530
  142. je inc_dx1
  143. inc cx
  144. jmp Inicio_Aqui1
  145.  
  146. inc_dx1: mov cx,520
  147. cmp dx,139
  148. je Continua_Aqui1
  149. inc dx
  150. jmp Inicio_Aqui1
  151.  
  152. Continua_Aqui1: mov cx,000Ah
  153.  
  154. Escribe1: mov dx,0843h
  155.  
  156. call Cursor
  157. MOSTRAR B_Com
  158. ret
  159. Boton_Com ENDP
  160.  
  161. Boton_Sal PROC NEAR
  162. mov dx,178
  163. mov cx,520
  164.  
  165. Inicio_Aqui3: mov ah,0Ch
  166. mov al,06h
  167. mov bh,00h
  168. int 10h
  169. cmp cx,530
  170. je inc_dx3
  171. inc cx
  172. jmp Inicio_Aqui3
  173.  
  174. inc_dx3: mov cx,520
  175. cmp dx,187
  176. je Continua_Aqui3
  177. inc dx
  178. jmp Inicio_Aqui3
  179.  
  180. Continua_Aqui3: mov cx,000Ah
  181.  
  182. Escribe3: mov dx,0B43h
  183.  
  184. call Cursor
  185. MOSTRAR B_Sal
  186. ret
  187. Boton_Sal ENDP
  188.  
  189. Encabezado PROC NEAR
  190. mov dx,0000h
  191. call Cursor
  192. MOSTRAR B_Enc
  193. ret
  194. Encabezado ENDP
  195.  
  196. Colorcitos PROC NEAR
  197. mov dx,1500h
  198. call Cursor
  199. MOSTRAR B_Col
  200. ret
  201. Colorcitos ENDP
  202.  
  203.  
  204. Terreno PROC NEAR
  205. mov cx,minX
  206. mov dx,minY
  207.  
  208. Inicio_Aqui4: mov ah,0Ch
  209. mov al,0Fh
  210. mov bh,00h
  211. int 10h
  212. cmp cx,maxX
  213. je inc_dx4
  214. inc cx
  215. jmp Inicio_Aqui4
  216.  
  217. inc_dx4: mov cx,minX
  218. cmp dx,maxY
  219. je Continua_Aqui4
  220. inc dx
  221. jmp Inicio_Aqui4
  222.  
  223. Continua_Aqui4: ret
  224. Terreno ENDP
  225.  
  226. Lee_Mouse PROC NEAR
  227. Clic_Izq: mov ax,0003h
  228. int 33h
  229. and bx,0001h
  230. cmp bx,0001h
  231. je Verificar1
  232. jmp Clic_Izq
  233.  
  234. Verificar1: cmp cx,520
  235. jae La_Otra1
  236. jmp Clic_Izq
  237.  
  238. La_Otra1: cmp cx,530
  239. jbe Ahora_dx1
  240. jmp Clic_Izq
  241.  
  242. Ahora_dx1: cmp dx,82
  243. jae Otro_Punto1
  244. jmp Ahora_dx2
  245.  
  246. Otro_Punto1: cmp dx,91
  247. jbe Colocar
  248. jmp Ahora_dx2
  249.  
  250. Ahora_dx2: cmp dx,178
  251. jae Otro_Punto2
  252. jmp Clic_Izq
  253.  
  254. Otro_Punto2: cmp dx,187
  255. jbe Sales
  256. jmp Clic_Izq
  257.  
  258. Colocar: call Terreno
  259. call Colorcitos
  260. call Dib_Cuadros
  261. call Dibujar
  262. jmp Sales
  263.  
  264. Sales: ret
  265. Lee_Mouse ENDP
  266.  
  267. Dibujar PROC NEAR
  268. Clicito: mov ax,0003h
  269. int 33h
  270. and bx,0001h
  271. cmp bx,0001h
  272. je Verificar2
  273. jmp Clicito
  274.  
  275. Verificar2: cmp cx,20
  276. jae Otra2
  277. jmp Verificar3
  278.  
  279. Otra2: cmp cx,500
  280. jbe Now_dx1
  281. jmp Verificar3
  282.  
  283. Now_dx1: cmp dx,40
  284. jae Punto1
  285. jmp Verificar3
  286.  
  287. Punto1: cmp dx,280
  288. jbe Dibujito
  289. jmp Verificar3
  290.  
  291. Dibujito: sub dx,01h
  292. mov ah,0Ch
  293. mov al,Color[0]
  294. mov bh,00h
  295. int 10h
  296. jmp Clicito
  297.  
  298. Verificar3: cmp cx,520
  299. jae Otra3
  300. jmp Verificar4
  301.  
  302. Otra3: cmp cx,530
  303. jbe Ah_dx2
  304. jmp Verificar4
  305.  
  306. Ah_dx2: cmp dx,130
  307. jae Punto2
  308. jmp Ah_dx3
  309.  
  310. Punto2: cmp dx,139
  311. jbe Otro_Terreno
  312. jmp Ah_dx3
  313.  
  314. Otro_Terreno: call Terreno
  315. jmp Clicito
  316.  
  317. Ah_dx3: cmp dx,178
  318. jae Punto3
  319. jmp Verificar4
  320.  
  321. Punto3: cmp dx,187
  322. jbe Sales1
  323. jmp Verificar4
  324.  
  325. Sales1: jmp Sales11
  326.  
  327. Verificar4: cmp dx,338
  328. jae Otra4
  329. jmp Clicito
  330.  
  331. Otra4: cmp dx,347
  332. jbe Ah_cx1
  333. jmp Clicito
  334.  
  335. Ah_cx1: cmp cx,180
  336. jae Puntocx1
  337. jmp Ah_cx2
  338.  
  339. Puntocx1: cmp cx,189
  340. jbe Cambia_Color1
  341. jmp Ah_cx2
  342.  
  343. Cambia_Color1: mov Color[0],01h
  344. jmp Clicito
  345.  
  346. Ah_cx2: cmp cx,200
  347. jae Puntocx2
  348. jmp Ah_cx3
  349.  
  350. Puntocx2: cmp cx,209
  351. jbe Cambia_Color2
  352. jmp Ah_cx3
  353.  
  354. Cambia_Color2: mov Color[0],02h
  355. jmp Clicito
  356.  
  357. Ah_cx3: cmp cx,220
  358. jae Puntocx3
  359. jmp Ah_cx4
  360.  
  361. Puntocx3: cmp cx,229
  362. jbe Cambia_Color3
  363. jmp Ah_cx4
  364.  
  365. Cambia_Color3: mov Color[0],03h
  366. jmp Clicito
  367.  
  368. Ah_cx4: cmp cx,240
  369. jae Puntocx4
  370. jmp Ah_cx5
  371.  
  372. Puntocx4: cmp cx,249
  373. jbe Cambia_Color4
  374. jmp Ah_cx5
  375.  
  376. Cambia_Color4: mov Color[0],04h
  377. jmp Clicito
  378.  
  379. Ah_cx5: cmp cx,260
  380. jae Puntocx5
  381. jmp Ah_cx6
  382.  
  383. Puntocx5: cmp cx,269
  384. jbe Cambia_Color5
  385. jmp Ah_cx6
  386.  
  387. Cambia_Color5: mov Color[0],05h
  388. jmp Clicito
  389.  
  390. Ah_cx6: cmp cx,280
  391. jae Puntocx6
  392. jmp Ah_cx7
  393.  
  394. Puntocx6: cmp cx,289
  395. jbe Cambia_Color6
  396. jmp Ah_cx7
  397.  
  398. Cambia_Color6: mov Color[0],06h
  399. jmp Clicito
  400.  
  401. Ah_cx7: cmp cx,300
  402. jae Puntocx7
  403. jmp Ah_cx8
  404.  
  405. Puntocx7: cmp cx,309
  406. jbe Cambia_Color7
  407. jmp Ah_cx8
  408.  
  409. Cambia_Color7: mov Color[0],07h
  410. jmp Clicito
  411.  
  412. Ah_cx8: cmp cx,320
  413. jae Puntocx8
  414. jmp Ah_cx9
  415.  
  416. Puntocx8: cmp cx,329
  417. jbe Cambia_Color8
  418. jmp Ah_cx9
  419.  
  420. Cambia_Color8: mov Color[0],08h
  421. jmp Clicito
  422.  
  423. Ah_cx9: cmp cx,340
  424. jae Puntocx9
  425. jmp Ah_cx10
  426.  
  427. Puntocx9: cmp cx,349
  428. jbe Cambia_Color9
  429. jmp Ah_cx10
  430.  
  431. Cambia_Color9: mov Color[0],09h
  432. jmp Clicito
  433.  
  434. Ah_cx10: cmp cx,360
  435. jae Puntocx10
  436. jmp Ah_cx11
  437.  
  438. Puntocx10: cmp cx,369
  439. jbe Cambia_Color10
  440. jmp Ah_cx11
  441.  
  442. Cambia_Color10: mov Color[0],0Ah
  443. jmp Clicito
  444.  
  445. Ah_cx11: cmp cx,380
  446. jae Puntocx11
  447. jmp Ah_cx12
  448.  
  449. Puntocx11: cmp cx,389
  450. jbe Cambia_Color11
  451. jmp Ah_cx12
  452.  
  453. Cambia_Color11: mov Color[0],0Bh
  454. jmp Clicito
  455.  
  456. Ah_cx12: cmp cx,400
  457. jae Puntocx12
  458. jmp Clicito
  459.  
  460. Puntocx12: cmp cx,409
  461. jbe Cambia_Color12
  462. jmp Clicito
  463.  
  464. Cambia_Color12: mov Color[0],0Ch
  465. jmp Clicito
  466.  
  467. Sales11: ret
  468. Dibujar ENDP
  469.  
  470. Dib_Cuadros PROC NEAR
  471.  
  472. mov dx,338
  473. mov cx,180
  474.  
  475. @Aqui1: mov ah,0Ch
  476. mov al,01h
  477. mov bh,00h
  478. int 10h
  479. cmp cx,189
  480. je @dx1
  481. inc cx
  482. jmp @Aqui1
  483.  
  484. @dx1: mov cx,180
  485. cmp dx,347
  486. je Color2
  487. inc dx
  488. jmp @Aqui1
  489.  
  490. Color2: mov dx,338
  491. mov cx,200
  492.  
  493. @Aqui2: mov ah,0Ch
  494. mov al,02h
  495. mov bh,00h
  496. int 10h
  497. cmp cx,209
  498. je @dx2
  499. inc cx
  500. jmp @Aqui2
  501.  
  502. @dx2: mov cx,200
  503. cmp dx,347
  504. je Color3
  505. inc dx
  506. jmp @Aqui2
  507.  
  508. Color3: mov dx,338
  509. mov cx,220
  510.  
  511. @Aqui3: mov ah,0Ch
  512. mov al,03h
  513. mov bh,00h
  514. int 10h
  515. cmp cx,229
  516. je @dx3
  517. inc cx
  518. jmp @Aqui3
  519.  
  520. @dx3: mov cx,220
  521. cmp dx,347
  522. je Color4
  523. inc dx
  524. jmp @Aqui3
  525.  
  526. Color4: mov dx,338
  527. mov cx,240
  528.  
  529. @Aqui4: mov ah,0Ch
  530. mov al,04h
  531. mov bh,00h
  532. int 10h
  533. cmp cx,249
  534. je @dx4
  535. inc cx
  536. jmp @Aqui4
  537.  
  538. @dx4: mov cx,240
  539. cmp dx,347
  540. je Color5
  541. inc dx
  542. jmp @Aqui4
  543.  
  544. Color5: mov dx,338
  545. mov cx,260
  546.  
  547. @Aqui5: mov ah,0Ch
  548. mov al,05h
  549. mov bh,00h
  550. int 10h
  551. cmp cx,269
  552. je @dx5
  553. inc cx
  554. jmp @Aqui5
  555.  
  556. @dx5: mov cx,260
  557. cmp dx,347
  558. je Color6
  559. inc dx
  560. jmp @Aqui5
  561.  
  562. Color6: mov dx,338
  563. mov cx,280
  564.  
  565. @Aqui6: mov ah,0Ch
  566. mov al,06h
  567. mov bh,00h
  568. int 10h
  569. cmp cx,289
  570. je @dx6
  571. inc cx
  572. jmp @Aqui6
  573.  
  574. @dx6: mov cx,280
  575. cmp dx,347
  576. je Color7
  577. inc dx
  578. jmp @Aqui6
  579.  
  580. Color7: mov dx,338
  581. mov cx,300
  582.  
  583. @Aqui7: mov ah,0Ch
  584. mov al,07h
  585. mov bh,00h
  586. int 10h
  587. cmp cx,309
  588. je @dx7
  589. inc cx
  590. jmp @Aqui7
  591.  
  592. @dx7: mov cx,300
  593. cmp dx,347
  594. je Color8
  595. inc dx
  596. jmp @Aqui7
  597.  
  598. Color8: mov dx,338
  599. mov cx,320
  600.  
  601. @Aqui8: mov ah,0Ch
  602. mov al,08h
  603. mov bh,00h
  604. int 10h
  605. cmp cx,329
  606. je @dx8
  607. inc cx
  608. jmp @Aqui8
  609.  
  610. @dx8: mov cx,320
  611. cmp dx,347
  612. je Color9
  613. inc dx
  614. jmp @Aqui8
  615.  
  616. Color9: mov dx,338
  617. mov cx,340
  618.  
  619. @Aqui9: mov ah,0Ch
  620. mov al,09h
  621. mov bh,00h
  622. int 10h
  623. cmp cx,349
  624. je @dx9
  625. inc cx
  626. jmp @Aqui9
  627.  
  628. @dx9: mov cx,340
  629. cmp dx,347
  630. je Color10
  631. inc dx
  632. jmp @Aqui9
  633.  
  634. Color10: mov dx,338
  635. mov cx,360
  636.  
  637. @Aqui10: mov ah,0Ch
  638. mov al,0Ah
  639. mov bh,00h
  640. int 10h
  641. cmp cx,369
  642. je @dx10
  643. inc cx
  644. jmp @Aqui10
  645.  
  646. @dx10: mov cx,360
  647. cmp dx,347
  648. je Color11
  649. inc dx
  650. jmp @Aqui10
  651.  
  652. Color11: mov dx,338
  653. mov cx,380
  654.  
  655. @Aqui11: mov ah,0Ch
  656. mov al,0Bh
  657. mov bh,00h
  658. int 10h
  659. cmp cx,389
  660. je @dx11
  661. inc cx
  662. jmp @Aqui11
  663.  
  664. @dx11: mov cx,380
  665. cmp dx,347
  666. je Color12
  667. inc dx
  668. jmp @Aqui11
  669.  
  670. Color12: mov dx,338
  671. mov cx,400
  672.  
  673. @Aqui12: mov ah,0Ch
  674. mov al,0Ch
  675. mov bh,00h
  676. int 10h
  677. cmp cx,409
  678. je @dx12
  679. inc cx
  680. jmp @Aqui12
  681.  
  682. @dx12: mov cx,400
  683. cmp dx,347
  684. je Salll
  685. inc dx
  686. jmp @Aqui12
  687.  
  688. Salll: ret
  689. Dib_Cuadros ENDP
  690.  
  691. END Inicio

Aqui les dejo el ejecutable para que vean el resultado: http://www.megaupload.com/?d=L1KFHMYD


Code 2: Conversor de Decimal a Hexadecimal (Medio Arcaico la manera en que lo trabaje), pero lo hice sin usar variables, a punta de registros.

Código
  1. span style="color: #000000; font-weight: bold;"> MODEL SMALL
  2. STACK 256
  3.  
  4. MOSTRAR MACRO M
  5. mov dx,OFFSET &M
  6. call Imprimir
  7. ENDM
  8.  
  9. TERMINAR MACRO
  10. mov ax,4C00h
  11. int 21h
  12. ENDM
  13.  
  14. DETENER MACRO
  15. mov ah,01h
  16. int 21h
  17. ENDM
  18.  
  19. LINEA MACRO
  20. mov dl,0Ah
  21. mov ah,02h
  22. int 21h
  23. ENDM
  24.  
  25. PRINTLETTER MACRO
  26. mov bx,OFFSET VALORES
  27. xlat
  28. mov dx,ax
  29. mov ah,02h
  30. int 21h
  31. ENDM
  32.  
  33. PRINTBYTE MACRO
  34. mov bx,OFFSET VALORES
  35. xlat
  36. mov dx,ax
  37. mov ah,02h
  38. int 21h
  39. mov ax,di
  40. xlat
  41. mov dx,ax
  42. mov ah,02h
  43. int 21h
  44. ENDM
  45.  
  46. PRINT3DIGIT MACRO
  47. mov bx,OFFSET VALORES
  48. xlat
  49. mov dx,ax
  50. mov ah,02h
  51. int 21h
  52. mov ax,si
  53. xlat
  54. mov dx,ax
  55. mov ah,02h
  56. int 21h
  57. mov ax,di
  58. xlat
  59. mov dx,ax
  60. mov ah,02h
  61. int 21h
  62. ENDM
  63.  
  64. PRINTWORD MACRO
  65. mov bx,OFFSET VALORES
  66. xlat
  67. mov dx,ax
  68. mov ah,02h
  69. int 21h
  70. mov ax,cx
  71. xlat
  72. mov dx,ax
  73. mov ah,02h
  74. int 21h
  75. mov ax,si
  76. xlat
  77. mov dx,ax
  78. mov ah,02h
  79. int 21h
  80. mov ax,di
  81. xlat
  82. mov dx,ax
  83. mov ah,02h
  84. int 21h
  85. ENDM
  86.  
  87. Tamaño EQU 4
  88. DATASEG
  89. Mensaje DB 'Ingrese un Numero de Maximo 4 Digitos y Presione [Enter]: $'
  90. Msm_Salir DB 'A ingresado un Caracter no Valido. Presione cualquier tecla para Salir del Programa$'
  91. Msm_Exc DB 'Solo se Permite un Maximo de 4 Digitos. Intentelo de Nuevo$'
  92. Msm_Result DB 'El codigo Hexadecimal del Numero introducido es: $'
  93. VALORES DB '0123456789ABCDEF$'
  94.  
  95. CODESEG
  96. Inicio: mov ax,@data
  97. mov ds,ax
  98. MOSTRAR Mensaje
  99. call Ascii_Hex
  100. DETENER
  101. Terminado: TERMINAR
  102.  
  103. Ascii_Hex PROC NEAR
  104. jmp Comenzar
  105.  
  106. Arriba: LINEA
  107. MOSTRAR Msm_Result
  108. jmp Multi
  109.  
  110. Numero_DeMas: cmp al,0Dh
  111. je Arriba
  112. LINEA
  113. MOSTRAR Msm_Exc
  114. LINEA
  115. LINEA
  116. jmp Inicio
  117.  
  118. Comenzar: xor al,al
  119. mov si,5
  120. mov bx,0
  121. mov cx,0
  122.  
  123. Escribir: dec si
  124. mov ah,01h
  125. int 21h
  126. cmp si,0
  127. je Numero_DeMas
  128. cmp al,0Dh
  129. je Arriba
  130. cmp al,1Bh
  131. je Salir2
  132. cmp al,30h
  133. jb Salir
  134. cmp al,39h
  135. ja Salir
  136. and al,0Fh
  137. cmp si,4
  138. je @@3
  139. cmp si,3
  140. je @@2
  141. cmp si,2
  142. je @@1
  143. cmp si,1
  144. je @@0
  145.  
  146. @@3: mov bl,al
  147. jmp Escribir
  148.  
  149. @@2: mov cl,bl
  150. mov bl,al
  151. jmp Escribir
  152.  
  153. @@1: mov ch,cl
  154. mov cl,bl
  155. mov bl,al
  156. jmp Escribir
  157.  
  158. @@0: mov bh,ch
  159. mov ch,cl
  160. mov cl,bl
  161. mov bl,al
  162. jmp Escribir
  163.  
  164. Salir: mov dl,0Ah
  165. mov ah,02h
  166. int 21h
  167. MOSTRAR Msm_Salir
  168. jmp Terminado1
  169.  
  170. Salir2: jmp Terminado
  171.  
  172. Multi: mov al,bh
  173. mov dx,1000
  174. mov ah,0
  175. mul dx
  176. mov si,ax
  177. mov al,bl
  178. mov dx,1
  179. mov ah,0
  180. mul dx
  181. mov di,ax
  182. add si,di
  183. mov al,ch
  184. mov dx,100
  185. mov ah,0
  186. mul dx
  187. mov di,ax
  188. mov al,cl
  189. mov dx,10
  190. mov ah,0
  191. mul dx
  192. mov bx,ax
  193. add bx,di
  194. add bx,si
  195. mov ax,bx
  196. mov dx,0
  197. mov bx,16
  198.  
  199. Dividir: cmp ax,bx
  200. jb Otro_Lugar0
  201. div bx
  202. mov di,dx
  203. mov dx,0
  204. cmp ax,bx
  205. jb Otro_Lugar1
  206. div bx
  207. mov si,dx
  208. mov dx,0
  209. cmp ax,bx
  210. jb Otro_Lugar2
  211. div bx
  212. mov cx,dx
  213. cmp ax,bx
  214. jb Otro_Lugar3
  215.  
  216. Otro_Lugar0: PRINTLETTER
  217. jmp Terminado1
  218. Otro_Lugar1: PRINTBYTE
  219. jmp Terminado1
  220. Otro_Lugar2: PRINT3DIGIT
  221. jmp Terminado1
  222. Otro_Lugar3: PRINTWORD
  223. jmp Terminado1
  224. ret
  225. Ascii_Hex ENDP
  226.  
  227. Imprimir PROC NEAR
  228. push ax
  229. mov ah,09h
  230. int 21h
  231. pop ax
  232. Terminado1: ret
  233. Imprimir ENDP
  234.  
  235. END Inicio

Aqui dejo el ejecutable para que lo prueben: http://www.megaupload.com/?d=1273QRVX


« Última modificación: 4 Junio 2009, 23:19 pm por ANELKAOS » En línea

karmany
Colaborador
***
Desconectado Desconectado

Mensajes: 1.614


Sueñas que sueñas


Ver Perfil WWW
Re: 2 codigos sencillos... Pa los que les pueda interesar... By kaiser1313
« Respuesta #1 en: 1 Junio 2009, 21:54 pm »

Gracias por los ejemplos, no creas que mucha gente sabe programar en asm para DOS usando las "int". Buenos ejemplos.

El primero, sin embargo, no sé el motivo y tampoco lo he analizado, me bloquea totalmente el ordenador.(lo he probado desde Windows, no desde DOS)


En línea

-Gosw-

Desconectado Desconectado

Mensajes: 207

Ing. Electrónico


Ver Perfil WWW
Re: 2 codigos sencillos... Pa los que les pueda interesar... By kaiser1313
« Respuesta #2 en: 2 Junio 2009, 11:41 am »

Gracias por los ejemplos, no creas que mucha gente sabe programar en asm para DOS usando las "int". Buenos ejemplos.

El primero, sin embargo, no sé el motivo y tampoco lo he analizado, me bloquea totalmente el ordenador.(lo he probado desde Windows, no desde DOS)

Que raro, que windows usas?? Yo lo corro en XP (cualquier SP) y funciona perfecto...
En línea

karmany
Colaborador
***
Desconectado Desconectado

Mensajes: 1.614


Sueñas que sueñas


Ver Perfil WWW
Re: 2 codigos sencillos... Pa los que les pueda interesar... By kaiser1313
« Respuesta #3 en: 3 Junio 2009, 17:31 pm »

Recuerdo que se ponía toda la pantalla negra, salía el encabezado y a la derecha como 3 opciones. Y ahí se quedaba, no funcionaba nada. No tengo tiempo para analizarlo, tal vez lo pruebe en DOS pero sólo lo he comentado por si alguien lo prueba que mejor lo pruebe en un máquina virtua por ej.

Mi Windows es Windows XP Profesional, 5.1.2600 con SP3.
En línea

Eternal Idol
Kernel coder
Moderador
***
Desconectado Desconectado

Mensajes: 5.935


Israel nunca torturó niños, ni lo volverá a hacer.


Ver Perfil WWW
Re: 2 codigos sencillos... Pa los que les pueda interesar... By kaiser1313
« Respuesta #4 en: 3 Junio 2009, 17:38 pm »

En Windows (gama NT) de por si ya esta siendo ejecutado en una maquina virtual al ser codigo de 16 bits. ¿Se te colgo el S.O.? ¿Probaste alt+ctrl+del?
En línea

La economía nunca ha sido libre: o la controla el Estado en beneficio del Pueblo o lo hacen los grandes consorcios en perjuicio de éste.
Juan Domingo Perón
karmany
Colaborador
***
Desconectado Desconectado

Mensajes: 1.614


Sueñas que sueñas


Ver Perfil WWW
Re: 2 codigos sencillos... Pa los que les pueda interesar... By kaiser1313
« Respuesta #5 en: 3 Junio 2009, 18:27 pm »

Creo que debe ser problema (en Windows) del ratón, porque acabo de hacer un cd booteable, con drivers del mouse y con tu programa, y ahí sí que funciona perfectamente:




En línea

-Gosw-

Desconectado Desconectado

Mensajes: 207

Ing. Electrónico


Ver Perfil WWW
Re: 2 codigos sencillos... Pa los que les pueda interesar... By kaiser1313
« Respuesta #6 en: 4 Junio 2009, 01:47 am »

Creo que debe ser problema (en Windows) del ratón, porque acabo de hacer un cd booteable, con drivers del mouse y con tu programa, y ahí sí que funciona perfectamente:






Bueno te dire que sigo pensando y aun nose que te sucede... Lo acabo de bajar del link que deje y lo he probado y funciona bien, tambien tengo XP SP3...

Es ams en esa captura que dejas noto que te da las cosas en blanco y negro (o ecala de grises) pero el programa en en colores, de verdad nose que sucede, tambien lo he probado en otras maquinas y funciona sin problemas (incluso en una con Vista)...

Puede ser problema de tu maquina nose, es lo que se me ocurre... :-\
En línea

karmany
Colaborador
***
Desconectado Desconectado

Mensajes: 1.614


Sueñas que sueñas


Ver Perfil WWW
Re: 2 codigos sencillos... Pa los que les pueda interesar... By kaiser1313
« Respuesta #7 en: 4 Junio 2009, 17:25 pm »

No, no es en blanco y negro... Tal vez fue al optimizarla para Web o  al redimensionarla. Yo no le di importancia a la tonalidad gris. Esta es el original:



Lo he vuelto a ejecutar desde Windows y efectivamente se me ha colgado de nuevo. Ha cargado todo correctamente, incluso esta vez el mouse. He echado un vistazo a tu código y yo no le veo problema. Solamente he hecho poner el ratón encima del cuadro que pone comenzar y se ha bloqueado todo, no ha habido forma de solucionarlo, se ha congelado el ratón y todo y la única forma ha sido reiniciar el ordenador. No sé por qué se cuelga.

Sino tocará depurar el código. Todos las interrupciones y servicios los veo bien nombrados.
En línea

-Gosw-

Desconectado Desconectado

Mensajes: 207

Ing. Electrónico


Ver Perfil WWW
Re: 2 codigos sencillos... Para los que les pueda interesar.
« Respuesta #8 en: 6 Junio 2009, 17:54 pm »

Bueno el codigo ya lo he depurado y en verdad no tiene problema alguno... Has intentado probarlo en una pc distinta?? A lo mejor y es problema de tu PC...

Como te dije lo he probado ya en distintas con Windows distintos y todo funciona perfectamente... Pero igual si quieres metele mano al codigo y ve si consigues algo...
En línea

Páginas: [1] Ir Arriba Respuesta Imprimir 

Ir a:  

Mensajes similares
Asunto Iniciado por Respuestas Vistas Último mensaje
Errores sencillos en TP final
Programación C/C++
n-utz 0 1,433 Último mensaje 13 Octubre 2016, 20:34 pm
por n-utz
WAP2 - Aviso Legal - Powered by SMF 1.1.21 | SMF © 2006-2008, Simple Machines