Search
Home
Saved
6.1K views
0
Upload
Sign In
RELATED TITLES
0
Ejercicios Emu8086 Uploaded by Keny Orlando M. Cano
Bestsellers
Books
Audiobooks
Save
Embed
Share
Print
Download
Magazines
News
Documents
Sheet Music
Join
Unidad III y IV Lenguajes y
1
of 80
unidad 2 ensamblador
Introduccion Al Lenguaje
Search document
1 1. Escribir un programa en ensamblador que muestre un mensaje por pantalla mediante interrupciones:
2. 3. ;---------------------------------------------------------------------------4. ;Definicion del segmento de datos 5. ;---------------------------------------------------------------------------6. DATOS SEGMENT 7. 8. saludo db "Hola mundo!!!","$" 9. 10. DATOS ENDS 11. 12. ;--------------------------------------------------------------------------13. ;Definicion del segmento de codigo 14. ;--------------------------------------------------------------------------15. CODE SEGMENT 16. assume cs:code,ds:datos 17. 18. START PROC 19. mov ax,datos ; 20. mov ds,ax ;Inicializar 21. 22. mov dx,offset saludo ;Cargar la direccion del saludo 23. mov ah,9 ;Opcion que va a servir a la interrupcion 21h para 24. ;indicar que debe mostrar por pantalla el offset 25. ;que hay en DX hasta que encuentre el caracter '$' 26. int 21h ;Interrupcion que lo mostrara por Sign up to vote on this title pantalla 27. Useful Not useful 28. mov ax,4C00h ; 29. int 21h ;Terminar el programa 30.
Home
Saved
Bestsellers
Books
Audiobooks
Magazines
News
Documents
Sheet Music
Upload
Sign In
Join
Search
Home
Saved
6.1K views
0
Upload
Sign In
RELATED TITLES
0
Ejercicios Emu8086 Uploaded by Keny Orlando M. Cano
Bestsellers
Books
Audiobooks Magazines
News
Documents
Save
Embed
Share
Print
Sheet Music
Unidad III y IV Lenguajes y
1
Download
Join
42. 43. 44. 45.
of 80
unidad 2 ensamblador
Introduccion Al Lenguaje
Search document
saludo db "Hola mundo!!!" DATOS ENDS
;--------------------------------------------------------------------------46. ;Definicion del segmento de pila 47. ;--------------------------------------------------------------------------48. PILA SEGMENT STACK "STACK" 49. DB 40 DUP(0) 50. PILA ENDS 51. 52. ;--------------------------------------------------------------------------53. ;Definicion del segmento extra 54. ;--------------------------------------------------------------------------55. EXTRA SEGMENT 56. RESULT DW 0,0 57. EXTRA ENDS 58. 59. ;--------------------------------------------------------------------------60. ;Definicion del segmento de codigo 61. ;--------------------------------------------------------------------------62. CODE SEGMENT 63. assume cs:code,ds:datos,es:extra,ss:pila 64. 65. START PROC 66. ;Inicializamos los registros de segmento 67. mov ax,datos 68. mov ds,ax 69. mov ax,pila 70. mov ss,ax 71. mov ax,extra 72. mov es,ax 73. ;Fin de las inicializaciones Sign up to vote on this title 74. Useful Not useful 75. ;Limpiamos la pantalla 76. mov ax,0B800h ;En esta direccion comienza la memoria video
Home
Saved
Bestsellers
Books
Audiobooks
Magazines
News
Documents
Sheet Music
Upload
Sign In
Join
Search
Home
Saved
6.1K views
0
Upload
Sign In
RELATED TITLES
0
Ejercicios Emu8086 Uploaded by Keny Orlando M. Cano
Bestsellers
Books
Audiobooks Magazines
News
Documents
Save
Embed
Share
Print
Sheet Music
Unidad III y IV Lenguajes y
1
Download
Join
42. 43. 44. 45.
of 80
unidad 2 ensamblador
Introduccion Al Lenguaje
Search document
saludo db "Hola mundo!!!" DATOS ENDS
;--------------------------------------------------------------------------46. ;Definicion del segmento de pila 47. ;--------------------------------------------------------------------------48. PILA SEGMENT STACK "STACK" 49. DB 40 DUP(0) 50. PILA ENDS 51. 52. ;--------------------------------------------------------------------------53. ;Definicion del segmento extra 54. ;--------------------------------------------------------------------------55. EXTRA SEGMENT 56. RESULT DW 0,0 57. EXTRA ENDS 58. 59. ;--------------------------------------------------------------------------60. ;Definicion del segmento de codigo 61. ;--------------------------------------------------------------------------62. CODE SEGMENT 63. assume cs:code,ds:datos,es:extra,ss:pila 64. 65. START PROC 66. ;Inicializamos los registros de segmento 67. mov ax,datos 68. mov ds,ax 69. mov ax,pila 70. mov ss,ax 71. mov ax,extra 72. mov es,ax 73. ;Fin de las inicializaciones Sign up to vote on this title 74. Useful Not useful 75. ;Limpiamos la pantalla 76. mov ax,0B800h ;En esta direccion comienza la memoria video
Home
Saved
Bestsellers
Books
Audiobooks
Magazines
News
Documents
Sheet Music
Upload
Sign In
Join
Search
Home
Saved
6.1K views
0
Upload
Sign In
RELATED TITLES
0
Ejercicios Emu8086 Uploaded by Keny Orlando M. Cano
Bestsellers
Books
Audiobooks Magazines
News
Documents
Save
Embed
Share
Print
Sheet Music
Unidad III y IV Lenguajes y
1
Download
Join
87. 88. 89. 90. 91. 92. 93. 94. 95. 96. 97.
of 80
unidad 2 ensamblador
Introduccion Al Lenguaje
Search document
inc di inc di loop b_clear mov mov mov mov mov
ax,0B800h es,ax si,offset saludo di,(80*7+17)*2 ;Linea 7, caracter 18 cx,13
b_saludo: 2000
98. 99. mov al,[si] 100. mov ah,1bh 101. mov es:[di],ax 102. inc si del saludo 103. inc di 104. inc di 105. loop b_saludo 106. 107. 108. mov ax,4C00h 109. int 21h 110. 111. START ENDP 112. 113. CODE ENDS 114. END START 115.
116.
;Bucle que se encargara de recorrer los
;caracteres de la pantalla para limpiar ;Fondo azul, letras blancas
;Pasamos a apuntar a la siguiente letra
; ;Terminar el programa
Este programa pide el nombre al usuario y lo muestra por pantalla:
117. 118. ;--------------------------------------------------------------------------119. ;Definicion del segmento de datos 120. ;-------------------------------------------------------------- ------------Sign up to vote on this title 121. DATOS SEGMENT Useful Not useful 122. mensaje db "Ejercicios disponibles en: www.victorsanchez2.net" 123. pregunta_nombre db "Cual es tu nombre?: "
Home
Saved
Bestsellers
Books
Audiobooks
Magazines
News
Documents
Sheet Music
Upload
Sign In
Join
Search
Home
Saved
6.1K views
0
Upload
Sign In
RELATED TITLES
0
Ejercicios Emu8086 Uploaded by Keny Orlando M. Cano
Bestsellers
Books
Audiobooks Magazines
News
Documents
Save
Embed
Share
Print
Download
Sheet Music
Join
Unidad III y IV Lenguajes y
1
of 80
unidad 2 ensamblador
Introduccion Al Lenguaje
Search document
136. ;--------------------------------------------------------------------------137. EXTRA SEGMENT 138. RESULT DW 0,0 139. EXTRA ENDS 140. 141. ;--------------------------------------------------------------------------142. ;Definicion del segmento de codigo 143. ;--------------------------------------------------------------------------144. CODE SEGMENT 145. assume cs:code,ds:datos,es:extra,ss:pila 146. 147. START PROC 148. ;Inicializamos los registros de segmento 149. mov ax,datos 150. mov ds,ax 151. mov ax,pila 152. mov ss,ax 153. mov ax,extra 154. mov es,ax 155. ;Fin de las inicializaciones 156. 157. ;Limpiamos la pantalla 158. mov ax,0B800h ;En esta direccion comienza la memoria video 159. mov es,ax ;Lo cargamos en el segmento extra 160. xor di,di ;Ponemos DI=0. Esto equivale a mov di,0 pero 161. ;xor di,di consume 3 ciclos de reloj y con mov 4 162. mov cx,80*25 ;El tamaño total es 2000 (80 lineas x columnas) 163. 164. b_clear: ;Bucle que se encargara de recorrer los 2000 165. ;caracteres Sign de up latopantalla para limpiar vote on this title 166. mov al,20h ;20h=" " Rellenar la pantalla con Useful Not useful espacios 167. mov ah,1bh ;Fondo azul, letras blancas 168. mov es:[di],ax
Home
Saved
Bestsellers
Books
Audiobooks
Magazines
News
Documents
Sheet Music
Upload
Sign In
Join
Search
Home
Saved
6.1K views
0
Upload
Sign In
RELATED TITLES
0
Ejercicios Emu8086 Uploaded by Keny Orlando M. Cano
Bestsellers
Books
Audiobooks Magazines
News
Documents
Save
Embed
Share
Print
Download
Sheet Music
Join
Unidad III y IV Lenguajes y
1
of 80
unidad 2 ensamblador
Introduccion Al Lenguaje
Search document
183. inc si ;Pasamos a apuntar a la siguiente letra del saludo 184. inc di 185. inc di 186. loop b_saludo 187. 188. ;Mensaje al usuario para que introduzca su nombre 189. mov si,offset pregunta_nombre 190. mov di,(80*12+10)*2 ;Linea 12, columna 10 191. mov cx,20 192. 193. b_pide_nombre: ;Bucle que se encargara de recorrer los 2000 194. ;caracteres de la pantalla para limpiar 195. mov al,[si] 196. mov ah,1bh ;Fondo azul, letras blancas 197. mov es:[di],ax 198. inc si ;Pasamos a apuntar a la siguiente letra del saludo 199. inc di 200. inc di 201. loop b_pide_nombre 202. 203. ;Almacenamos el nombre 204. mov ah,0Ah 205. mov dx,offset nombre You're Reading a Preview 206. mov nombre[0],64 ;Maximo numero de caracteres 207. int 21h Unlock full access with a free trial. 208. 209. mov bx,0 210. Download With Free Trial 211. muestra_nombre: 212. mov dl,nombre[bx+2] 213. mov ah,2 214. int 21h ;Escribir un caracter del nombre 215. inc bx 216. cmp bl,nombre[1] ;Compara con el numero de caracter 217. jne muestra_nombre Sign up to vote on this title 218. Useful Not useful 219. mov ax,4C00h ; 220. int 21h ;Terminar el programa 221.
Home
Saved
Bestsellers
Books
Audiobooks
Magazines
News
Documents
Sheet Music
Upload
Sign In
Join
Search
Home
Saved
6.1K views
0
Upload
Sign In
RELATED TITLES
0
Ejercicios Emu8086 Uploaded by Keny Orlando M. Cano
Bestsellers
Books
Audiobooks Magazines
News
Documents
Save
Embed
Share
Print
Download
Sheet Music
Join
Unidad III y IV Lenguajes y
1
of 80
unidad 2 ensamblador
Introduccion Al Lenguaje
Search document
234. pregunta_nombre db "Cual es tu nombre?: " 235. nombre db 256 DUP(0) 236. DATOS ENDS 237. 238. ;--------------------------------------------------------------------------239. ;Definicion del segmento de pila 240. ;--------------------------------------------------------------------------241. PILA SEGMENT STACK "STACK" 242. db 40h DUP(0) 243. PILA ENDS 244. 245. ;--------------------------------------------------------------------------246. ;Definicion del segmento extra 247. ;--------------------------------------------------------------------------248. EXTRA SEGMENT 249. RESULT DW 0,0 250. EXTRA ENDS 251. 252. ;--------------------------------------------------------------------------253. ;Definicion del segmento de codigo 254. ;--------------------------------------------------------------You're Reading a Preview ------------255. CODE SEGMENT Unlock full access with a free trial. 256. assume CS:code,DS:datos,ES:extra,SS:pila 257. 258. ;--------------------------------------------------------------Download With Free Trial ------------259. ; Procedimiento inicial 260. ;--------------------------------------------------------------------------261. START PROC 262. 263. call inicializa_seg ;Inicializa los de Sign up to vote on thisregistros title segmento useful Useful laNotpantalla 264. call limpia_pantalla ;Limpiamos 265. call muestra_mensaje ;Mensaje de informacion 266. call pide_nombre ;Pide el nombre al usuario
Home
Saved
Bestsellers
Books
Audiobooks
Magazines
News
Documents
Sheet Music
Upload
Sign In
Join
Search
Home
Saved
6.1K views
0
Upload
Sign In
RELATED TITLES
0
Ejercicios Emu8086 Uploaded by Keny Orlando M. Cano
Bestsellers
Books
Audiobooks Magazines
News
Documents
Save
Embed
Share
Print
Download
Sheet Music
Join
Unidad III y IV Lenguajes y
1
of 80
unidad 2 ensamblador
Introduccion Al Lenguaje
Search document
280. ; machaca: AX, DS, SS, ES 281. ; make: Inicializa los registros de segmento 282. ; 283. ;--------------------------------------------------------------------------284. inicializa_seg proc near 285. 286. mov ax,datos 287. mov ds,ax 288. mov ax,pila 289. mov ss,ax 290. mov ax,extra 291. mov es,ax 292. 293. ret 294. 295. inicializa_seg endp 296. 297. 298. ;--------------------------------------------------------------------------299. ; limpia_pantalla 300. ; 301. ; in: 302. ; out: 303. ; machaca: DI, ES You're Reading a Preview espacios en las 80x25 304. ; make: Limpia la pantalla escribiendo posiciones de Unlock full access with a free trial. 305. ; la pantalla, accediendo a la memoria de video 306. ; 307. ;--------------------------------------------------------------Download With Free Trial ------------308. limpia_pantalla proc near 309. 310. push ax ;Guardar en la pila las variables que queremos 311. push cx ;conservar para cuando salgamos de la funcion Sign up to vote on this title 312. Useful comienza Not usefulla memoria 313. mov ax,0B800h ;En esta direccion video 314. mov es,ax ;Lo cargamos en el segmento extra
Home
Saved
Bestsellers
Books
Audiobooks
Magazines
News
Documents
Sheet Music
Upload
Sign In
Join
Search
Home
Saved
6.1K views
0
Upload
Sign In
RELATED TITLES
0
Ejercicios Emu8086 Uploaded by Keny Orlando M. Cano
Bestsellers
Books
Audiobooks Magazines
News
Documents
Save
Embed
Share
Print
Download
Sheet Music
Join
Unidad III y IV Lenguajes y
1
of 80
unidad 2 ensamblador
Introduccion Al Lenguaje
Search document
327. pop cx ;Importante sacarlas en orden contrario al que las 328. pop ax ;guardamos 329. 330. ret 331. 332. limpia_pantalla endp 333. 334. ;--------------------------------------------------------------------------335. ; muestra_mensaje 336. ; 337. ; in: 338. ; out: 339. ; machaca: DI, SI 340. ; make: Muestra un mensaje por pantalla indicando en que pagi se pueden 341. ; encontrar los ejercicios 342. ; 343. ;--------------------------------------------------------------------------344. muestra_mensaje proc near 345. 346. push ax 347. push cx 348. push es You're Reading a Preview 349. 350. full access with a free trial. 351. mov si,offsetUnlock mensaje 352. mov di,(80*10+10)*2 ;Linea 10, columna 10 353. mov cx,49 Download;Tamaño With Freedel Trialmensaje 354. 355. b_saludo: ;Bucle que se encargara de recorrer los 2000 356. ;caracteres de la pantalla para limpiar 357. mov al,[si] 358. mov ah,1bh ;Fondo azul, letras blancas 359. mov es:[di],ax Sign up to vote on this title 360. inc si ;Pasamos a apuntar a la siguiente letra Useful Not useful del saludo 361. inc di 362. inc di
Home
Saved
Bestsellers
Books
Audiobooks
Magazines
News
Documents
Sheet Music
Upload
Sign In
Join
Search
Home
Saved
6.1K views
0
Upload
Sign In
RELATED TITLES
0
Ejercicios Emu8086 Uploaded by Keny Orlando M. Cano
Bestsellers
Books
Audiobooks Magazines
News
Documents
Save
Embed
Share
Print
Download
Sheet Music
Join
Unidad III y IV Lenguajes y
1
of 80
unidad 2 ensamblador
Introduccion Al Lenguaje
Search document
377. ; out: 378. ; machaca: DI, SI, DX 379. ; make: Pide el nombre al usuario para que lo introduzca por pantalla 380. ; 381. ;--------------------------------------------------------------------------382. pide_nombre proc near 383. 384. push ax 385. push cx 386. push es 387. 388. 389. ;Mensaje al usuario para que introduzca su nombre 390. mov si,offset pregunta_nombre 391. mov di,(80*12+10)*2 ;Linea 12, columna 10 392. mov cx,20 393. 394. b_pide_nombre: ;Bucle que se encargara de recorrer los 2000 395. ;caracteres de la pantalla para limpiar 396. mov al,[si] 397. mov ah,1bh ;Fondo azul, letras blancas 398. mov es:[di],ax 399. inc si ;Pasamos a apuntar a la siguiente letra You're Reading a Preview del saludo 400. inc di Unlock full access with a free trial. 401. inc di 402. loop b_pide_nombre 403. Download With Free Trial 404. ;Almacenamos el nombre 405. mov ah,0Ah 406. mov dx,offset nombre 407. mov nombre[0],64 ;Maximo numero de caracteres 408. int 21h 409. 410. pop es Sign up to vote on this title 411. pop cx Useful Not useful 412. pop ax 413. 414. ret
Home
Saved
Bestsellers
Books
Audiobooks
Magazines
News
Documents
Sheet Music
Upload
Sign In
Join
Search
Home
Saved
6.1K views
0
Upload
Sign In
RELATED TITLES
0
Ejercicios Emu8086 Uploaded by Keny Orlando M. Cano
Bestsellers
Books
Audiobooks Magazines
News
Documents
Save
Embed
Share
Print
Sheet Music
Unidad III y IV Lenguajes y
1
Download
Join
of 80
unidad 2 ensamblador
Introduccion Al Lenguaje
Search document
428. 429. push ax 430. push cx 431. push es 432. 433. mov ax,0B800h 434. mov es,ax 435. xor dx,dx 436. mov si,offset nombre+2 437. mov di,(80*12+31)*2 ;Linea 12, columna 31 438. 439. mostrar_nombre: 440. mov al,[si] 441. mov ah,1bh ;Fondo azul, letras blancas 442. mov es:[di],ax 443. inc dx ;Cuenta el numero de caracteres 444. inc si 445. inc di 446. inc di 447. cmp dl,nombre[1] ;Comparar con el numero de caracteres 448. jne mostrar_nombre 449. 450. pop es 451. pop cx 452. pop ax You're Reading a Preview 453. 454. ret Unlock full access with a free trial. 455. 456. muestra_nombre endp 457. Download With Free Trial 458. 459. CODE ENDS 460. END START 461.
462.
Programa que calcula el factorial de 3 y lo muestra por pantalla:
463. 464. ;--------------------------------------------------------------Sign up to vote on this title ------------ Useful Not useful 465. ;Definicion del segmento de datos 466. ;---------------------------------------------------------------------------
Home
Saved
Bestsellers
Books
Audiobooks
Magazines
News
Documents
Sheet Music
Upload
Sign In
Join
Search
Home
Saved
6.1K views
0
Upload
Sign In
RELATED TITLES
0
Ejercicios Emu8086 Uploaded by Keny Orlando M. Cano
Bestsellers
Books
Audiobooks Magazines
News
Documents
Save
Embed
Share
Print
Download
Sheet Music
Join
Unidad III y IV Lenguajes y
1
of 80
unidad 2 ensamblador
Introduccion Al Lenguaje
Search document
480. ;--------------------------------------------------------------------------481. ;Definicion del segmento extra 482. ;--------------------------------------------------------------------------483. EXTRA SEGMENT 484. result dw 0,0 ;2 palabras (4 bytes) 485. EXTRA ENDS 486. 487. ;--------------------------------------------------------------------------488. ;Definicion del segmento de codigo 489. ;--------------------------------------------------------------------------490. CODE SEGMENT 491. assume CS:code,DS:datos,ES:extra,SS:pila 492. 493. factorial db 0 ;Variable para guardar el factoria 494. 495. START PROC 496. 497. call inicializar ;Inicializa los registros de segmento 498. mov sp,64 ;Carga el puntero de pila con el valor mas alto 499. 500. mov cl,dato You're Reading a Preview 501. call calcula_factorial ;Calcula el faltorial de dato Unlock full access with a free trial. 502. mov factorial,al ;Almacenar el resultado en factori 503. call muestra_factorial ;Muestra el valor del factorial 504. Download With Free Trial 505. mov ax,4C00h ; 506. int 21h ;Terminar el programa 507. 508. 509. START ENDP 510. 511. ;--------------------------------------------------------------Sign up to vote on this title ------------ Useful Not useful 512. ; inicializar 513. ; 514. ; in:
Home
Saved
Bestsellers
Books
Audiobooks
Magazines
News
Documents
Sheet Music
Upload
Sign In
Join
Search
Home
Saved
6.1K views
0
Upload
Sign In
RELATED TITLES
0
Ejercicios Emu8086 Uploaded by Keny Orlando M. Cano
Bestsellers
Books
Audiobooks Magazines
News
Documents
Save
Embed
Share
Print
Download
Sheet Music
Join
Unidad III y IV Lenguajes y
1
of 80
unidad 2 ensamblador
Introduccion Al Lenguaje
Search document
529. ret 530. 531. inicializar endp 532. 533. ;--------------------------------------------------------------------------534. ; calcula_factorial 535. ; 536. ; in: CL contiene el dato 537. ; out: Devuelve en AX el resultado de calcular el factorial 538. ; machaca: AX, CX 539. ; make: Inicializa los registros de segmento y el puntero de pila 540. ; 541. ;--------------------------------------------------------------------------542. calcula_factorial proc near 543. 544. mov ax,1 545. xor ch,ch 546. cmp cx,0 ;Si el numero es 0 547. je fin ;terminamos 548. 549. factor: 550. mul cx 551. dec cx You're Reading a Preview 552. jne factor 553. Unlock full access with a free trial. 554. fin: 555. ret 556. Download With Free Trial 557. calcula_factorial endp 558. 559. ;--------------------------------------------------------------------------560. ; muestra_nombre 561. ; 562. ; in: nombre contiene el nombre de usuario sethis hatitle introducido Sign up toque vote on 563. ; out: Useful Not useful 564. ; machaca: DI, SI 565. ; make: Muestra el valor del factorial por pantalla 566. ;
Home
Saved
Bestsellers
Books
Audiobooks
Magazines
News
Documents
Sheet Music
Upload
Sign In
Join
Search
Home
Saved
6.1K views
0
Upload
Sign In
RELATED TITLES
0
Ejercicios Emu8086 Uploaded by Keny Orlando M. Cano
Bestsellers
Books
Audiobooks Magazines
News
Documents
Save
Embed
Share
Print
Download
Join
Unidad III y IV Lenguajes y
1
of 80
unidad 2 ensamblador
Introduccion Al Lenguaje
Search document
581. 582. pop es 583. pop cx 584. pop ax 585. 586. ret 587. 588. muestra_factorial endp 589. 590. CODE ENDS 591. END START 592.
Sheet Music
2
1. Escribir un programa que escriba el mismo carácter en las 2000 posiciones d la pantalla:
2. 3. pantalla EQU 0B800h ;Direccion física de comienzo de la pantalla 4. You're Reading a Preview 5. ;---------------------------------------------------------------------------Unlock full access with a free trial. 6. ;Definición del segmento de codigo 7. ;---------------------------------------------------------------------------Download With Free Trial 8. CODE SEGMENT 9. assume cs:code 10. 11. START PROC 12. mov ax,pantalla ;Cargar la dirección de coordenada 0,0 de la 13. mov ds,ax ;pantalla Sign up to vote on this title 14. xor bx,bx ;Ponemos bx a 0 Useful Not useful 15. 16. pinta_caracter: 17. mov ds:[bx],byte ptr "V" ;Escribir el carácter
Home
Saved
Bestsellers
Books
Audiobooks
Magazines
News
Documents
Sheet Music
Upload
Sign In
Join
Search
Home
Saved
6.1K views
0
Upload
Sign In
RELATED TITLES
0
Ejercicios Emu8086 Uploaded by Keny Orlando M. Cano
Bestsellers
Books
Audiobooks Magazines
News
Documents
Save
Embed
Share
Print
Sheet Music
Unidad III y IV Lenguajes y
1
Download
Join
27. 28. 29. 30.
of 80
unidad 2 ensamblador
Introduccion Al Lenguaje
Search document
START ENDP CODE ENDS END START
31. Hacer un programa que coja el carácter que se encuentre en la coordenada 0 de la pantalla en ese momento y lo copie por toda la pantalla. En los últimos 4 caracteres mostrar la palabra ETSI: 32. 33. 34. 35.
pantalla EQU 0B800h
;--------------------------------------------------------------------------36. ;Definición del segmento de codigo 37. ;--------------------------------------------------------------------------38. CODE SEGMENT 39. assume cs:code 40. 41. START PROC 42. mov ax,pantalla ;Cargar la dirección de coordenada 0,0 de la 43. mov ds,ax ;pantalla 44. xor bx,bx 45. mov dx,ds:[bx] ;Obtener el carácter de coordenada 0,0 46. You're Reading a Preview 47. pinta_caracter: Unlock full access with a free trial. 48. inc bx 49. inc bx 50. mov ds:[bx],dx ;Copiar el carácter Download With Free Trial obtenido por toda la pantalla 51. cmp bx,1995*2 ;Dejamos los ultimos 4 caracteres sin rellenar 52. jl pinta_caracter 53. 54. mov ds:[1996*2],byte ptr "E" ;En los ultimos 4 caracteres escribimos to vote on this title 55. mov ds:[1997*2],byte ptr "T" Sign up ;nuestro mensaje 56. mov ds:[1998*2],byte ptr "S" Useful ; Not useful 57. mov ds:[1999*2],byte ptr "I" ; 58. 59. ax,4C00h
Home
Saved
Bestsellers
Books
Audiobooks
Magazines
News
Documents
Sheet Music
Upload
Sign In
Join
Search
Home
Saved
6.1K views
0
Upload
Sign In
RELATED TITLES
0
Ejercicios Emu8086 Uploaded by Keny Orlando M. Cano
Bestsellers
Books
Audiobooks Magazines
News
Documents
Save
Embed
Share
Print
Unidad III y IV Lenguajes y
1
Download
Join
of 80
unidad 2 ensamblador
Introduccion Al Lenguaje
Search document
principio puede parecernos un poco raro y no saber muy bien a que equivale pero poco a poco iremos aprendiendo a pensar en hexadecimal y binario :D. Antes de nada les voy a mostrar los archivos .bat que he venido utilizando durante mi aprendizaje del ensamblador: - Para debuggear un programa puede utilizarse únicamente el programa deb.bat:
Sheet Music
67. 68.
:-------------------------------------------------------------------69. : 70. : Fichero: deb.bat 71. : 72. : Descripcion: 73. : Ensamblar modulo fuente principal de un programa, crear modu 74. : objeto y debuggearlo. 75. : 76. :-------------------------------------------------------------------77. : 78. echo off 79. if z%1 == z goto error 80. goto check 81. :error 82. echo *** error: falta nombre del modulo fuente *** 83. goto fin 84. :check You're Reading a Preview 85. if exist %1.asm goto ensam 86. echo *** error: fichero %1.asm no existe *** Unlock full access with a free trial. 87. goto fin 88. :ensam 89. tasm /zi %1; Download With Free Trial 90. if exist %1.obj goto mensa 91. echo *** error en programa fuente *** 92. goto fin 93. :mensa 94. tlink /v %1 95. echo ... creado fichero %1.obj 96. Sign up to vote on this title 97. td %1 Useful Not useful 98. 99. :fin
Home
Saved
Bestsellers
Books
Audiobooks
Magazines
News
Documents
Sheet Music
Upload
Sign In
Join
Search
Home
Saved
6.1K views
0
Upload
Sign In
Join
RELATED TITLES
0
Ejercicios Emu8086 Uploaded by Keny Orlando M. Cano
Bestsellers
Books
Audiobooks
Save
Embed
Share
Print
Unidad III y IV Lenguajes y
1
Download
Magazines
News
Documents
Sheet Music
of 80
unidad 2 ensamblador
Introduccion Al Lenguaje
Search document
;---------------------------------------------------------------------------CODE SEGMENT assume CS:code START: xor mov
ax,ax cx,1
; ;Inicializar
add inc cmp jne
ax,cx cx cx,11 suma
; ; ; ;Sumar 1+...+10=37h
mov int
ax,4C00h 21h
; ;Terminar el programa
suma:
CODE ENDS END START
El siguiente programa es algo más sofisticado y potente. La teoría la explicaremos después de ver el ejemplo.
You'reque Reading a Preview Realizar un programa limpie la pantalla dejando el fondo azul y lo 100. caracteres rojos: Unlock full access with a free trial.
101. 102. pantalla EQU 0B800h Download With Free Trial 103. 104. ;--------------------------------------------------------------------------105. ;Definición del segmento de pila 106. ;--------------------------------------------------------------------------107. PILA SEGMENT STACK "STACK" Sign up to vote on this title 108. db 40h dup(0) 109. PILA ENDS Useful Not useful 110. 111. ;---------------------------------------------------------------------------
Home
Saved
Bestsellers
Books
Audiobooks
Magazines
News
Documents
Sheet Music
Upload
Sign In
Join
Search
Home
Saved
6.1K views
0
Upload
Sign In
RELATED TITLES
0
Ejercicios Emu8086 Uploaded by Keny Orlando M. Cano
Bestsellers
Books
Audiobooks Magazines
News
Documents
Save
Embed
Share
Print
Download
Sheet Music
Join
Unidad III y IV Lenguajes y
1
of 80
124. START PROC 125. 126. cld 127. mov ax,pantalla 128. mov es,ax 129. xor di,di 130. mov ax,1C00h intensidad 131. ax,0001110000000000b 132. mov cx,2000 133. rep stosw 134. 135. mov ax,4C00h 136. int 21h 137. 138. START ENDP 139. 140. CODE ENDS 141. END START
unidad 2 ensamblador
Introduccion Al Lenguaje
Search document
;DF=0 (incrementar DI)
;Fondo azul, caracteres rojos con ;Equivalente a: mov
;Repetirlo las 2000 veces ; ;Terminar el programa
Si quisiesemos poner los atributos de otra forma sólo ha y que cambiar una línea. Podríamos ponerla de la siguiente manera, por ejemplo:
You're Reading a Preview mov ax,1100001000000000b ó mov ax,0C200h Unlock full access with a free trial.
si quisiesemos poner el fondo rojo con letras Download With Freeverdes. Trial Teoría para entender el ejercicio:
STOSW: Se transfiere el registro AX a la palabra ES:[DI]. DI se actualiza en dos unidades. Si la bandera de dirección es cero (DF=0), DI se incrementa, sithis DF=1, Sign up to vote on title se decrementa. Useful Not useful Esto lo logramos con las instrucciones CLD o STD. En CX hemos especificado el número de elementos de la cadena. En este caso las
Home
Saved
Bestsellers
Books
Audiobooks
Magazines
News
Documents
Sheet Music
Upload
Sign In
Join
Search
Home
Saved
6.1K views
0
Upload
Sign In
RELATED TITLES
0
Ejercicios Emu8086 Uploaded by Keny Orlando M. Cano
Bestsellers
Books
Audiobooks Magazines
News
Documents
Save
Embed
Share
Print
Sheet Music
Unidad III y IV Lenguajes y
1
Download
Join
of 80
unidad 2 ensamblador
Introduccion Al Lenguaje
Search document
2 - Componente rojo del carácter 1 - Componente verde del carácter 0 - Componente azul del carácter Como vemos en nuestro ejemplo (0001 1100 0000 0000), hemos activado el componente azul del fondo, la intensidad y el componente rojo de los caracteres.
código carácter (1 byte): Podemos elegir de la tabla ASCII aquel carácter que prefiramos. Como carácter elegimos el 00h, que en la tabla ASCII va a equivaler a dejar el fondo sin ningún carácter. Si quiesiesemos que apareciese el carácter 'V' e el fondo pues cogeríamos el 56h. Cuando ejecutemos el programa, si queremos volver a tener nuestra pantalla como antes, basta con un un simple: C:\>cls
Volveremos a tener la pantalla con letras blancas sobre fondo negro.
1. Realizar un programa que muestre la tabla de caracteres ASCII por pantalla
2. 3. ;---------------------------------------------------------------------------You're Reading a Preview 4. ; Programa que muestra la tabla de caracteres ASCII por pantalla 5. ;----------------------------------------------------------------Unlock full access with a free trial. -----------6. PANTALLA equ 0B800h 7. Download With Free Trial 8. ;---------------------------------------------------------------------------9. ;Definicion del segmento de pila 10. ;--------------------------------------------------------------------------11. PILA SEGMENT STACK "STACK" 12. db 40h dup(0) Sign up to vote on this title 13. PILA ENDS Useful Not useful 14. 15. ;---------------------------------------------------------------------------
Home
Saved
Bestsellers
Books
Audiobooks
Magazines
News
Documents
Sheet Music
Upload
Sign In
Join
Search
Home
Saved
6.1K views
0
Upload
Sign In
RELATED TITLES
0
Ejercicios Emu8086 Uploaded by Keny Orlando M. Cano
Bestsellers
Books
Audiobooks Magazines
News
Documents
Save
Embed
Share
Print
Sheet Music
Unidad III y IV Lenguajes y
1
Download
Join
of 80
29. 30.
mostrar_ascii: mov [bx],al pantalla 31. inc bx 32. inc bx 33. inc al 34. loop mostrar_ascii 35. 36. mov ax,4C00h 37. int 21h 38. 39. CODE ENDS 40. END START
unidad 2 ensamblador
Introduccion Al Lenguaje
Search document
;Escribirlo en la coordenada de ; ;Pasar a la siguiente coordenada ;Pasar al siguiente caracter
; ;Terminar el programa
41. Este programa se encarga de dibujar un cuadrado en la pantalla, ponerlo con fondo blanco y rellenarlo con caracteres 'V': 42. 43. 44. 45.
PANTALLA equ 0B800h
;--------------------------------------------------------------------------46. ;Definicion del segmento de pila 47. ;--------------------------------------------------------------------------48. PILA SEGMENT STACK "STACK" 49. db 40h dup(0) 50. PILA ENDS You're Reading a Preview 51. 52. ;--------------------------------------------------------------Unlock full access with a free trial. ------------53. ;Definicion del segmento de codigo Download With Free Trial 54. ;--------------------------------------------------------------------------55. CODE SEGMENT 56. assume CS:code, SS:pila 57. 58. START: 59. mov ax,PANTALLA Sign up to vote on this title 60. mov ds,ax 61. Useful Not useful 62. mov dl,0 ;Primera linea en la que empezaremos a pintar 63. mov cx,10 ;Numero de lineas que vamos
Home
Saved
Bestsellers
Books
Audiobooks
Magazines
News
Documents
Sheet Music
Upload
Sign In
Join
Search
Home
Saved
6.1K views
0
Upload
Sign In
RELATED TITLES
0
Ejercicios Emu8086 Uploaded by Keny Orlando M. Cano
Bestsellers
Books
Audiobooks Magazines
News
Documents
Save
Embed
Share
Print
Sheet Music
Unidad III y IV Lenguajes y
1
Download
Join
77. 78. 79. 80. 81. 82.
of 80
unidad 2 ensamblador
Introduccion Al Lenguaje
Search document
add mov inc loop
bx,ax word ptr [bx],7056h dh BucleColumnas
;Fondo blanco y letra 'V' ;Siguiente columna
pop
cx
;Recuperamos el contador de
lineas 83. 84. 85. 86. 87. 88. 89. 90.
inc dl loop BucleLineas mov int
;Pasar a la siguiente linea
ax,4C00h 21h
CODE ENDS END START
91. Este programa le pregunta al usuario si desea continuar o no hasta que se pulse la tecla 'N' o 'n': 92. 93. 94. 95. 96.
cr equ 13 lf equ 10
;retorno de carro ;alimentacion de linea
;--------------------------------------------------------------------------97. ;Definicion del segmento de datos 98. ;--------------------------------------------------------------------------You're Reading a Preview 99. DATOS SEGMENT 100. DeseaContinuar cr,lf,'Desea continuar? S/N: ' Unlockdb full access with a free trial. 101. db'$' 102. continuando db ' Continuando...',cr,lf Download With Free Trial 103. db'$' 104. LetraErronea db ' La tecla pulsada es incorrecta.',cr, 105. db'$' 106. DATOS ENDS 107. 108. ;-------------------------------------------------------------------------- Sign up to vote on this title 109. ;Definicion del segmento de pila 110. ;-------------------------------------------------------------- Useful Not useful ------------111. PILA SEGMENT STACK "STACK" 112. db 40h dup(?)
Home
Saved
Bestsellers
Books
Audiobooks
Magazines
News
Documents
Sheet Music
Upload
Sign In
Join
Search
Home
Saved
6.1K views
0
Upload
Sign In
RELATED TITLES
0
Ejercicios Emu8086 Uploaded by Keny Orlando M. Cano
Bestsellers
Books
Audiobooks Magazines
News
Documents
Save
Embed
Share
Print
Download
Sheet Music
Join
Unidad III y IV Lenguajes y
1
of 80
unidad 2 ensamblador
Introduccion Al Lenguaje
Search document
124. jmp continuar ;Saltamos a la etiqueta CONTINUAR 125. 126. INICIO: 127. lea dx,continuando ; 128. mov ah,9 ; 129. int 21h ;Mensaje de que seguimos en programa 130. jmp continuar ;Salto para preguntar si se desea continuar 131. 132. ERROR: 133. lea dx,LetraErronea ; 134. mov ah,9 ;Mensaje de que la letra introducida 135. int 21h ;no es correcta 136. 137. CONTINUAR: 138. lea dx,DeseaContinuar ; 139. mov ah,9 ; 140. int 21h ;Mostrar pregunta para ver si desea continuar 141. 142. mov ah,1 ;Esperar a que se pulse una tecl 143. int 21h ;y mostrarla por pantalla 144. You're Reading a;Preview 145. cmp al, 'S' 146. je inicio ; Unlock full access with a free trial. 147. cmp al, 's' ; 148. je inicio ;Desea continuar 149. Download With Free Trial 150. cmp al, 'N' ; 151. je salir ; 152. cmp al, 'n' ; 153. je salir ;No desea continuar, terminamos 154. 155. jmp error ;La tecla pulsada no es 'S', 's' 'N' ni 'n' Sign up to vote on this title 156. ;Se va a mostrar un mensaje de Useful Not useful error. Saltamos 157. ;a la etiqueta ERROR 158.
Home
Saved
Bestsellers
Books
Audiobooks
Magazines
News
Documents
Sheet Music
Upload
Sign In
Join
Search
Home
Saved
6.1K views
0
Upload
Sign In
RELATED TITLES
0
Ejercicios Emu8086 Uploaded by Keny Orlando M. Cano
Bestsellers
Books
Audiobooks Magazines
News
Documents
Save
Embed
Share
Print
Download
Sheet Music
Join
Unidad III y IV Lenguajes y
1
of 80
unidad 2 ensamblador
Introduccion Al Lenguaje
Search document
171. ;--------------------------------------------------------------------------172. PILA SEGMENT STACK "STACK" 173. db 40h dup(0) 174. PILA ENDS 175. 176. ;--------------------------------------------------------------------------177. ;Definicion del segmento de codigo 178. ;--------------------------------------------------------------------------179. CODE SEGMENT 180. assume CS:code, SS:pila 181. 182. START: 183. mov ax,pantalla ; 184. mov ds,ax ;DS apunta a la direccion de la pantalla 185. 186. xor bx,bx 187. mov cx,2000 ;80 filas x 25 columnas 188. 189. cambia_minus: 190. mov al,ds:[bx] ;Obtenemos el caracter que hay en pantalla 191. ;en la coordenada indicada You're Reading a Preview que este entre la letra 192. cmp al,byte ptr 'A' ;Comprobar 'A' 193. jb siguienteUnlock full access with ; a free trial. 194. cmp al,byte ptr 'Z' ;y la letra 'Z' 195. ja siguienteDownload With ;Si noTrial es asi pasamos al siguiente Free caracter 196. add al,32 ;Para pasar de mayusculas a minusculas 197. ;hay que sumar 32 para movernos en la 198. ;tabla ASCII de las mayusculas a l minusculas Sign up to vote on this title 199. mov ds:[bx],al ;Escribimos en la pantalla el Useful Not useful caracter cambiado 200. ;a minusculas 201. siguiente:
Home
Saved
Bestsellers
Books
Audiobooks
Magazines
News
Documents
Sheet Music
Upload
Sign In
Join
Search
Home
Saved
6.1K views
0
Upload
Sign In
RELATED TITLES
0
Ejercicios Emu8086 Uploaded by Keny Orlando M. Cano
Bestsellers
Books
Audiobooks Magazines
News
Documents
Save
Embed
Share
Print
Download
Sheet Music
Join
Unidad III y IV Lenguajes y
1
of 80
unidad 2 ensamblador
Introduccion Al Lenguaje
Search document
Vamos a ver diferentes ejemplos de instrucciones para entenderlas un poco mejor. Será bueno tener un libro al lado para saber qué hace cada instrucción. 1. Ejemplo de las instrucciones: CBW y CWD
2. 3. ;---------------------------------------------------------------------------4. ;Definicion del segmento de pila 5. ;---------------------------------------------------------------------------6. PILA SEGMENT STACK "STACK" 7. db 40h dup(0) 8. PILA ENDS 9. 10. ;--------------------------------------------------------------------------11. ;Definicion del segmento de codigo 12. ;--------------------------------------------------------------------------13. CODE SEGMENT 14. assume CS:code, SS:pila 15. 16. START: 17. mov ah,3 ;No sirve para nada, solo para ver que convertir You're Reading a Preview 18. ;en palabra o doble palabra se machacan los registros Unlock full access with a free trial. 19. mov al,5 20. cbw ;Convertir un byte en palabra 21. cwd ;Convertir una palabra en doble palabra Download With Free Trial 22. 23. neg al ;al pasa a ser un numero negativo (complemento a 2) 24. mov ah,4 ;basura, igual que en caso anterior 25. cbw ;Convertir un byte en palabra 26. cwd ;Convertir una palabra en doble palabra 27. Sign up to vote on this title 28. mov ax,4C00h Useful Not useful 29. int 21h 30. 31. CODE ENDS
Home
Saved
Bestsellers
Books
Audiobooks
Magazines
News
Documents
Sheet Music
Upload
Sign In
Join
Search
Home
Saved
6.1K views
0
Upload
Sign In
RELATED TITLES
0
Ejercicios Emu8086 Uploaded by Keny Orlando M. Cano
Bestsellers
Books
Audiobooks Magazines
News
Documents
Save
Embed
Share
Print
Sheet Music
Unidad III y IV Lenguajes y
1
Download
Join
of 80
unidad 2 ensamblador
Introduccion Al Lenguaje
Search document
44. 45.
;Definicion del segmento de codigo ;--------------------------------------------------------------------------46. CODE SEGMENT 47. assume CS:code 48. 49. START: 50. 51. mov al,9 52. mov cl,5 53. mul cl ;Resultado: ax=002D 54. aam ;En el cociente hay un 4 y en el resto un 55. ;Resultado es ax=0405 56. 57. mov ax,4c00h 58. int 21h 59. 60. CODE ENDS 61. END START
62. Ejemplo de la instruccion: AAA (ajuste ASCII en suma) 63. 64.
;--------------------------------------------------------------------------65. ; Programa que muestra el uso de la instruccion AAA. Esta instruccion convierte 66. ; el contenido de AL en un numero decimal ASCII (desempaquetado) You're Reading a Preview tras una 67. ; instruccion de suma. Se utiliza para ajustar el resultado Unlock full access with a free trial. despues de una suma 68. ; de dos numeros decimales en formato ASCII 69. ;--------------------------------------------------------------Download With Free Trial ------------70. 71. ;--------------------------------------------------------------------------72. ;Definicion del segmento de pila 73. ;-------------------------------------------------------------- ------------Sign up to vote on this title 74. PILA SEGMENT STACK "STACK" Useful Not useful 75. db 40h dup(0) 76. PILA ENDS 77.
Home
Saved
Bestsellers
Books
Audiobooks
Magazines
News
Documents
Sheet Music
Upload
Sign In
Join
Search
Home
Saved
6.1K views
0
Upload
Sign In
RELATED TITLES
0
Ejercicios Emu8086 Uploaded by Keny Orlando M. Cano
Bestsellers
Books
Audiobooks Magazines
News
Documents
Save
Embed
Share
Print
Download
Sheet Music
Join
Unidad III y IV Lenguajes y
1
of 80
91. aaa 92. mov ax,11110001b 93. add al,1 94. aaa 95. mov ax,8 96. add al,7 97. aaa 98. add al,4 99. aaa 100. add al,9 101. aaa 102. 103. 104. mov ax,4C00h 105. int 21h 106. 107. START ENDP 108. 109. CODE ENDS 110. END START
unidad 2 ensamblador
Introduccion Al Lenguaje
Search document
;AX=0100h ; ; ;AX=0002h ; ; ;AX=0105h ; ;AX=0109h ; ;AX=0208h
; ;Terminar el programa
Ejemplo de la instruccion: AAA (ajuste ASCII en suma). Del examen 111. ETCII del año 2001:
112. 113. ;--------------------------------------------------------------------------114. ; Programa que prueba la Reading instruccion: AAA You're a Preview 115. ; 116. ; ah <- cociente (al/0Ah) Unlock full access with a free trial. 117. ; al <- resto (al/0Ah) 118. ; Download With Free Trial 119. ;--------------------------------------------------------------------------120. ; Ejercicio: examen ETCII - 7/11/01 121. 122. ;--------------------------------------------------------------------------123. ;Definicion del segmento de codigo Sign up to vote on this title 124. ;-------------------------------------------------------------------------- Useful Not useful 125. 126. CODE SEGMENT 127. assume CS:code
Home
Saved
Bestsellers
Books
Audiobooks
Magazines
News
Documents
Sheet Music
Upload
Sign In
Join
Search
Home
Saved
6.1K views
0
Upload
Sign In
RELATED TITLES
0
Ejercicios Emu8086 Uploaded by Keny Orlando M. Cano
Bestsellers
Books
Audiobooks
Save
Embed
Share
Print
Magazines
News
Documents
142.
Sheet Music
Unidad III y IV Lenguajes y
1
Download
Join
143.
of 80
unidad 2 ensamblador
Introduccion Al Lenguaje
Search document
END START
Ejemplo que muestra la diferencia entre las instrucciones: AAA y DAA
144. 145. ;--------------------------------------------------------------------------146. ; Programa que prueba las instrucciones: AAA y DAA 147. ;--------------------------------------------------------------------------148. ;--------------------------------------------------------------------------149. ;Definicion del segmento de pila 150. ;--------------------------------------------------------------------------151. PILA SEGMENT STACK "STACK" 152. db 40h dup(0) 153. PILA ENDS 154. 155. ;--------------------------------------------------------------------------156. ;Definicion del segmento de codigo 157. ;--------------------------------------------------------------------------158. CODE SEGMENT 159. assume CS:code, SS:pila 160. 161. START: You're Reading a Preview 162. mov al,5 163. add al,7 Unlock full access with a free trial. 164. aaa ;Ajuste BCD no empaquetado 165. 166. xor ax,ax Download With Free Trial 167. 168. mov al,5 169. add al,7 170. daa ;Ajuste BCD empaquetado 171. 172. mov ax,4C00h 173. int 21h Sign up to vote on this title 174. Useful Not useful 175. CODE ENDS 176. END START
177.
Ejemplo de la instrucción NEG (convertir a complemento a 2):
Home
Saved
Bestsellers
Books
Audiobooks
Magazines
News
Documents
Sheet Music
Upload
Sign In
Join
Search
Home
Saved
6.1K views
0
Upload
Sign In
RELATED TITLES
0
Ejercicios Emu8086 Uploaded by Keny Orlando M. Cano
Bestsellers
Books
Audiobooks Magazines
News
Documents
Save
Embed
Share
Print
Download
Sheet Music
Join
Unidad III y IV Lenguajes y
1
of 80
unidad 2 ensamblador
Introduccion Al Lenguaje
Search document
188. ;--------------------------------------------------------------------------189. CODE SEGMENT 190. assume CS:code, SS:pila 191. 192. START: 193. 194. mov al,8 195. neg al ;Convertir a su complemento a 2 196. 197. mov ax,4C00h 198. int 21h 199. 200. CODE ENDS 201. END START
Otra forma de convertir a complemento a 2 mediante las instrucciones 202. NOT e INC:
203. 204. ;--------------------------------------------------------------------------205. ;Definicion del segmento de pila 206. ;--------------------------------------------------------------------------207. PILA SEGMENT STACK "STACK" 208. db 40h dup(0) 209. PILA ENDS You're Reading a Preview 210. 211. ;--------------------------------------------------------------Unlock full access with a free trial. ------------212. ;Definicion del segmento de codigo Download With Free Trial 213. ;--------------------------------------------------------------------------214. CODE SEGMENT 215. assume CS:code, SS:pila 216. 217. START: 218. Sign up to vote on this title 219. mov al,8 220. not al ; Useful Not useful 221. inc al ;Convertir a su complemento a 2 222. 223. mov ax,4C00h
Home
Saved
Bestsellers
Books
Audiobooks
Magazines
News
Documents
Sheet Music
Upload
Sign In
Join
Search
Home
Saved
6.1K views
0
Upload
Sign In
RELATED TITLES
0
Ejercicios Emu8086 Uploaded by Keny Orlando M. Cano
Bestsellers
Books
Audiobooks Magazines
News
Documents
Save
Embed
Share
Print
Download
Sheet Music
Join
Unidad III y IV Lenguajes y
1
of 80
unidad 2 ensamblador
Introduccion Al Lenguaje
Search document
1. Realizar un programa que guarde el estado de la pantalla con todos sus caracteres, después rellene toda la pantalla con '*' y por último vuelva a deja la pantalla como estaba:
2. 3. ;---------------------------------------------------------------------------4. ;Programa que guarda el estado de la pantalla con todos sus caracteres, despues 5. ;rellena toda la pantalla con '*' y por ultimo vuelve a dejar la pantalla como 6. ;estaba 7. ;---------------------------------------------------------------------------8. 9. PANTALLA equ 0B800h 10. 11. ;--------------------------------------------------------------------------12. ;Definicion del segmento de datos 13. ;--------------------------------------------------------------------------14. DATOS SEGMENT 15. 16. pantalla_bak db 80*25*2 DUP(?) ;Reservar una variable para guardar toda la 17. ;informacion de la pantalla You're Reading a Preview 18. DATOS ENDS Unlock full access with a free trial. 19. 20. ;--------------------------------------------------------------------------Download 21. ;Definicion del segmento de With pilaFree Trial 22. ;--------------------------------------------------------------------------23. PILA SEGMENT STACK "STACK" 24. db 40h dup(0) 25. PILA ENDS 26. Sign up to vote on this title 27. ;-------------------------------------------------------------------------- Useful Not useful 28. ;Definicion del segmento extra 29. ;---------------------------------------------------------------
Home
Saved
Bestsellers
Books
Audiobooks
Magazines
News
Documents
Sheet Music
Upload
Sign In
Join
Search
Home
Saved
6.1K views
0
Upload
Sign In
RELATED TITLES
0
Ejercicios Emu8086 Uploaded by Keny Orlando M. Cano
Bestsellers
Books
Audiobooks Magazines
News
Documents
Save
Embed
Share
Print
Sheet Music
Unidad III y IV Lenguajes y
1
Download
Join
42. 43. 44. 45. 46. 47. 48. 49.
of 80
unidad 2 ensamblador
Introduccion Al Lenguaje
Search document
mov
ds,ax
xor mov mov lea
si,si ax,datos es,ax di,pantalla_bak
;Apuntar a la variable
mov
cx,80*25*2
;Numero de bytes que tenemos que
copiar 50. 51. 52. 53.
cld
;Direccion para incrementar DI y
backup: movsb memoria apuntada
54.
;Mover el contenido de la direccion de ;por SI a la apuntada por DI, en este
caso la variable 55. 56. 57. 58. 59. 60. 61. 62. 63. 64. 65. 66. 67. 68. 69. 70. 71. 72. 73. 74. 75. 76. 77. 78. 79. 80.
;pantalla_bak loop backup mov xor mov mov llena: mov inc inc loop
cx,80*25 bx,bx al,'*' ah,70h
[bx],ax bx bx llena
; ; ; ;Llenar la pantalla de '*'
You're Reading a Preview Unlock full access with a free trial.
; With Free Trial Download
push push pop pop
ds es ds es
xor lea
di,di si,pantalla_bak
; ; ;Intercambiar DS y ES
Sign up to vote on this title
xor int
ah,ah 16h
; Useful useful Notuna ;Esperar a que se pulse tecla
mov
cx,4000
;Los 4000 bytes de la pantalla
Home
Saved
Bestsellers
Books
Audiobooks
Magazines
News
Documents
Sheet Music
Upload
Sign In
Join
Search
Home
Saved
6.1K views
0
Upload
Sign In
RELATED TITLES
0
Ejercicios Emu8086 Uploaded by Keny Orlando M. Cano
Bestsellers
Books
Audiobooks
Save
Embed
Share
Print
Magazines
News
Documents
93.
Sheet Music
Unidad III y IV Lenguajes y
1
Download
Join
of 80
unidad 2 ensamblador
Introduccion Al Lenguaje
Search document
;--------------------------------------------------------------------------94. ;Devuelve la primera posicion en que se ha encontrado el caracte a buscar 95. ;--------------------------------------------------------------------------96. 97. CARACTER equ 'v' 98. 99. ;--------------------------------------------------------------------------100. ;Definicion del segmento de datos 101. ;--------------------------------------------------------------------------102. DATOS SEGMENT 103. mensaje db "www.victorsanchez2.net" 104. msg_caracter db "El caracter: " 105. msg_posicion db "Se encuentra en la posicion: " 106. DATOS ENDS 107. 108. ;--------------------------------------------------------------------------109. ;Definicion del segmento de pila 110. ;--------------------------------------------------------------------------111. PILA SEGMENT STACK "STACK" 112. db 40h DUP(0) You're Reading a Preview 113. PILA ENDS Unlock full access with a free trial. 114. 115. ;--------------------------------------------------------------------------Download With Free Trial 116. ;Definicion del segmento extra 117. ;--------------------------------------------------------------------------118. EXTRA SEGMENT 119. RESULT DW 0,0 120. EXTRA ENDS 121. Sign up to vote on this title 122. ;-------------------------------------------------------------- Useful Not useful ------------123. ;Definicion del segmento de codigo 124. ;---------------------------------------------------------------
Home
Saved
Bestsellers
Books
Audiobooks
Magazines
News
Documents
Sheet Music
Upload
Sign In
Join
Search
Home
Saved
6.1K views
0
Upload
Sign In
RELATED TITLES
0
Ejercicios Emu8086 Uploaded by Keny Orlando M. Cano
Bestsellers
Books
Audiobooks Magazines
News
Documents
Save
Embed
Share
Print
Download
Sheet Music
Join
Unidad III y IV Lenguajes y
1
of 80
unidad 2 ensamblador
Introduccion Al Lenguaje
Search document
138. mov ax,0B800h ;En esta direccion comienza la memoria video 139. mov es,ax ;Lo cargamos en el segmento extra 140. xor di,di ;Ponemos DI=0 141. mov cx,80*25 ;80 lineas x 25 columnas 142. xor al,al ;0=" " Rellenar la pantalla con blanc 143. mov ah,0Fh ;Fondo negro, letras blancas 144. rep stosw 145. 146. lea si,mensaje ;Cargar el mensaje donde buscaremos 147. mov al,CARACTER ;Cargar el caracter a buscar 148. mov cx,22 ;Longitud maxima para buscar (longitud 'mensaje') 149. 150. call busca_fin ;Buscar la posicion en que se encuentra el CARACTER 151. 152. mov ax,0B800h ; 153. mov es,ax ;Colocarnos al inicio de la memoria de video 154. add cl,30h ;Preparar CL para mostrar el caracter pantalla 155. push cx ;Guardarlo para recuperarlo despues 156. 157. mov di,(80*2)*2 ;Colocarnos en la segunda fila 158. lea si,mensaje ;Colocar el offset de mensaje en si You're Reading Preview 159. mov cx,22 ;Total ade caracteres de mensaje 160. call pinta ;Mostrarlo por pantalla Unlock full access with a free trial. 161. 162. mov di,(80*4)*2 ;Nos colocamos en la cuarta fila 163. lea si,msg_caracter offset Download;Cargar With Freeel Trial 164. mov cx,13 ;Total de caracteres de mensaje 165. call pinta ;Mostrarlo por pantalla 166. 167. mov di,(80*4+13)*2 ;Colocarnos al final del msg_caracter 168. mov byte ptr es:[di],CARACTER ;Mostrar el CARACTER por pantalla Sign up to vote on this title 169. Not useful Useful 170. mov di,(80*5)*2 ;Ponernos en laquinta fila 171. lea si,msg_posicion ;Cargar el offset 172. mov cx,29 ;Total de caracteres de mensaje
Home
Saved
Bestsellers
Books
Audiobooks
Magazines
News
Documents
Sheet Music
Upload
Sign In
Join
Search
Home
Saved
6.1K views
0
Upload
Sign In
RELATED TITLES
0
Ejercicios Emu8086 Uploaded by Keny Orlando M. Cano
Bestsellers
Books
Audiobooks Magazines
News
Documents
Save
Embed
Share
Print
Download
Sheet Music
Join
Unidad III y IV Lenguajes y
1
of 80
unidad 2 ensamblador
Introduccion Al Lenguaje
Search document
186. ; 187. ; in: AL contiene el caracter que debemos buscar 188. ; SI contiene la cadena que debemos buscar 189. ; out: En CX se guarda la posicion donde se ha encontrado el caracter 190. ; machaca: CX 191. ; make: Devuelve en CX la primera posicion donde se ha encontrad el caracter 192. ; dado en AL 193. ;--------------------------------------------------------------------------194. 195. busca_fin proc near 196. 197. push di 198. push dx 199. push es 200. push si 201. push ax 202. 203. mov ax,ds ; 204. mov es,ax ; 205. mov di,si ;Copiar DS:SI en ES:DI 206. 207. mov dx,cx ;Copiar el limite en otro registro 208. cld ;Direccion incremental You're Readingel a Preview 209. pop ax ;Recuperar caracter que nos han pedido 210. push ax ;Guardarlo en la pila para no perderlo Unlock full access with a free trial. 211. repnz scasb ;Buscar el caracter pedido 212. sub dx,cx ;Calcular la longitud 213. mov cx,dx ;GuardarWith la Free longitud Download Trial en CX 214. 215. pop ax 216. pop si 217. pop es 218. pop dx 219. pop di 220. ret Sign up to vote on this title 221. Useful Not useful 222. busca_fin endp 223. 224. ;---------------------------------------------------------------
Home
Saved
Bestsellers
Books
Audiobooks
Magazines
News
Documents
Sheet Music
Upload
Sign In
Join
Search
Home
Saved
6.1K views
0
Upload
Sign In
RELATED TITLES
0
Ejercicios Emu8086 Uploaded by Keny Orlando M. Cano
Bestsellers
Books
Audiobooks Magazines
News
Documents
Save
Embed
Share
Print
Sheet Music
Unidad III y IV Lenguajes y
1
Download
Join
of 80
238. push di 239. 240. mov ah,0Fh 241. 242. pintar: 243. mov al,[si] 244. mov es:[di],ax 245. inc si 246. inc di 247. inc di 248. loop pintar 249. 250. pop di 251. pop si 252. pop ax 253. ret 254. 255. pinta endp 256. 257. CODE ENDS 258. END START
unidad 2 ensamblador
Introduccion Al Lenguaje
Search document
;Fondo negro y letras blancas ; ; ; ; ; ; ;Mostrarlo por pantalla
259. Hacer un programa que muestre la sucesión de códigos ASCII en la esquina superior derecha de la pantalla, intercambiando los caracteres cada medio segundo. Este programa ya es algo más complejo que los anteriores ya que empezamos a trabajar con programas residentes y el RTC. Os recomiend You're Readingde a Preview que aprendais bien las características los programas residentes y programación del RTC Unlock antes full deaccess intentar este ejercicio por with acomprender free trial. completo. Este tipo de ejercicios van un nivel más allá, y si de verdad no comprendeis bien este tipo de ejercicios es mejor que os cojais libros, apuntes Download With Free Trial lo que sea y lo domineis con soltura. Un comando que os puede servir de ayuda es: MEM /C
memor Con este podemos saber los programas que hay Sign residentes up to vote onen thisnuestra title Al escribir esto veremos como aparece el programa nombre ASCII, que Not useful Useful de ocupa 0,4K. Para ensamblar y ejecutar este programa, al ser .COM, hay que hacerlo con
Home
Saved
Bestsellers
Books
Audiobooks
Magazines
News
Documents
Sheet Music
Upload
Sign In
Join
Search
Home
Saved
6.1K views
0
Upload
Sign In
RELATED TITLES
0
Ejercicios Emu8086 Uploaded by Keny Orlando M. Cano
Bestsellers
Books
Audiobooks Magazines
News
Documents
Save
Embed
Share
Print
Sheet Music
Unidad III y IV Lenguajes y
1
Download
Join
of 80
unidad 2 ensamblador
Introduccion Al Lenguaje
Search document
;---------------------------------------------------------------------------PANTALLA equ 0b800h
;---------------------------------------------------------------------------;Definicion del segmento de codigo ;---------------------------------------------------------------------------CODE SEGMENT assume CS:code org 100h ;Dejar las 100h primeras posiciones para el PSP START: jmp instalar
;Bifurcar a la rutina de instalacion
letras proc far push ax push es push di
; ; ;Guardamos los registros en la pila
mov out in
al,0Ch 70h,al al,71h
; ; ;Leer el RTC
mov mov mov mov inc mov
ax,PANTALLA Unlock full access with a free trial. es,ax di,79*2 ax,es:[di] Download ;Guardamos AX lo que hay en la esquina With FreeenTrial al ;Pasamos al siguiente caracter es:[di],ax ;Lo mostramos por pantalla
cli mov out out sti
al,20h 20h,al 0A0h,al
pop pop
di es
You're Reading a Preview
;Inhabilitar las interrupciones
Sign up to vote on this title ;Habilitar las interrupciones Useful Not useful ; ;
Home
Saved
Bestsellers
Books
Audiobooks
Magazines
News
Documents
Sheet Music
Upload
Sign In
Join
Search
Home
Saved
6.1K views
0
Sign In
Upload
RELATED TITLES
0
Ejercicios Emu8086 Uploaded by Keny Orlando M. Cano
Bestsellers
Books
Audiobooks Magazines
News
Documents
Save
Embed
Share
Print
Sheet Music
Unidad III y IV Lenguajes y
1
Download
Join
of 80
unidad 2 ensamblador
Introduccion Al Lenguaje
Search document
out
0A1h,al
;Activamos IR0
in and out
al,21h al,11111011b 21h,al
;Leer el PIC maestro ; ;Activado
al,0Ah 70h,al al,2Fh
;Vamos a escribir en el registro A del ; ;Los simbolos se intercambian cada medio
71h,al
;Lo indicamos en el registro A del RTC
al,0Bh 70h,al al,71h al,01000000b 71h,al
;Vamos a escribir en el registro B del
mov out mov segundo out mov out in or out sti
; ;Activamos las interrupciones periodicas ;Habilitar las interrupciones
lea dx,instalar int 27h instalar endp CODE ENDS END START
You're Reading a Preview Unlock full access with a free trial.
260. Algo muy importante es el programa que sirve para desinstalar y restaurar todo lo que hizo el programa anterior. Si no lo hacemos seguirá Download With Free Trial mostrándose la sucesión de los caracteres ASCII mientras mantengamos encendido el ordenador. Después de ensamblar y ejecutar el programa con: C:\>tasm /zi archivo C:\>tlink /v archivo C:\>archivo
Sign up to vote on this title
Useful
Not useful
Este programa no es .COM, por lo tanto usamos las banderas habituales. Después de ejecutarlo, si volvemos a escribir "MEM /C" veremos que nuestr
Home
Saved
Bestsellers
Books
Audiobooks
Magazines
News
Documents
Sheet Music
Upload
Sign In
Join
Search
Home
Saved
6.1K views
0
Upload
Sign In
Join
RELATED TITLES
0
Ejercicios Emu8086 Uploaded by Keny Orlando M. Cano
Bestsellers
Books
Audiobooks
Save
Embed
Share
Print
Unidad III y IV Lenguajes y
1
Download
Magazines
News
Documents
Sheet Music
of 80
unidad 2 ensamblador
Introduccion Al Lenguaje
Search document
;---------------------------------------------------------------------------PILA SEGMENT STACK "STACK" DB 40h dup(0) PILA ENDS
;---------------------------------------------------------------------------;Definicion del segmento extra ;---------------------------------------------------------------------------EXTRA SEGMENT RESULT DW 0,0 EXTRA ENDS
;---------------------------------------------------------------------------;Definicion del segmento de codigo ;---------------------------------------------------------------------------CODE SEGMENT ASSUME CS:CODE,SS:pila START PROC FAR call desinstalar mov int
ax,4C00hYou're Reading a Preview ; 21h ;Terminar el programa Unlock full access with a free trial.
START ENDP
Download With Free Trial
;---------------------------------------------------------------------------; desinstalar ; ; in: ; out: ; machaca: Sign up to vote on this title ; make: Desinstala las interrupciones periodicas (PIE), desconecta Useful Not useful la ; interrupcion del RTC al PIC esclavo, restaura los vectores de
Home
Saved
Bestsellers
Books
Audiobooks
Magazines
News
Documents
Sheet Music
Upload
Sign In
Join
Search
Home
Saved
6.1K views
0
Sign In
Upload
Join
RELATED TITLES
0
Ejercicios Emu8086 Uploaded by Keny Orlando M. Cano
Bestsellers
Books
Audiobooks
Save
Embed
Share
Print
Unidad III y IV Lenguajes y
1
Download
Magazines
News
Documents
Sheet Music
of 80
mov al,0Bh out 70h,al and al,10111111b out 71h,al periodicas (PIE) in al,0A1h OR al,00000001B out 0A1h,al PIC esclavo
xor mov mov mov xor mov mov
unidad 2 ensamblador
Introduccion Al Lenguaje
Search document
;Registro B del PIC ; ; ;Deshabilitamos las interrupciones
;Leer el PIC esclavo ; ;desconectamos la interrupcion del RTC
;Restaurar los vectores de interrupcion ax,ax es,ax ax,es:[70h*4+2] ;Copia en DS el segmento de codigo del ds,ax ;programa a desinstalar ax,ax es:[70h*4],ax ;Poner el offset a 0 es:[70h*4+2],ax ;Poner CS a 0
;Desinstalar el programa residente mov ax,ds:[2Ch] ; mov es,ax ; mov ah,49h ; int 21h ;Desinstalar el PSP You're;Reading a Preview mov ax,ds mov es,ax ; Unlock full access with a free trial. mov ah,49h ; int 21h ;Desinstalar CS
Download With Free Trial
sti FIN: pop pop
;Habilitar las interrupciones
pop
ds
es ax ret
desinstalar ENDP
CODE ENDS
Sign up to vote on this title
Useful
Not useful
Home
Saved
Bestsellers
Books
Audiobooks
Magazines
News
Documents
Sheet Music
Upload
Sign In
Join
Search
Home
Saved
6.1K views
0
Upload
Sign In
RELATED TITLES
0
Ejercicios Emu8086 Uploaded by Keny Orlando M. Cano
Bestsellers
Books
Audiobooks Magazines
News
Documents
Save
Embed
Share
Print
Sheet Music
Unidad III y IV Lenguajes y
1
Download
Join
of 80
unidad 2 ensamblador
Introduccion Al Lenguaje
Search document
5. ;---------------------------------------------------------------------------6. ;Definicion del segmento de codigo 7. ;---------------------------------------------------------------------------8. 9. CODE SEGMENT 10. assume CS:code 11. 12. start: 13. 14. mov ax,16h 15. mov bx,191h 16. add ax,bx 17. aaa 18. add ax,7h 19. aaa 20. 21. mov ax,4c00h 22. int 21h 23. 24. CODE ENDS 25. END START
26. Hallar cual es el valor de AX tras la segunda instrucción AAA: 27. 28. 29. 30.
; Ejercicio: examen ETCII - Febrero 2000
You're Reading a Preview
;--------------------------------------------------------------Unlock full access with a free trial. ------------31. ;Definicion del segmento de codigo 32. ;--------------------------------------------------------------Download With Free Trial ------------33. 34. CODE SEGMENT 35. assume CS:code 36. 37. start: 38. Sign up to vote on this title 39. mov ax,123h Useful Not useful 40. mov bx,77h 41. add ax,bx 42. aaa
Home
Saved
Bestsellers
Books
Audiobooks
Magazines
News
Documents
Sheet Music
Upload
Sign In
Join
Search
Home
Saved
6.1K views
0
Upload
Sign In
RELATED TITLES
0
Ejercicios Emu8086 Uploaded by Keny Orlando M. Cano
Bestsellers
Books
Audiobooks
Save
Embed
Share
Print
Magazines
News
Documents
Unidad III y IV Lenguajes y
1
Download
Join
of 80
unidad 2 ensamblador
Introduccion Al Lenguaje
Search document
55.
Sheet Music
;--------------------------------------------------------------------------56. PILA SEGMENT STACK "STACK" 57. db 40h DUP(0) 58. PILA ENDS 59. 60. ;--------------------------------------------------------------------------61. ;Definicion del segmento de codigo 62. ;--------------------------------------------------------------------------63. CODE SEGMENT 64. assume cs:code,ss:pila 65. 66. START PROC 67. ;Inicializamos los registros de segmento 68. mov ax,pila 69. mov ss,ax 70. 71. mov ax,905h 72. mov bx,2h 73. aad 74. mov ah,10h 75. div bl 76. 77. mov ax,4C00h ; You're Reading a Preview el programa 78. int 21h ;Terminar 79. Unlock full access with a free trial. 80. START ENDP 81. 82. CODE ENDS Download With Free Trial 83. END START
84. Hallar el valor de AX tras la instrucción "aam": 85. 86.
;--------------------------------------------------------------------------87. ;Definicion del segmento de codigo 88. ;--------------------------------------------------------------Sign up to vote on this title ------------ Useful Not useful 89. CODE SEGMENT 90. assume CS:code 91.
Home
Saved
Bestsellers
Books
Audiobooks
Magazines
News
Documents
Sheet Music
Upload
Sign In
Join
Search
Home
Saved
6.1K views
0
Sign In
Upload
RELATED TITLES
0
Ejercicios Emu8086 Uploaded by Keny Orlando M. Cano
Bestsellers
Books
Audiobooks Magazines
News
Documents
Save
Embed
Share
Print
Sheet Music
Unidad III y IV Lenguajes y
1
Download
Join
of 80
unidad 2 ensamblador
Introduccion Al Lenguaje
Search document
106. ;--------------------------------------------------------------------------107. ;Definicion del segmento de pila 108. ;--------------------------------------------------------------------------109. PILA SEGMENT STACK "STACK" 110. db 40h DUP(0) 111. PILA ENDS 112. 113. ;--------------------------------------------------------------------------114. ;Definicion del segmento de codigo 115. ;--------------------------------------------------------------------------116. CODE SEGMENT 117. assume cs:code,ss:pila 118. 119. START PROC 120. 121. mov ax,23h 122. mov bx,77h 123. add ax,bx 124. xor ah,ah 125. daa 126. 127. mov ax,4C00h ; You're Reading a Preview el programa 128. int 21h ;Terminar 129. Unlock full access with a free trial. 130. START ENDP 131. 132. CODE ENDS Download With Free Trial 133. END START
7 Las soluciones y archivos fuente de todos los ejercicios podéis obtenerlos escribiéndom un e-mail para pedírmelos.
Sign up to vote on this title
Useful
Not useful
1. Hallar el valor de AX tras la instrucción "mov ax,[bp+1]": 2.
Home
Saved
Bestsellers
Books
Audiobooks
Magazines
News
Documents
Sheet Music
Upload
Sign In
Join
Search
Home
Saved
6.1K views
0
Upload
Sign In
RELATED TITLES
0
Ejercicios Emu8086 Uploaded by Keny Orlando M. Cano
Bestsellers
Books
Audiobooks Magazines
News
Documents
Save
Embed
Share
Print
Sheet Music
Unidad III y IV Lenguajes y
1
Download
Join
14. 15. 16. 17. 18. 19. 20. 21. 22. 23. 24. 25. 26. 27. 28. 29. 30. 31. 32. 33. 34.
of 80
unidad 2 ensamblador
Introduccion Al Lenguaje
Search document
assume cs:code,ss:pila START PROC ;Inicializamos los registros de segmento mov ax,pila mov ss,ax mov xor push push mov mov
cx,37FFh bx,bx cx bx bp,sp ax,[bp+1]
mov int
ax,4C00h 21h
; ;Terminar el programa
START ENDP CODE ENDS END START
35. Hallar el valor de AX tras la instrucción "mov ax,[bp+1]": 36. 37.
;--------------------------------------------------------------------------38. ;Definicion del segmento de pila You're Reading a Preview 39. ;--------------------------------------------------------------------------Unlock full access with a free trial. 40. PILA SEGMENT STACK "STACK" 41. db 40h DUP(0) 42. PILA ENDS Download With Free Trial 43. 44. ;--------------------------------------------------------------------------45. ;Definicion del segmento de codigo 46. ;-------------------------------------------------------------------------- 47. CODE SEGMENT Sign up to vote on this title 48. assume cs:code,ss:pila Useful Not useful 49. 50. START PROC 51. ;Inicializamos los registros de segmento
Home
Saved
Bestsellers
Books
Audiobooks
Magazines
News
Documents
Sheet Music
Upload
Sign In
Join
Search
Home
Saved
6.1K views
0
Upload
Sign In
RELATED TITLES
0
Ejercicios Emu8086 Uploaded by Keny Orlando M. Cano
Bestsellers
Books
Audiobooks Magazines
News
Documents
Save
Embed
Share
Print
Sheet Music
Unidad III y IV Lenguajes y
1
Download
Join
67. 68.
of 80
unidad 2 ensamblador
Introduccion Al Lenguaje
Search document
CODE ENDS END START
69. Hallar el valor de AX tras la instrucción "stosb": 70. 71.
;--------------------------------------------------------------------------72. ;Definicion del segmento de pila 73. ;--------------------------------------------------------------------------74. PILA SEGMENT STACK "STACK" 75. db 40h DUP(0) 76. PILA ENDS 77. 78. ;--------------------------------------------------------------------------79. ;Definicion del segmento extra 80. ;--------------------------------------------------------------------------81. EXTRA SEGMENT 82. RESULT DW 0,0 83. EXTRA ENDS 84. 85. ;--------------------------------------------------------------------------86. ;Definicion del segmento de codigo 87. ;--------------------------------------------------------------You're Reading a Preview ------------88. CODE SEGMENT Unlock full access with a free trial. 89. assume CS:code,ES:extra,SS:pila 90. 91. ;--------------------------------------------------------------Download With Free Trial ------------92. ; Procedimiento inicial 93. ;--------------------------------------------------------------------------94. START PROC 95. 96. mov si,40h Sign up to vote on this title 97. cld Useful Not useful 98. mov byte ptr ds:[si],0Fh 99. xor cx,cx 100. mov al,0F0h
Home
Saved
Bestsellers
Books
Audiobooks
Magazines
News
Documents
Sheet Music
Upload
Sign In
Join
Search
Home
Saved
6.1K views
0
Upload
Sign In
RELATED TITLES
0
Ejercicios Emu8086 Uploaded by Keny Orlando M. Cano
Bestsellers
Books
Audiobooks
Save
Embed
Share
Print
Magazines
News
Documents
115.
Sheet Music
Unidad III y IV Lenguajes y
1
Download
Join
of 80
unidad 2 ensamblador
Introduccion Al Lenguaje
Search document
Hallar el valor de AX tras la instrucción "rep lodsw":
116. 117. ;--------------------------------------------------------------------------118. ;Definicion del segmento de datos 119. ;--------------------------------------------------------------------------120. DATOS SEGMENT 121. texto db "Cadena_de_texto" 122. DATOS ENDS 123. 124. ;--------------------------------------------------------------------------125. ;Definicion del segmento de pila 126. ;--------------------------------------------------------------------------127. PILA SEGMENT STACK "STACK" 128. db 40h DUP(0) 129. PILA ENDS 130. 131. ;--------------------------------------------------------------------------132. ;Definicion del segmento de codigo 133. ;--------------------------------------------------------------------------134. CODE SEGMENT You're Reading a Preview 135. assume cs:code,ds:datos,ss:pila 136. Unlock full access with a free trial. 137. START PROC 138. ;Inicializamos los registros de segmento 139. mov ax,datos Download With Free Trial 140. mov ds,ax 141. mov ax,pila 142. mov ss,ax 143. 144. mov si,offset texto 145. cld 146. mov cx,5 Sign up to vote on this title 147. rep lodsw Useful Not useful 148. 149. mov ax,4C00h ; 150. int 21h ;Terminar el programa
Home
Saved
Bestsellers
Books
Audiobooks
Magazines
News
Documents
Sheet Music
Upload
Sign In
Join
Search
Home
Saved
6.1K views
0
Upload
Sign In
RELATED TITLES
0
Ejercicios Emu8086 Uploaded by Keny Orlando M. Cano
Bestsellers
Books
Audiobooks Magazines
News
Documents
Save
Embed
Share
Print
Sheet Music
Unidad III y IV Lenguajes y
1
Download
Join
of 80
unidad 2 ensamblador
Introduccion Al Lenguaje
Search document
163. DATOS ENDS 164. 165. ;--------------------------------------------------------------------------166. ;Definicion del segmento de pila 167. ;--------------------------------------------------------------------------168. PILA SEGMENT STACK "STACK" 169. db 40h DUP(0) 170. PILA ENDS 171. 172. ;--------------------------------------------------------------------------173. ;Definicion del segmento de codigo 174. ;--------------------------------------------------------------------------175. CODE SEGMENT 176. assume cs:code,ds:datos,ss:pila 177. 178. START PROC 179. ;Inicializamos los registros de segmento 180. mov ax,datos 181. mov ds,ax 182. mov ax,pila 183. mov ss,ax 184. 185. mov si,offsetYou're textoReading a Preview 186. add si,19h Unlock full access with a free trial. 187. std 188. mov cx,5 189. rep lodsw Download With Free Trial 190. 191. mov ax,4C00h ; 192. int 21h ;Terminar el programa 193. 194. START ENDP 195. 196. CODE ENDS Sign up to vote on this title 197. END START Useful Not useful
Y otro más. Las instrucciones de cadena son bastante potentes y como 198. podreis ver es mejor saber manejarlas con soltura: 199.
Home
Saved
Bestsellers
Books
Audiobooks
Magazines
News
Documents
Sheet Music
Upload
Sign In
Join
Search
Home
Saved
6.1K views
0
Upload
Sign In
RELATED TITLES
0
Ejercicios Emu8086 Uploaded by Keny Orlando M. Cano
Bestsellers
Books
Audiobooks Magazines
News
Documents
Save
Embed
Share
Print
Sheet Music
Unidad III y IV Lenguajes y
1
Download
Join
of 80
unidad 2 ensamblador
Introduccion Al Lenguaje
Search document
210. PILA SEGMENT STACK "STACK" 211. db 40h DUP(0) 212. PILA ENDS 213. 214. ;--------------------------------------------------------------------------215. ;Definicion del segmento de codigo 216. ;--------------------------------------------------------------------------217. CODE SEGMENT 218. assume cs:code,ds:datos,ss:pila 219. 220. START PROC 221. ;Inicializamos los registros de segmento 222. mov ax,datos 223. mov ds,ax 224. mov ax,pila 225. mov ss,ax 226. 227. mov si,offset texto 228. add si,0Dh 229. std 230. mov cx,5 231. rep lodsw 232. 233. mov ax,4C00h ; You're Reading a Preview el programa 234. int 21h ;Terminar 235. Unlock full access with a free trial. 236. START ENDP 237. 238. CODE ENDS Download With Free Trial 239. END START
240.
Hallar el valor de AX tras salir del bucle:
241. 242. ;--------------------------------------------------------------------------243. ;Definicion del segmento de pila 244. ;--------------------------------------------------------------Sign up to vote on this title ------------ Useful Not useful 245. PILA SEGMENT STACK "STACK" 246. db 40h DUP(0) 247. PILA ENDS
Home
Saved
Bestsellers
Books
Audiobooks
Magazines
News
Documents
Sheet Music
Upload
Sign In
Join
Search
Home
Saved
6.1K views
0
Upload
Sign In
RELATED TITLES
0
Ejercicios Emu8086 Uploaded by Keny Orlando M. Cano
Bestsellers
Books
Audiobooks Magazines
News
Documents
Save
Embed
Share
Print
Download
Join
Unidad III y IV Lenguajes y
1
of 80
261. xor ax,ax 262. mov cx,0FFFFh 263. L1: 264. add ax,bx 265. loop L1 266. 267. mov ax,4C00h 268. int 21h 269. 270. START ENDP 271. 272. CODE ENDS 273. END START
Sheet Music
unidad 2 ensamblador
Introduccion Al Lenguaje
Search document
; ;Terminar el programa
8
1. El siguiente programa le pide al usuario la confirmación de si desea continua y dependiendo de la respuesta se hará una cosa u otra:
2. 3. ;---------------------------------------------------------------------------4. ;Programa que le pregunta al usuario si desea continuar o no hasta que se pulse 5. ;la tecla 'N' o 'n' You're Reading a Preview 6. ;----------------------------------------------------------------Unlock full access with a free trial. -----------7. 8. cr equ 13 ;retorno de carro Download With Free Trial 9. lf equ 10 ;alimentacion de linea 10. 11. ;--------------------------------------------------------------------------12. ;Definicion del segmento de datos 13. ;-------------------------------------------------------------- ------------Sign up to vote on this title 14. DATOS SEGMENT 15. DeseaContinuar db cr,lf,'Desea continuar? S/N: ' Useful Not useful 16. db'$' 17. continuando db ' Continuando...',cr,lf
Home
Saved
Bestsellers
Books
Audiobooks
Magazines
News
Documents
Sheet Music
Upload
Sign In
Join
Search
Home
Saved
6.1K views
0
Upload
Sign In
RELATED TITLES
0
Ejercicios Emu8086 Uploaded by Keny Orlando M. Cano
Bestsellers
Books
Audiobooks
Save
Embed
Share
Print
Magazines
News
Documents
30.
Sheet Music
Unidad III y IV Lenguajes y
1
Download
Join
of 80
unidad 2 ensamblador
Introduccion Al Lenguaje
Search document
;--------------------------------------------------------------------------31. ;Definicion del segmento de codigo 32. ;--------------------------------------------------------------------------33. CODE SEGMENT 34. assume CS:code, DS:datos, SS:pila 35. 36. START: 37. mov ax,datos 38. mov ds,ax 39. jmp continuar ;Saltamos a la etiqueta CONTINUAR 40. 41. INICIO: 42. lea dx,continuando ; 43. mov ah,9 ; 44. int 21h ;Mensaje de que seguimos en programa 45. jmp continuar ;Salto para preguntar si se desea continuar 46. 47. ERROR: 48. lea dx,LetraErronea ; 49. mov ah,9 ;Mensaje de que la letra introducida You're Reading a Preview 50. int 21h ;no es correcta 51. Unlock full access with a free trial. 52. CONTINUAR: 53. lea dx,DeseaContinuar ; 54. mov ah,9 Download With Free ; Trial 55. int 21h ;Mostrar pregunta para ver si desea continuar 56. 57. mov ah,1 ;Esperar a que se pulse una tecl 58. int 21h ;y mostrarla por pantalla 59. 60. cmp al, 'S' ; Sign up to vote on this title 61. je inicio ; Useful Not useful 62. cmp al, 's' ; 63. je inicio ;Desea continuar 64.
Home
Saved
Bestsellers
Books
Audiobooks
Magazines
News
Documents
Sheet Music
Upload
Sign In
Join
Search
Home
Saved
6.1K views
0
Upload
Sign In
RELATED TITLES
0
Ejercicios Emu8086 Uploaded by Keny Orlando M. Cano
Bestsellers
Books
Audiobooks Magazines
News
Documents
Save
Embed
Share
Print
Sheet Music
Unidad III y IV Lenguajes y
1
Download
Join
78. 79.
of 80
unidad 2 ensamblador
Introduccion Al Lenguaje
Search document
CODE ENDS END START
80. Este programa cambia el color de fondo de una posición determinada de pantalla. Si se ejecuta varias veces seguidas veremos como cambia de blanco negro y viceversa: 81. 82. 83. 84.
PANTALLA equ 0B800h
;--------------------------------------------------------------------------85. ;Definicion del segmento de pila 86. ;--------------------------------------------------------------------------87. PILA SEGMENT STACK "STACK" 88. db 40h dup(0) 89. PILA ENDS 90. 91. ;--------------------------------------------------------------------------92. ;Definicion del segmento de codigo 93. ;--------------------------------------------------------------------------94. CODE SEGMENT 95. assume CS:code, SS:pila 96. 97. START: You're Reading a Preview 98. mov ax,PANTALLA Unlock full access with a free trial. 99. mov ds,ax 100. mov bx,(80*24+5)*2+1 ;Ultima linea, caracter 5 101. ;Utilizamos el '+1' para acceder Download With Free Trial 102. ;directamente al fondo 103. 104. cmp byte ptr [bx],07h ;Vemos si el fondo es negro 105. jz CambiaFondo 106. 107. mov byte ptr [bx],07h ;Si no es negro lo ponemos 108. jmp fin Sign up to vote on this title 109. 110. CambiaFondo: Useful Not useful 111. mov byte ptr [bx],70h ;Ponemos el fondo blanco 112. 113. fin:
Home
Saved
Bestsellers
Books
Audiobooks
Magazines
News
Documents
Sheet Music
Upload
Sign In
Join
Search
Home
Saved
6.1K views
0
Upload
Sign In
RELATED TITLES
0
Ejercicios Emu8086 Uploaded by Keny Orlando M. Cano
Bestsellers
Books
Audiobooks Magazines
News
Documents
Save
Embed
Share
Print
Download
Sheet Music
Join
Unidad III y IV Lenguajes y
1
of 80
unidad 2 ensamblador
Introduccion Al Lenguaje
Search document
126. 127. ;--------------------------------------------------------------------------128. ;Definicion del segmento de codigo 129. ;--------------------------------------------------------------------------130. CODE SEGMENT 131. assume CS:code 132. org 100h ;Dejar las 100h primeras posiciones par el PSP 133. 134. START: 135. jmp instalar ;Bifurcar a la rutina de instalacion 136. 137. 138. ;--------------------------------------------------------------------------139. ; letras 140. ; 141. ; in: 142. ; out: 143. ; machaca: 144. ; make: Hace que se intercambien las letras V y S cada medio segundo en 145. ; colores diferentes. 146. ; You're Reading a Preview 147. ;--------------------------------------------------------------------------Unlock full access with a free trial. 148. letras proc far 149. 150. push ax ; With Free Trial Download 151. push es ; 152. push di ;Guardamos los registros en la pila 153. 154. cli ;Inhabilitar las interrupciones 155. 156. mov al,0Ch ; 157. out 70h,al ; Sign up to vote on this title 158. in al,71h ;Leer el RTC Useful Not useful 159. 160. mov ax,pantalla 161. mov es,ax
Home
Saved
Bestsellers
Books
Audiobooks
Magazines
News
Documents
Sheet Music
Upload
Sign In
Join
Search
Home
Saved
6.1K views
0
Upload
Sign In
RELATED TITLES
0
Ejercicios Emu8086 Uploaded by Keny Orlando M. Cano
Bestsellers
Books
Audiobooks Magazines
News
Documents
Save
Embed
Share
Print
Download
Sheet Music
Join
Unidad III y IV Lenguajes y
1
of 80
unidad 2 ensamblador
Introduccion Al Lenguaje
Search document
176. mov al,LETRA_ROJA 177. mov es:[di],ax ;Guardar en ES:[DI] que hemos puesto letra 178. ;de color rojo 179. 180. fin: 181. mov al,20h ; 182. out 20h,al ; 183. out 0A0h,al ;EOI al maestro y al esclavo 184. 185. sti ;Habilitar las interrupciones 186. 187. pop di ; 188. pop es ; 189. pop ax ;Recuperar los registros 190. 191. iret 192. letras endp 193. 194. 195. ;--------------------------------------------------------------------------196. ; instalar 197. ; 198. ; in: 199. ; out: Reading a Preview 200. ; machaca: ax, dx, You're es 201. ; make: Instala el programa dejandolo residente Unlock full access with a free trial. 202. ; 203. ;--------------------------------------------------------------------------Download With Free Trial 204. instalar proc 205. 206. cli ;Inhabilitar las interrupciones 207. 208. xor ax,ax ; 209. mov es,ax ;Poner a 0 ES 210. mov es:[70h*4],offset letras Sign;Guardar up to vote onel thisoffset title 211. mov es:[70h*4+2],cs ;y el segmento de la ruti Useful Not useful 212. 213. in al,0A1h ;Leer el PIC esclavo 214. and al,11111110b ;
Home
Saved
Bestsellers
Books
Audiobooks
Magazines
News
Documents
Sheet Music
Upload
Sign In
Join
Search
Home
Saved
6.1K views
0
Upload
Sign In
RELATED TITLES
0
Ejercicios Emu8086 Uploaded by Keny Orlando M. Cano
Bestsellers
Books
Audiobooks Magazines
News
Documents
Save
Embed
Share
Print
Download
Sheet Music
Join
Unidad III y IV Lenguajes y
1
of 80
227. out 70h,al 228. in al,71h 229. or al,01000000b 230. out 71h,al 231. 232. sti 233. 234. lea dx,instalar 235. int 27h 236. 237. instalar endp 238. 239. CODE ENDS 240. END START
unidad 2 ensamblador
Introduccion Al Lenguaje
Search document
; ; ; ;Activamos las interrupciones periodica ;Habilitar las interrupciones ; ;Dejar residente
El siguiente ejercicio de examen nos pide conocer la instrucción scasb. 241. Hallar cuál es el valor de AX tras la instrucción NOP:
242. 243. ;--------------------------------------------------------------------------244. ;Definicion del segmento de datos 245. ;--------------------------------------------------------------------------246. DATOS SEGMENT 247. Cadena1 db 50 dup(0) 248. Cadena2 db 50 dup(?) 249. DATOS ENDS You're Reading a Preview 250. 251. ;--------------------------------------------------------------Unlock full access with a free trial. ------------252. ;Definicion del segmento de pila Download With Free Trial 253. ;--------------------------------------------------------------------------254. PILA SEGMENT STACK "STACK" 255. db 40h DUP(0) 256. PILA ENDS 257. 258. ;-------------------------------------------------------------- Sign up to vote on this title ------------259. ;Definicion del segmento de codigo Useful Not useful 260. ;--------------------------------------------------------------------------261. CODE SEGMENT
Home
Saved
Bestsellers
Books
Audiobooks
Magazines
News
Documents
Sheet Music
Upload
Sign In
Join
Search
Home
Saved
6.1K views
0
Upload
Sign In
RELATED TITLES
0
Ejercicios Emu8086 Uploaded by Keny Orlando M. Cano
Bestsellers
Books
Audiobooks Magazines
News
Documents
Save
Embed
Share
Print
Download
Sheet Music
Join
Unidad III y IV Lenguajes y
1
of 80
276. push ds 277. inc ax 278. pop es 279. scasb 280. loop otro 281. nop 282. 283. mov ax,4C00h 284. int 21h 285. 286. START ENDP 287. 288. CODE ENDS 289. END START
unidad 2 ensamblador
Introduccion Al Lenguaje
Search document
;AX=10h, SI=0, DI=42h ; ;Terminar el programa
Otro ejercicio como el anterior, pero usando la instrucción repne . 290. Recordar que la instrucción LOOP primero decrementa y despues compara CX con 0, así que cuidado con este ejercicio:
291. 292. ;--------------------------------------------------------------------------293. ;Definicion del segmento de datos 294. ;--------------------------------------------------------------------------295. DATOS SEGMENT 296. Cadena1 db 50 dup(0) 297. Cadena2 db 50 dup(?) 298. DATOS ENDS 299. 300. ;--------------------------------------------------------------------------301. ;Definicion del segmento de pila 302. ;--------------------------------------------------------------------------303. PILA SEGMENT STACK "STACK" 304. db 40h DUP(0) 305. PILA ENDS 306. Sign up to vote on this title 307. ;-------------------------------------------------------------------------- Useful Not useful 308. ;Definicion del segmento de codigo 309. ;---------------------------------------------------------------
Home
Saved
Bestsellers
Books
Audiobooks
Magazines
News
Documents
Sheet Music
Upload
Sign In
Join
Search
Home
Saved
6.1K views
0
Upload
Sign In
RELATED TITLES
0
Ejercicios Emu8086 Uploaded by Keny Orlando M. Cano
Bestsellers
Books
Audiobooks Magazines
News
Documents
Save
Embed
Share
Print
Download
Sheet Music
Join
Unidad III y IV Lenguajes y
1
of 80
324. otro: 325. push ds 326. inc ax 327. pop es 328. repne scasb 329. loop otro 330. nop 331. 332. mov ax,4C00h 333. int 21h 334. 335. START ENDP 336. 337. CODE ENDS 338. END START
unidad 2 ensamblador
Introduccion Al Lenguaje
Search document
; ;Terminar el programa
Hallar cual es el contenido de las posiciones de memoria: 1000, 1001, 339. 1002 y 1003 tras la ejecucion del bucle:
340. 341. ;--------------------------------------------------------------------------342. ; Ejercicio 1: examen ETCII - 12/02/96 343. ;--------------------------------------------------------------------------344. 345. ;--------------------------------------------------------------------------346. ;Definicion del segmento de codigo 347. ;--------------------------------------------------------------------------348. CODE SEGMENT 349. assume CS:code 350. 351. START: 352. 353. ;Inicializar 354. mov byte ptr ds:[1000h],0 355. mov byte ptr ds:[1001h],0 Sign up to vote on this title 356. mov byte ptr ds:[1002h],0 357. mov byte ptr ds:[1003h],0 Useful Not useful 358. 359. mov si,1000h 360. mov cx,4
Home
Saved
Bestsellers
Books
Audiobooks
Magazines
News
Documents
Sheet Music
Upload
Sign In
Join
Search
Home
Saved
6.1K views
0
Upload
Sign In
RELATED TITLES
0
Ejercicios Emu8086 Uploaded by Keny Orlando M. Cano
Bestsellers
Books
Audiobooks Magazines
News
Documents
Save
Embed
Share
Print
Download
Join
Unidad III y IV Lenguajes y
1
of 80
unidad 2 ensamblador
Introduccion Al Lenguaje
Search document
374. ; Ejercicio: examen ETCII - 12/02/96 375. ;--------------------------------------------------------------------------376. 377. ;--------------------------------------------------------------------------378. ;Definicion del segmento de codigo 379. ;--------------------------------------------------------------------------380. CODE SEGMENT 381. assume CS:code 382. 383. START: 384. 385. mov si,0 386. mov cx,4 387. L2: push cx 388. mov cx,100h 389. L1: dec cx 390. inc si 391. loop l1 392. pop cx 393. loop l2 394. 395. mov ax,4C00h 396. int 21h 397. 398. CODE ENDS 399. END START
Sheet Music
9 1. Otro problema de examen. Hallar el valor de AX tras la instrucción mov ax,word ptr ds:[ ds:[ 3]
2. Sign up to vote on this title 3. ;--------------------------------------------------------------------------- Useful Not useful 4. ;Definicion del segmento de datos 5. ;-----------------------------------------------------------------
Home
Saved
Bestsellers
Books
Audiobooks
Magazines
News
Documents
Sheet Music
Upload
Sign In
Join
Search
Home
Saved
6.1K views
0
Upload
Sign In
RELATED TITLES
0
Ejercicios Emu8086 Uploaded by Keny Orlando M. Cano
Bestsellers
Books
Audiobooks Magazines
News
Documents
Save
Embed
Share
Print
Sheet Music
Unidad III y IV Lenguajes y
1
Download
Join
18. 19. 20.
of 80
unidad 2 ensamblador
Introduccion Al Lenguaje
Search document
PILA ENDS
;--------------------------------------------------------------------------21. ;Definicion del segmento de codigo 22. ;--------------------------------------------------------------------------23. CODE SEGMENT 24. assume cs:code,ds:datos,ss:pila 25. 26. START PROC 27. ;Inicializamos los registros de segmento 28. mov ax,datos 29. mov ds,ax 30. mov ax,pila 31. mov ss,ax 32. 33. mov ax,word ptr ds:[3] 34. 35. mov ax,4C00h ; 36. int 21h ;Terminar el programa 37. 38. START ENDP 39. 40. CODE ENDS 41. END START
42. Muy similar al anterior: 43. 44.
;--------------------------------------------------------------------------45. ;Definicion del segmento de datos 46. ;--------------------------------------------------------------------------47. DATOS SEGMENT 48. dw 3Ah,7Bh,9Ch 49. db 34h,76h,65h 50. org 2 51. db 67h,31h,56h,"SE ACABO" Sign up to vote on this title 52. DATOS ENDS Useful Not useful 53. 54. ;---------------------------------------------------------------------------
Home
Saved
Bestsellers
Books
Audiobooks
Magazines
News
Documents
Sheet Music
Upload
Sign In
Join
Search
Home
Saved
6.1K views
0
Upload
Sign In
RELATED TITLES
0
Ejercicios Emu8086 Uploaded by Keny Orlando M. Cano
Bestsellers
Books
Audiobooks Magazines
News
Documents
Save
Embed
Share
Print
Sheet Music
Unidad III y IV Lenguajes y
1
Download
Join
67. 68. 69. 70. 71. 72. 73. 74. 75. 76. 77. 78. 79. 80. 81. 82.
of 80
unidad 2 ensamblador
Introduccion Al Lenguaje
Search document
START PROC ;Inicializamos los registros de segmento mov ax,datos mov ds,ax mov ax,pila mov ss,ax mov
ax,word ptr ds:[3]
mov int
ax,4C00h 21h
; ;Terminar el programa
START ENDP CODE ENDS END START
83. ¿Cuál es el valor de AX tras la instrucción NOP?: 84. 85. 86. 87.
; Ejercicio: examen ETCII - febrero 2002
;--------------------------------------------------------------------------88. ;Definicion del segmento de pila 89. ;--------------------------------------------------------------------------90. PILA SEGMENT STACK "STACK" You're Reading a Preview 91. db 40h DUP(0) 92. PILA ENDS Unlock full access with a free trial. 93. 94. ;--------------------------------------------------------------------------Download With Free Trial 95. ;Definicion del segmento extra 96. ;--------------------------------------------------------------------------97. EXTRA SEGMENT 98. RESULT DW 0,0 99. EXTRA ENDS 100. Sign up to vote on this title 101. ;-------------------------------------------------------------- Useful Not useful ------------102. ;Definicion del segmento de codigo 103. ;---------------------------------------------------------------
Home
Saved
Bestsellers
Books
Audiobooks
Magazines
News
Documents
Sheet Music
Upload
Sign In
Join
Search
Home
Saved
6.1K views
0
Upload
Sign In
Join
RELATED TITLES
0
Ejercicios Emu8086 Uploaded by Keny Orlando M. Cano
Bestsellers
Books
Audiobooks
Save
Embed
Share
Print
Download
Magazines
News
Documents
Sheet Music
Unidad III y IV Lenguajes y
1
of 80
116. dec sp 117. pop ax 118. pop ax 119. nop 120. 121. mov ax,4C00h 122. int 21h 123. 124. START ENDP 125. 126. CODE ENDS 127. END START
unidad 2 ensamblador
Introduccion Al Lenguaje
Search document
; ;Terminar el programa
Muy importantes también son los ejercicios de pila. Hallar el valor de 128. AX tras la instrucción NOP:
129. 130. ;--------------------------------------------------------------------------131. ;Definicion del segmento de pila 132. ;--------------------------------------------------------------------------133. PILA SEGMENT STACK "STACK" 134. db 40h DUP(0) 135. PILA ENDS 136. 137. ;--------------------------------------------------------------------------You're Reading a Preview 138. ;Definicion del segmento de codigo 139. ;--------------------------------------------------------------Unlock full access with a free trial. ------------140. CODE SEGMENT Download With Free Trial 141. assume cs:code,ss:pila 142. 143. START PROC 144. ;Inicializamos los registros de segmento 145. mov ax,pila 146. mov ss,ax 147. Sign up to vote on this title 148. mov al,5 149. mov bx,0FA45h Useful Not useful 150. push bx 151. push ax 152. mov bp,sp
Home
Saved
Bestsellers
Books
Audiobooks
Magazines
News
Documents
Sheet Music
Upload
Sign In
Join
Search
Home
Saved
6.1K views
0
Sign In
Upload
RELATED TITLES
0
Ejercicios Emu8086 Uploaded by Keny Orlando M. Cano
Bestsellers
Books
Audiobooks Magazines
News
Documents
Save
Embed
Share
Print
Sheet Music
Unidad III y IV Lenguajes y
1
Download
Join
of 80
unidad 2 ensamblador
Introduccion Al Lenguaje
Search document
165. ;--------------------------------------------------------------------------166. ;Definicion del segmento de pila 167. ;--------------------------------------------------------------------------168. PILA SEGMENT STACK "STACK" 169. db 40h DUP(0) 170. PILA ENDS 171. 172. ;--------------------------------------------------------------------------173. ;Definicion del segmento de codigo 174. ;--------------------------------------------------------------------------175. CODE SEGMENT 176. assume cs:code,ss:pila 177. 178. START PROC 179. ;Inicializamos los registros de segmento 180. mov ax,pila 181. mov ss,ax 182. 183. push 0F34h 184. push 63h 185. pop ax 186. inc sp You're Reading a Preview 187. pop ax 188. 189. mov ax,4C00h Unlock full access with ; a free trial. 190. int 21h ;Terminar el programa 191. Download With Free Trial 192. START ENDP 193. 194. CODE ENDS 195. END START
Sign up to vote on this title
10
Useful
1. Hallar el valor de AX tras la instrucción div bl : 2.
Not useful
Home
Saved
Bestsellers
Books
Audiobooks
Magazines
News
Documents
Sheet Music
Upload
Sign In
Join
Search
Home
Saved
6.1K views
0
Upload
Sign In
RELATED TITLES
0
Ejercicios Emu8086 Uploaded by Keny Orlando M. Cano
Bestsellers
Books
Audiobooks Magazines
News
Documents
Save
Embed
Share
Print
Download
Sheet Music
Join
Unidad III y IV Lenguajes y
1
of 80
15. rcr bx,1 16. rcr bx,1 17. div bl 18. 19. mov ax,4C00h 20. int 21h 21. 22. START ENDP 23. 24. CODE ENDS 25. END START
unidad 2 ensamblador
Introduccion Al Lenguaje
Search document
; ;Terminar el programa
26. De nuevo un ejercicio sencillito para dejar a un lado los exámenes (por el momento) y relajarnos un poco y ver otra forma de inicializar variables. Est programa muestra dos líneas, una llena de '5' y otra de '@':
27. 28. ;--------------------------------------------------------------------------29. ;Definicion del segmento de datos 30. ;--------------------------------------------------------------------------31. DATOS SEGMENT 32. Cadena1 db 80 dup("5"),"$" 33. Cadena2 db 80 dup("@"),"$" 34. DATOS ENDS 35. 36. ;--------------------------------------------------------------You're Reading a Preview ------------Unlock fullde access with a free trial. 37. ;Definicion del segmento pila 38. ;--------------------------------------------------------------------------39. PILA SEGMENT STACK Download "STACK" With Free Trial 40. db 40h DUP(0) 41. PILA ENDS 42. 43. ;--------------------------------------------------------------------------44. ;Definicion del segmento de codigo Sign up to vote on this title 45. ;-------------------------------------------------------------------------- Useful Not useful 46. CODE SEGMENT 47. assume cs:code,ds:datos,ss:pila 48.
Home
Saved
Bestsellers
Books
Audiobooks
Magazines
News
Documents
Sheet Music
Upload
Sign In
Join
Search
Home
Saved
6.1K views
0
Upload
Sign In
RELATED TITLES
0
Ejercicios Emu8086 Uploaded by Keny Orlando M. Cano
Bestsellers
Books
Audiobooks Magazines
News
Documents
Save
Embed
Share
Print
Download
Sheet Music
Join
Unidad III y IV Lenguajes y
1
of 80
63. 64. mov ax,4C00h 65. int 21h 66. 67. START ENDP 68. 69. CODE ENDS 70. END START
unidad 2 ensamblador
Introduccion Al Lenguaje
Search document
; ;Terminar el programa
71. Volvemos con más instrucciones de cadena y otro ejercicio de examen. Halla el valor de CX tras la instrucción repnz scasb :
72. 73. ;--------------------------------------------------------------------------74. ;Definicion del segmento de datos 75. ;--------------------------------------------------------------------------76. DATOS SEGMENT 77. texto db "Esto es un texto",0,"Y este otro",0 78. DATOS ENDS 79. 80. ;--------------------------------------------------------------------------81. ;Definicion del segmento de pila 82. ;--------------------------------------------------------------------------83. PILA SEGMENT STACK You're "STACK" Reading a Preview 84. db 40h DUP(0) 85. PILA ENDS Unlock full access with a free trial. 86. 87. ;--------------------------------------------------------------Download With Free Trial ------------88. ;Definicion del segmento de codigo 89. ;--------------------------------------------------------------------------90. CODE SEGMENT 91. assume cs:code,ds:datos,ss:pila 92. Sign up to vote on this title 93. START PROC 94. ;Inicializamos los registros desegmento Useful Not useful 95. mov ax,datos 96. mov ds,ax 97. mov ax,pila
Home
Saved
Bestsellers
Books
Audiobooks
Magazines
News
Documents
Sheet Music
Upload
Sign In
Join
Search
Home
Saved
6.1K views
0
Sign In
Upload
RELATED TITLES
0
Ejercicios Emu8086 Uploaded by Keny Orlando M. Cano
Bestsellers
Books
Audiobooks Magazines
News
Documents
Save
Embed
Share
Print
Sheet Music
Unidad III y IV Lenguajes y
1
Download
Join
of 80
unidad 2 ensamblador
Introduccion Al Lenguaje
Search document
112. 113.CODE ENDS 114. END START
¿Que es lo que encuentra el programa? "to" de la palabra "Esto" "ot" 115. de la palabra "otra"
116. 117.;--------------------------------------------------------------------------;Definicion del segmento de datos ;---------------------------------------------------------------------------DATOS SEGMENT cadena db "Esto es otra cadena" DATOS ENDS
;---------------------------------------------------------------------------;Definicion del segmento de pila ;---------------------------------------------------------------------------PILA SEGMENT STACK "STACK" db 40h DUP(0) PILA ENDS
;---------------------------------------------------------------------------You're Reading a Preview ;Definicion del segmento de codigo ;-------------------------------------------------------------------Unlock full access with a free trial. --------CODE SEGMENT Download With Free Trial assume cs:code,ds:datos,ss:pila START PROC ;Inicializamos los registros de segmento mov ax,datos mov ds,ax cld mov mov mov mov
Sign up to vote on this title ax,datos es,ax cx,100h ax,"ot"
Useful
Not useful
Home
Saved
Bestsellers
Books
Audiobooks
Magazines
News
Documents
Sheet Music
Upload
Sign In
Join
Search
Home
Saved
6.1K views
0
Upload
Sign In
RELATED TITLES
0
Ejercicios Emu8086 Uploaded by Keny Orlando M. Cano
Bestsellers
Books
Audiobooks Magazines
News
Documents
Save
Embed
Share
Print
Sheet Music
Unidad III y IV Lenguajes y
1
Download
Join
of 80
unidad 2 ensamblador
Introduccion Al Lenguaje
Search document
;---------------------------------------------------------------------------;Definicion del segmento de datos ;---------------------------------------------------------------------------DATOS SEGMENT db 10,'A',32,45h,10001101b,16 tabla dw 15,'Dk','27',4F5h DATOS ENDS
;---------------------------------------------------------------------------;Definicion del segmento de pila ;---------------------------------------------------------------------------PILA SEGMENT STACK "STACK" db 40h DUP(0) PILA ENDS
;---------------------------------------------------------------------------;Definicion del segmento de codigo ;---------------------------------------------------------------------------CODE SEGMENT assume cs:code,ds:datos,ss:pila
You're Reading a Preview
START PROC full access with a free trial. ;Inicializamos losUnlock registros de segmento mov ax,datos mov ds,ax Download With Free Trial mov ax,pila mov ss,ax xor mov sub mov
si,si ax,[si] ax,[si] al,byte ptr tabla[si]
mov int
ax,4C00h 21h
Sign up to vote on this title
Useful Not useful ; ;Terminar el programa
Home
Saved
Bestsellers
Books
Audiobooks
Magazines
News
Documents
Sheet Music
Upload
Sign In
Join
Search
Home
Saved
6.1K views
0
Sign In
Upload
RELATED TITLES
0
Ejercicios Emu8086 Uploaded by Keny Orlando M. Cano
Bestsellers
Books
Audiobooks Magazines
News
Documents
Save
Embed
Share
Print
Download
Join
Unidad III y IV Lenguajes y
1
of 80
unidad 2 ensamblador
Introduccion Al Lenguaje
Search document
Sintaxis: Sheet Music
JMP destino
Esta instrucción se utiliza para desviar el flujo de un programa sin tomar en cuenta las condiciones actuales de las banderas ni de los datos. Instrucción JA (JNBE)
Propósito: Brinco condicional Sintaxis: JA Etiqueta
Después de una comparación este comando salta si está arriba o salta si no está abajo o si no es igual.
Esto significa que el salto se realiza solo si la bandera CF esta desactivada o si l bandera ZF esta desactivada (que alguna dealas dos sea igual a cero). You're Reading Preview Unlock full accessJAE with a free trial. Instrucción (JNB)
Propósito: salto condicional Download With Free Trial Sintaxis: JAE etiqueta Sign up to vote on this title
Salta si está arriba o si es igual o salta si no está abajo. Useful El salto se efectua si CF esta desactivada.
Not useful
Home
Saved
Bestsellers
Books
Audiobooks
Magazines
News
Documents
Sheet Music
Upload
Sign In
Join
Search
Home
Saved
6.1K views
0
Sign In
Upload
RELATED TITLES
0
Ejercicios Emu8086 Uploaded by Keny Orlando M. Cano
Bestsellers
Books
Audiobooks Magazines
News
Documents
Save
Embed
Share
Print
Download
Join
Unidad III y IV Lenguajes y
1
of 80
unidad 2 ensamblador
Introduccion Al Lenguaje
Search document
Se efectúa el salto si CF esta activada. Sheet Music
Instrucción JBE (JNA)
Propósito: salto condicional Sintaxis: JBE etiqueta
Salta si está abajo o si es igual o salta si no está arriba. El salto se efectúa si CF está activado o si ZF está activado (que cualquiera sea igual a 1). Instrucción JE (JZ)
Propósito: salto condicional Sintaxis: JE etiqueta
You're Reading a Preview Unlock full access with a free trial.
Download With Free Trial Salta si es igual o salta si es cero.
El salto se realiza si ZF está activada. Instrucción JNE (JNZ)
Propósito: salto condicional Sintaxis:
Sign up to vote on this title
Useful
Not useful
Home
Saved
Bestsellers
Books
Audiobooks
Magazines
News
Documents
Sheet Music
Upload
Sign In
Join
Search
Home
Saved
6.1K views
0
Sign In
Upload
RELATED TITLES
0
Ejercicios Emu8086 Uploaded by Keny Orlando M. Cano
Bestsellers
Books
Audiobooks Magazines
News
Documents
Save
Embed
Share
Print
Download
Join
Unidad III y IV Lenguajes y
1
of 80
unidad 2 ensamblador
Introduccion Al Lenguaje
Search document
Sintaxis: Sheet Music
JG etiqueta
Salta si es más grande o salta si no es menor o igual. El salto ocurre si ZF = 0 u OF = SF. Instrucción JGE (JNL)
Propósito: salto condicional, se toma en cuenta el signo. Sintaxis: JGE etiqueta
Salta si es más grande o igual o salta si no es menor que. El salto se realiza si SF = OF You're Reading a Preview
Instrucción JL (JNGE) Unlock full access with a free trial.
Propósito: salto condicional, se toma en cuenta el signo. Download With Free Trial
Sintaxis: JL etiqueta
Salta si es menor que o salta si no es mayor o igual. Sign up to vote on this title El salto se efectúa si SF es diferente a OF.
Useful
Not useful
Home
Saved
Bestsellers
Books
Audiobooks
Magazines
News
Documents
Sheet Music
Upload
Sign In
Join
Search
Home
Saved
6.1K views
0
Sign In
Upload
RELATED TITLES
0
Ejercicios Emu8086 Uploaded by Keny Orlando M. Cano
Bestsellers
Books
Audiobooks Magazines
News
Documents
Save
Embed
Share
Print
Download
Join
Unidad III y IV Lenguajes y
1
of 80
unidad 2 ensamblador
Introduccion Al Lenguaje
Search document
Instrucción JC Sheet Music
Propósito: salto condicional, se toman en cuenta las banderas. Sintaxis: JC etiqueta
Salta si hay acarreo. El salto se realiza si CF = 1 Instrucción JNC
Propósito: salto condicional, se toma en cuenta el estado de las banderas. Sintaxis: JNC etiqueta
Salta si no hay acarreo.
You're Reading a Preview Unlock full access with a free trial.
El salto se efectúa si CF = 0. Download With Free Trial
Instrucción JNO
Propósito: salto condicional, se toma en cuenta el estado de las banderas. Sintaxis: JNO etiqueta
Sign up to vote on this title
Useful
Not useful
Home
Saved
Bestsellers
Books
Audiobooks
Magazines
News
Documents
Sheet Music
Upload
Sign In
Join
Search
Home
Saved
6.1K views
0
Upload
Sign In
Join
RELATED TITLES
0
Ejercicios Emu8086 Uploaded by Keny Orlando M. Cano
Bestsellers
Books
Audiobooks
Save
Embed
Share
Print
Download
Magazines
News
Documents
Unidad III y IV Lenguajes y
1
of 80
unidad 2 ensamblador
Introduccion Al Lenguaje
Search document
Salta si no hay paridad o salta si la paridad es non. Sheet Music
El salto ocurre si PF = 0. Instrucción JNS
Propósito: salto condicional, toma en cuenta el estado de las banderas. Sintaxis: JNP etiqueta
Salta si el signo esta desactivado. El salto se efectúa si SF = 0. Instrucción JO
Propósito: salto condicional, toma en cuenta el estado de las banderas. Sintaxis:
You're Reading a Preview Unlock full access with a free trial.
JO etiqueta Download With Free Trial
Salta si hay desbordamiento (overflow). El salto se realiza si OF = 1. Instrucción JP (JPE) Sign up to vote on this title
Useful Not useful Propósito: salto condicional, toma en cuenta el estado de las banderas.
Home
Saved
Bestsellers
Books
Audiobooks
Magazines
News
Documents
Sheet Music
Upload
Sign In
Join
Search
Home
Saved
6.1K views
0
Sign In
Upload
RELATED TITLES
0
Ejercicios Emu8086 Uploaded by Keny Orlando M. Cano
Bestsellers
Books
Audiobooks Magazines
News
Documents
Save
Embed
Share
Print
Download
Join
Unidad III y IV Lenguajes y
1
of 80
unidad 2 ensamblador
Introduccion Al Lenguaje
Search document
Sintaxis: Sheet Music
JS etiqueta
Salta si el signo está prendido. El salto se efectúa si SF = 1. Instrucción LOOP
Propósito: Generar un ciclo en el programa. Sintaxis: LOOP etiqueta
La instrucción loop decrementa CX en 1, y transfiere el flujo del programa a la etiqueta dada como operando si CX es diferente a 1. Instrucción You're ReadingLOOPE a Preview Unlock full access with a free trial. Propósito: Generar un ciclo en el programa considerando el estado de ZF
Sintaxis:
Download With Free Trial
LOOPE etiqueta
Esta instrucción decrementa CX en 1. Si CX es diferente a cero y ZF es igual a entonces el flujo del programa se transfiere a la etiqueta operand Sign up toindicada vote on thiscomo title Useful Instrucción LOOPNE
Not useful
Home
Saved
Bestsellers
Books
Audiobooks
Magazines
News
Documents
Sheet Music
Upload
Sign In
Join
Search
Home
Saved
6.1K views
0
Upload
Sign In
RELATED TITLES
0
Ejercicios Emu8086 Uploaded by Keny Orlando M. Cano
Bestsellers
Books
Audiobooks Magazines
News
Documents
Save
Embed
Share
Print
Download
Join
Unidad III y IV Lenguajes y
1
of 80
unidad 2 ensamblador
Introduccion Al Lenguaje
Search document
Propósito: Decrementar el operando Sheet Music
Sintaxis: DEC destino
Esta operación resta 1 al operando destino y almacena el nuevo valor en el mismo oeprando. Instrucción INC
Propósito: Incrementar el operando. Sintaxis: INC destino
La instrucción suma 1 al operando destino y guarda el resultado en el mismo operando destino. You're Reading a Preview
Instrucción CMP
Unlock full access with a free trial.
Propósito: Comparar los operandos.
Download With Free Trial
Sintaxis: CMP destino, fuente éste Esta instrucción resta el operando fuente al operando pero sin que Sign updestino to vote on this title almacene el resultado de la operación, solo se afecta el estado deuseful las banderas. Useful Not
Instrucción CMPS (CMPSB) (CMPSW)
Home
Saved
Bestsellers
Books
Audiobooks
Magazines
News
Documents
Sheet Music
Upload
Sign In
Join
Search
Home
Saved
6.1K views
0
Sign In
Upload
Join
RELATED TITLES
0
Ejercicios Emu8086 Uploaded by Keny Orlando M. Cano
Bestsellers
Books
Audiobooks
Save
Embed
Share
Print
Download
Magazines
News
Documents
Unidad III y IV Lenguajes y
1
of 80
unidad 2 ensamblador
Introduccion Al Lenguaje
Search document
Solo se afecta el contenido de las banderas y tanto DI como SI se incrementan. Sheet Music
Instrucción CLC
Propósito: Limpiar bandera de acarreo. Sintaxis: CLC
Esta instrucción apaga el bit correspondiente a la bandera de acarreo, o sea, lo pone en cero. Instrucción CLD
Propósito: Limpiar bandera de dirección Sintaxis: CLD
You're Reading a Preview
Unlockel fullbit access with a free trial. La instrucción CLD pone en cero correspondiente a la bandera de dirección.
Download With Free Trial
Instrucción CLI
Propósito: Limpiar bandera de interrupción Sintaxis: CLI
Sign up to vote on this title
Useful
Not useful
Home
Saved
Bestsellers
Books
Audiobooks
Magazines
News
Documents
Sheet Music
Upload
Sign In
Join
Search
Home
Saved
6.1K views
0
Sign In
Upload
Join
RELATED TITLES
0
Ejercicios Emu8086 Uploaded by Keny Orlando M. Cano
Bestsellers
Books
Audiobooks
Save
Embed
Share
Print
Download
Magazines
News
Documents
Unidad III y IV Lenguajes y
1
of 80
unidad 2 ensamblador
Introduccion Al Lenguaje
Search document
CMC Sheet Music
Esta instrucción complementa el estado de la bandera CF, si CF = 0 la instrucción la iguala a 1, y si es 1 la instrucción la iguala a 0. Podemos decir que unicamente "invierte" el valor de la bandera. Instrucción STC
Propósito: Activar la bandera de acarreo. Sintaxis: STC
Esta instrucción pone la bandera CF en 1. Instrucción STD
Propósito: Activar la bandera You're de dirección. Reading a Preview Sintaxis:
Unlock full access with a free trial.
STD
Download With Free Trial
La instrucción STD pone la bandera DF en 1. Instrucción STI
Propósito: Acticar la bandera de interrupción. Sintaxis:
Sign up to vote on this title
Useful
Not useful
Home
Saved
Bestsellers
Books
Audiobooks
Magazines
News
Documents
Sheet Music
Upload
Sign In
Join
Search
Home
Saved
6.1K views
0
Upload
Sign In
RELATED TITLES
0
Ejercicios Emu8086 Uploaded by Keny Orlando M. Cano
Bestsellers
Books
Audiobooks
Save
Embed
Share
Print
Download
Magazines
News
Documents
Join
Unidad III y IV Lenguajes y
1
of 80
unidad 2 ensamblador
Introduccion Al Lenguaje
Search document
Ejercicio 1: Escribir un código que verifique si dos cadenas son iguales
Sheet Music
org 100h comienzo: mov si, x mov al, msg2[si] cmp msg[si], al ;comparar letra por letra las cadenas, si uno no coincid manda directamente a fin y termina el programa jne fin: cmp msg[si], "$" ;si es el final y el programa llega aca, quiere decir que son iguales jz final: inc x loop comienzo final: mov dx, offset msg3 mov ah, 9 int 21h fin: ret msg db "hello world $" msg2 db "hello world $" msg3 db "Son iguales $" x dw 0
You're Reading a Preview Ejercicio 2: Escribir un código que verifique si una cadena es subcadena de otra. Unlock full access with a free trial.
Por ejemplo: “la Mu” es subcadena de “Hola Mundo”.
Download With Free Trial La cadena: “233″ es subcadena de la cadena “2122432234″ org 100h mov si, 0 ;ponemos si en 0 comienzo: mov al, msg2[0] ;copiar la primera letra de la palabra a al cmp msg[si],"$" ;si es el fin de la cadena mandar final Sign up toavote on this title jz final Usefulletra Not cmp msg[si], al ;comparar si encuentra la primera deuseful la cadena jne seguir
Home
Saved
Bestsellers
Books
Audiobooks
Magazines
News
Documents
Sheet Music
Upload
Sign In
Join
Search
Home
Saved
6.1K views
0
Upload
Sign In
RELATED TITLES
0
Ejercicios Emu8086 Uploaded by Keny Orlando M. Cano
Bestsellers
Books
Audiobooks
Save
Embed
Share
Print
Download
Magazines
News
Documents
Sheet Music
Join
Unidad III y IV Lenguajes y
1
of 80
unidad 2 ensamblador
Introduccion Al Lenguaje
Search document
seguir: inc si ;para seguir recorriendo la palabra loop comienzo ;bucle principal para recorrer palabra resultado: mov dx, offset msg3 ;copiar msg3 a dx mov ah, 9 ;preparar ah con 9 para la interrupcion 21h int 21h ;mostrar contenido en dx final: ret msg db "Hola Mundo$" msg2 db "ola$" msg3 db "Si es subcadena$"
Ejercicio 3: Escribir un código que verifique que todas los caracteres de una cadena se encuentran en otra.
Por ejemplo: todas las letras de la cadena “casa” se encuentran en “escaso”. Pero no todas las letras de “cerro” se en cuentran en “recanate” org 100h mov si, 0 ;ponemos si en 0 comienzo: cmp msg[si],"$" ;si es el fin de la cadena mandar a final jz resultado You're Reading a Preview mov di, 0 ;poner en 0 di Unlock full access with a free trial. comprobar: mov al, msg2[di] ;copiar msg2 con su posicion a al With Free Trialcon al cmp msg[si], al ;comparar Download msg con su posicion jz seguir ;si se encuentra entonces continua inc di ;incrementar di para seguir recorriendo cadena cmp msg2[di], "$" ;si es que llega al final y no encontro coincidencia, entonces ya termina el programa jz final Sign up to vote on this title loop comprobar ;bucle para recorrer Useful Not useful seguir: inc si ;para seguir recorriendo la palabra
Home
Saved
Bestsellers
Books
Audiobooks
Magazines
News
Documents
Sheet Music
Upload
Sign In
Join
Search
Home
Saved
6.1K views
0
Sign In
Upload
RELATED TITLES
0
Ejercicios Emu8086 Uploaded by Keny Orlando M. Cano
Bestsellers
Books
Audiobooks Magazines
News
Documents
Save
Embed
Share
Print
Download
Sheet Music
Join
Unidad III y IV Lenguajes y
1
of 80
unidad 2 ensamblador
Introduccion Al Lenguaje
Search document
Ejercicio 4: Escribir una programa que reciba una cadena ingresada por teclado, terminad en ENTER. Luego que elimine todos los caracteres que no son dígitos, sin utilizar una variable auxiliar. ORG 100H mov si, 0 lectura: mov ah,1 int 21h cmp al,13 jz resultado: cmp al, 57 ;si tecla es mayor a 57 entonces ir a fin3 (tecla > 57) ja fin3 cmp al,47 ;si tecla no es mayor a 47 ir a fin3 (tecla <= 47) jng fin3 mov bx[si], al ;si es un digito entonces guardo en bx inc si ;incrementa si fin3: jmp lectura
You're Reading a Preview resultado: mov ah,00h ;limpia la pantalla Unlock full access with a free trial. mov al,03h int 10h mov bx[si], "$" Download With Free Trial mov dx, offset bx mov ah, 9 ;preparar ah con 9 para la interrupcion 21h int 21h ;mostrar contenido en dx ret
Ejercicio 5: Escribir un programa que tome una cadena que representa un número decim Sign up to vote on this title y escriba su equivalente octal
org 100h ; inicio de programa mov si, 0
Useful
Not useful
Home
Saved
Bestsellers
Books
Audiobooks
Magazines
News
Documents
Sheet Music
Upload
Sign In
Join
Search
Home
Saved
6.1K views
0
Sign In
Upload
RELATED TITLES
0
Ejercicios Emu8086 Uploaded by Keny Orlando M. Cano
Bestsellers
Books
Audiobooks Magazines
News
Documents
Save
Embed
Share
Print
Download
Sheet Music
Join
Unidad III y IV Lenguajes y
1
of 80
unidad 2 ensamblador
Introduccion Al Lenguaje
Search document
mov cx, si mov si, 0 mov bl, 8 pasar: div bl ;dividir al con bl mov oct[si], ah ;copiar a la cadena oct el resultado sobrante de la division inc si ;incrementar si loop pasar fina: cmp ah, 0 jnz final mov oct[si], al final: ;mov dx, offset res ;mov ah, 9 ;preparar ah con 9 para la interrupcion 21h ;int 21h ;mostrar contenido en dx ret cad db "64$" oct db 0
Ejercicio 6: Escribir un programa que tome tres cadenas, la primera y la tercera representan un número y la segunda una operación, por ejemplo: “329″, “-”, “21″ e imprima el resultado “308″
You're Reading a Preview
org 100h ; inicio de programa include 'emu8086.inc' ;Incluye funciones de libreria emu8086 Unlock full access with a free trial. ; DEFINE_SCAN_NUM ; DEFINE_PRINT_STRING DEFINE_PRINT_NUM Download With Free Trial DEFINE_PRINT_NUM_UNS mov si, 0 mov al, 0 ;Convertir primera cadena a numero cadAnum: cmp cad1[si], "$" jz seguir Sign up to vote on this title mov bl, 10 mul bl sub cad1[si], '0'
Useful
Not useful
Home
Saved
Bestsellers
Books
Audiobooks
Magazines
News
Documents
Sheet Music
Upload
Sign In
Join
Search
Home
Saved
6.1K views
0
Sign In
Upload
RELATED TITLES
0
Ejercicios Emu8086 Uploaded by Keny Orlando M. Cano
Bestsellers
Books
Audiobooks Magazines
News
Documents
Save
Embed
Share
Print
Download
Sheet Music
Join
Unidad III y IV Lenguajes y
1
of 80
unidad 2 ensamblador
Introduccion Al Lenguaje
Search document
mul bl sub cad3[si], '0' add al, cad3[si] inc si loop cadAnum2 seguir2: mov bl, al mov al, aux1 ;realizar operaciones normalmente teniendo ya los dos numeros decimales cmp cad2, "-" jz resta cmp cad2, "+" jz suma cmp cad2, "*" jz multi cmp cad2, "/" jz divi resta: sub al, bl jmp fin suma: add al, bl jmp fin multi: You're Reading a Preview mul bl jmp fin Unlock full access with a free trial. divi: div bl jmp fin Download With Free Trial fin: mov bx, ax mov ah,09 lea dx,msg int 21h mov ax, bx call PRINT_NUM ret cad1 db "10$" cad2 db "-"
Sign up to vote on this title
Useful
Not useful
Home
Saved
Bestsellers
Books
Audiobooks
Magazines
News
Documents
Sheet Music
Upload
Sign In
Join
Search
Home
Saved
6.1K views
0
Upload
Sign In
RELATED TITLES
0
Ejercicios Emu8086 Uploaded by Keny Orlando M. Cano
Bestsellers
Books
Audiobooks Magazines
News
Documents
Save
Embed
Share
Print
Download
Sheet Music
Join
Unidad III y IV Lenguajes y
1
of 80
unidad 2 ensamblador
Introduccion Al Lenguaje
Search document
;============================ ; eternal loop to get ; and print keys: wait_for_key: ; check for keystroke in ; keyboard buffer: mov dh, pos mov dl, pos mov bh, 0 mov ah, 2 int 10h ;Movemos el cursor mov al,'X' mov bh,0 mov bl,1 mov cx,1 mov ah,09h inc pos ;Imprimimos una x int 10h mov ah, 1 int 16h jz wait_for_key ; get keystroke from keyboard: ; (remove from the buffer) mov ah, 0 int 16h ; print the key: You're Reading a Preview mov ah, 0eh int 10h Unlock full access with a free trial. ; press 'esc' to exit: cmp al, 1bh jz exit Download With Free Trial jmp wait_for_key ;============================ exit: ret msg db "Type anything...", 0Dh,0Ah db "[Enter] - carriage return.", 0Dh,0Ah db "[Ctrl]+[Enter] - line feed.", 0Dh,0Ah Sign up to vote on this title db "You may hear a beep", 0Dh,0Ah db " when buffer is overflown.", 0Dh,0Ah Useful Not useful db "Press Esc to exit.", 0Dh,0Ah, "$" pos db 1
Home
Saved
Bestsellers
Books
Audiobooks
Magazines
News
Documents
Sheet Music
Upload
Sign In
Join
Search
Home
Saved
6.1K views
0
Upload
Sign In
RELATED TITLES
0
Ejercicios Emu8086 Uploaded by Keny Orlando M. Cano
Bestsellers
Books
Audiobooks Magazines
News
Documents
Save
Embed
Share
Print
Download
Sheet Music
Join
mov si, cx mov ah, v[si-1] cmp ah,v[bx-1] jnge seguir ;Si mov dh, v[bx-1] mov dl, v[si-1] mov v[bx-1], dl mov v[si-1], dh seguir: loop bucle2
Unidad III y IV Lenguajes y
1
of 80
unidad 2 ensamblador
Introduccion Al Lenguaje
Search document
v[8] < v[7] no hacer nada, sino: ;Copiar v[7] en dh ;Copiar v[8] en dl ;Copiar dl en v[7] ;Copiar dh en v[8]
mov cx, c loop bucle1 ret v db 2,32,64,32,98,12,5,21,91 c dw 0
Ejercicio 9: Escribir un programa que halle el MCM Y MCD ; Programa que calcula el MCD y MCM de dos numeros decimales (soporta numeros de 8 bits o 1 byte) mov cont,1 ;inicializar variable cont en 1 bucle: mov ah,0 mov al,cont You're Reading a Preview mov bl,nro1 div bl Unlock full access with trial. cmp ah,0 ;si el resto de la division dela free contador con el nro1 es igual je parte1 bc: Download With Free Trial inc cont ;incrementar el contador jmp bucle ;bucle hasta que encuentre el MCM
parte1: ;si nro1 es multiplo del contador mov ah,0 mov al,cont mov bl,nro2 Sign up to vote on this title div bl cmp ah,0 ;compara si el resto de la division del contador con el nro2 e Useful Not useful 0 je parte2
Home
Saved
Bestsellers
Books
Audiobooks
Magazines
News
Documents
Sheet Music
Upload
Sign In
Join
Search
Home
Saved
6.1K views
0
Upload
Sign In
RELATED TITLES
0
Ejercicios Emu8086 Uploaded by Keny Orlando M. Cano
Bestsellers
Books
Audiobooks
Save
Embed
Share
Print
Download
Magazines
News
Documents
Sheet Music
Join
Unidad III y IV Lenguajes y
1
of 80
unidad 2 ensamblador
Introduccion Al Lenguaje
Search document
cont db 0 ;cont = contador MCM db 0 ;en esta variable se guarda el MCM MCD db 0 ;en esta variable se guarda el MCD nro1 db 48 ;numero1 decimal nro2 db 60 ;numero2 decimal
Ejercicio 10: Escribir un programa que dibuje una diagonal en la pantalla. mov cx,1 mov al, 13h mov ah, 0 int 10h ; set graphics video mode. bucle1: mov dx, mov al, mov ah, int 10h
cx color ;AL = pixel color 0ch ;Change color for a single pixel ;set pixel
cmp cx, 101 ;llegar hasta 100 x 100 (va en diagonal) jz fin inc cx ;DX = row. add color, 2 ;para cambiar colores You're Reading a Preview jmp bucle1 ;CX = column fin: Unlock full access with a free trial. ret color db 1
Download With Free Trial Ejercicio 11: Escribir un programa que lea un archivo y cuente cuantas palabras terminan con la letra a. name "archivo3" org 100h mov al, 0 ;modo de acceso para abrir arhivo, modo lectura/escritura Sign updonde to vote on this title mov dx, offset archivo ;offset lugar de memoria esta la variable mov ah, 3dh ;se intenta abrir el archivo Useful Not useful int 21h ;llamada a la interrupcion DOS jc error ; si se prendio la bandera c ir a error
Home
Saved
Bestsellers
Books
Audiobooks
Magazines
News
Documents
Sheet Music
Upload
Sign In
Join