Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- /* Ejercicio 4.3 Escriba un programa C++& ASM in line que facilitada una zona de memoria
- con el espacio suficiente , almacene en la misma una tabla caracteres
- ASCII del espacio hasta '~' El bucle estara controlado por un un condicional
- que habra que verificar al final de cada ciclo
- Lenguaje Ensamblador Francisco Charte Ojeda ed. ANAYA
- */
- #include <iostream>
- using namespace std;
- int main (){
- char ascii[256];
- asm(
- "mov %[ascii],%%rdx \n\t"/* direccion en memoria , puntero rdx o edx*/
- "mov $' ',%%al \n\t"/*carga inicio ...ASCII.. desde el espacio */
- "inicio :\n\t"
- "mov %%al,(%%rdx) \n\t"/* copia el caracter ASCII en memoria */
- "inc %%rdx \n\t"/* incrementa puntero memoria */
- "inc %%al \n\t"/* incrementa ASCII */
- "cmp $'~',%%al \n\t"/* ha llegado al fin de los ASCII ==~ ? */
- "jz fin \n\t "/* ASCII == ~ salir */
- "jmp inicio \n\t"/* bucle */
- "fin : \n\t"/* salida */
- :
- :[ascii] "r"(ascii)
- );
- for (auto i=0 ;i<94;i++){
- cout <<"index ["<<i<<"] ="<<ascii[i]<<endl;
- }
- return 0;
- }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement