This video explains basic input and output operations in computer systems, focusing on how programs receive information from the keyboard and display information on the screen. It details the use of system calls, specifically swi (software interrupt), and demonstrates how these calls interact with hardware components to achieve input/output functionality in assembly language and C.
System Calls and swi: The video explains the swi instruction (software interrupt) in assembly language, which acts as a system call to access pre-defined routines or libraries for input/output operations. It highlights that the specific function performed depends on the number in register R7.
swi for Output (write): The video uses swi with the system call number 4 (fiscal 4) to demonstrate writing a string to the screen. It details the necessary parameters (register values) required for this function.
swi for Input (read): swi with system call number 3 (fiscal 3) is used to read a string from the keyboard. The parameters required for this input function are also detailed.
Assembly vs. C: The video shows examples in both assembly language and C, demonstrating equivalent input/output operations using standard C library functions (printf and scanf) and their corresponding assembly implementations.
Buffer and Character Limits: When reading input using fiscal 3, the video highlights that the input is buffered up to the number of characters specified in register R2, truncating additional input after pressing the Enter key.
Here's the transcription you provided:
[{"start_ms":"5300","end_ms":"8450","text":"entrada y salida básica cuando usamos","start_time_text":"0:05"},{"start_ms":"8450","end_ms":"11180","text":"computadoras y sistemas operativos damos","start_time_text":"0:08"},{"start_ms":"11180","end_ms":"13940","text":"mucho por sentado y escribimos comando","start_time_text":"0:11"},{"start_ms":"13940","end_ms":"16550","text":"en el teclado los comandos se activan y","start_time_text":"0:13"},{"start_ms":"16550","end_ms":"18529","text":"recibimos comentarios de la acción del","start_time_text":"0:16"},{"start_ms":"18529","end_ms":"21529","text":"comando a través de lo que se muestra en","start_time_text":"0:18"},{"start_ms":"21529","end_ms":"24259","text":"la pantalla pero en detalle están","start_time_text":"0:21"},{"start_ms":"24259","end_ms":"26550","text":"pasando muchas cosas","start_time_text":"0:24"},{"start_ms":"26550","end_ms":"29429","text":"considero un par de tareas que parecería","start_time_text":"0:26"},{"start_ms":"29429","end_ms":"32578","text":"relativamente simples escribir un","start_time_text":"0:29"},{"start_ms":"32579","end_ms":"35190","text":"comando en el teclado y luego obtener","start_time_text":"0:32"},{"start_ms":"35190","end_ms":"38399","text":"una respuesta en la pantalla estas son","start_time_text":"0:35"},{"start_ms":"38399","end_ms":"39989","text":"cosas que hacemos cada vez que","start_time_text":"0:38"},{"start_ms":"39989","end_ms":"42120","text":"interactuamos con un programa la","start_time_text":"0:39"},{"start_ms":"42120","end_ms":"44730","text":"pregunta es cómo obtenemos información","start_time_text":"0:42"},{"start_ms":"44730","end_ms":"48059","text":"del teclado y escribimos información en","start_time_text":"0:44"},{"start_ms":"48059","end_ms":"50460","text":"la pantalla en nuestro programa de en","start_time_text":"0:48"},{"start_ms":"50460","end_ms":"53940","text":"salvador en el sentido más estricto lo","start_time_text":"0:50"},{"start_ms":"53940","end_ms":"56640","text":"hace uno mismo pero esto implica una","start_time_text":"0:53"},{"start_ms":"56640","end_ms":"58739","text":"gran cantidad de conocimiento sobre los","start_time_text":"0:56"},{"start_ms":"58739","end_ms":"62070","text":"diversos componentes de hardware porque","start_time_text":"0:58"},{"start_ms":"62070","end_ms":"64440","text":"para escribir un mensaje en la pantalla","start_time_text":"1:02"},{"start_ms":"64440","end_ms":"66990","text":"por ejemplo tenemos que saber","start_time_text":"1:04"},{"start_ms":"66990","end_ms":"69330","text":"exactamente dónde se encuentra el","start_time_text":"1:06"},{"start_ms":"69330","end_ms":"72090","text":"hardware que controla la pantalla dentro","start_time_text":"1:09"},{"start_ms":"72090","end_ms":"75119","text":"de la memoria de la computadora y cómo","start_time_text":"1:12"},{"start_ms":"75119","end_ms":"77820","text":"escribir la información ahí de igual","start_time_text":"1:15"},{"start_ms":"77820","end_ms":"80759","text":"forma para leer la entrada desde el","start_time_text":"1:17"},{"start_ms":"80759","end_ms":"83700","text":"teclado necesitamos comprender cómo se","start_time_text":"1:20"},{"start_ms":"83700","end_ms":"86789","text":"asigna el teclado y cómo leer esa matriz","start_time_text":"1:23"},{"start_ms":"86789","end_ms":"92180","text":"para identificar qué teclas se presionan","start_time_text":"1:26"},{"start_ms":"92180","end_ms":"95840","text":"o adjetivos escribir el código para","start_time_text":"1:32"},{"start_ms":"95840","end_ms":"99140","text":"mostrar datos en pantalla aprender las","start_time_text":"1:35"},{"start_ms":"99140","end_ms":"101210","text":"instrucciones para leer datos desde el","start_time_text":"1:39"},{"start_ms":"101210","end_ms":"104180","text":"teclado llamar funciones de la librería","start_time_text":"1:41"},{"start_ms":"104180","end_ms":"108640","text":"estándar de cee desde ensamblador","start_time_text":"1:44"},{"start_ms":"109560","end_ms":"113880","text":"la instrucción s w y le permite como","start_time_text":"1:49"},{"start_ms":"113880","end_ms":"116610","text":"programador obtener acceso a rutinas o","start_time_text":"1:53"},{"start_ms":"116610","end_ms":"120030","text":"bibliotecas predefinidas s w","start_time_text":"1:56"},{"start_ms":"120030","end_ms":"122850","text":"significa interrupción de software","start_time_text":"2:00"},{"start_ms":"122850","end_ms":"125430","text":"porque cuando se encuentra hace que el","start_time_text":"2:02"},{"start_ms":"125430","end_ms":"128069","text":"flujo de su programa se detenga y se","start_time_text":"2:05"},{"start_ms":"128069","end_ms":"131370","text":"entregue a la rutina apropiada una vez","start_time_text":"2:08"},{"start_ms":"131370","end_ms":"133739","text":"que se ha complementado la instrucción s","start_time_text":"2:11"},{"start_ms":"133739","end_ms":"137910","text":"w y el control se devuelve al programa","start_time_text":"2:13"},{"start_ms":"137910","end_ms":"139650","text":"de llamada","start_time_text":"2:17"},{"start_ms":"139650","end_ms":"142290","text":"el comando s w y también se conoce a","start_time_text":"2:19"},{"start_ms":"142290","end_ms":"144239","text":"menudo como ese","start_time_text":"2:22"},{"start_ms":"144239","end_ms":"148290","text":"vr o llamada de supervisor ya que este","start_time_text":"2:24"},{"start_ms":"148290","end_ms":"151470","text":"es un modo de operación quien sirve o","start_time_text":"2:28"},{"start_ms":"151470","end_ms":"156980","text":"invoca en el chip a rm cuando se llama","start_time_text":"2:31"},{"start_ms":"157130","end_ms":"159630","text":"probablemente recordará que cuando se","start_time_text":"2:37"},{"start_ms":"159630","end_ms":"162030","text":"presentó la estructura de un programa en","start_time_text":"2:39"},{"start_ms":"162030","end_ms":"165180","text":"ensamblador se utilizó un comando s w y","start_time_text":"2:42"},{"start_ms":"165180","end_ms":"169350","text":"en el código del programa lo usamos para","start_time_text":"2:45"},{"start_ms":"169350","end_ms":"172890","text":"salir del código equivalente a retorcer","start_time_text":"2:49"},{"start_ms":"172890","end_ms":"176030","text":"o dentro de la función 20 el lenguaje c","start_time_text":"2:52"},{"start_ms":"176030","end_ms":"181050","text":"este uso tomó la forma de mod r 7 coma","start_time_text":"2:56"},{"start_ms":"181050","end_ms":"184910","text":"numeral 1 s w y 0","start_time_text":"3:01"},{"start_ms":"184910","end_ms":"187790","text":"todas las llamadas ese doble y se","start_time_text":"3:04"},{"start_ms":"187790","end_ms":"192830","text":"ejecutan con s w y 0 o se puede usar svr","start_time_text":"3:07"},{"start_ms":"192830","end_ms":"196580","text":"0 en su lugar la función real a realizar","start_time_text":"3:12"},{"start_ms":"196580","end_ms":"199370","text":"está determinada por el número contenido","start_time_text":"3:16"},{"start_ms":"199370","end_ms":"202430","text":"en el registro r 7 el número 1 es para","start_time_text":"3:19"},{"start_ms":"202430","end_ms":"206360","text":"terminar el proceso actual esto se llama","start_time_text":"3:22"},{"start_ms":"206360","end_ms":"209800","text":"el número de llamada de sistema o fiscal","start_time_text":"3:26"},{"start_ms":"209800","end_ms":"213260","text":"además es posible que otros registros","start_time_text":"3:29"},{"start_ms":"213260","end_ms":"215900","text":"también tengan que ser llenados con","start_time_text":"3:33"},{"start_ms":"215900","end_ms":"219950","text":"información por lo que una llamada a ese","start_time_text":"3:35"},{"start_ms":"219950","end_ms":"223070","text":"w 0 a menudo requiere cierta","start_time_text":"3:39"},{"start_ms":"223070","end_ms":"226520","text":"configuración antes de ejecutarse por","start_time_text":"3:43"},{"start_ms":"226520","end_ms":"229640","text":"ejemplo para escribir una cadena de","start_time_text":"3:46"},{"start_ms":"229640","end_ms":"232040","text":"caracteres en la pantalla se requieren","start_time_text":"3:49"},{"start_ms":"232040","end_ms":"234170","text":"otros tres elementos de información","start_time_text":"3:52"},{"start_ms":"234170","end_ms":"237530","text":"específica para colocarse en cierto","start_time_text":"3:54"},{"start_ms":"237530","end_ms":"238700","text":"registro","start_time_text":"3:57"},{"start_ms":"238700","end_ms":"242540","text":"para utilizar esta llamada s w y de","start_time_text":"3:58"},{"start_ms":"242540","end_ms":"244970","text":"manera efectiva entonces necesitamos","start_time_text":"4:02"},{"start_ms":"244970","end_ms":"247819","text":"saber qué hacen qué información se debe","start_time_text":"4:04"},{"start_ms":"247819","end_ms":"251599","text":"transmitir y en que registró la llamada","start_time_text":"4:07"},{"start_ms":"251599","end_ms":"255500","text":"s w y puede devolver información y en","start_time_text":"4:11"},{"start_ms":"255500","end_ms":"258139","text":"tales casos necesitamos saber qué","start_time_text":"4:15"},{"start_ms":"258139","end_ms":"261290","text":"información y en qué registros","start_time_text":"4:18"},{"start_ms":"261290","end_ms":"264170","text":"veamos las llamadas al sistema que","start_time_text":"4:21"},{"start_ms":"264170","end_ms":"266750","text":"posiblemente sean las más importantes en","start_time_text":"4:24"},{"start_ms":"266750","end_ms":"269260","text":"esta etapa de nuestro aprendizaje","start_time_text":"4:26"},{"start_ms":"269260","end_ms":"272780","text":"imprimir en la pantalla y leer desde el","start_time_text":"4:29"},{"start_ms":"272780","end_ms":"275350","text":"teclado","start_time_text":"4:32"},{"start_ms":"276340","end_ms":"279370","text":"para escribir una secuencia o cadena de","start_time_text":"4:36"},{"start_ms":"279370","end_ms":"281970","text":"caracteres haz clic en la pantalla","start_time_text":"4:39"},{"start_ms":"281970","end_ms":"284760","text":"necesitamos usar la función escribir","start_time_text":"4:41"},{"start_ms":"284760","end_ms":"290400","text":"esto se hace con fiscal 4","start_time_text":"4:44"},{"start_ms":"291270","end_ms":"294120","text":"los parámetros requeridos por fiscal 4","start_time_text":"4:51"},{"start_ms":"294120","end_ms":"298230","text":"son los siguientes en el registro r 0 es","start_time_text":"4:54"},{"start_ms":"298230","end_ms":"300420","text":"el que determina el flujo de salida","start_time_text":"4:58"},{"start_ms":"300420","end_ms":"303930","text":"pondremos 1 para indicar que será el","start_time_text":"5:00"},{"start_ms":"303930","end_ms":"307890","text":"monitor en r1 colocaremos la dirección","start_time_text":"5:03"},{"start_ms":"307890","end_ms":"312000","text":"de la cadena de caracteres r 2 tendrá la","start_time_text":"5:07"},{"start_ms":"312000","end_ms":"314960","text":"cantidad de caracteres que se escribirán","start_time_text":"5:12"},{"start_ms":"314960","end_ms":"319680","text":"r7 será el número de fiscal es decir r 7","start_time_text":"5:14"},{"start_ms":"319680","end_ms":"323100","text":"igual 4","start_time_text":"5:19"},{"start_ms":"323100","end_ms":"326670","text":"el ensamblador de gsc nos brinda la","start_time_text":"5:23"},{"start_ms":"326670","end_ms":"329790","text":"posibilidad de almacenar una cadena de","start_time_text":"5:26"},{"start_ms":"329790","end_ms":"330630","text":"caracteres","start_time_text":"5:29"},{"start_ms":"330630","end_ms":"334110","text":"aquí dentro del cuerpo del programa en","start_time_text":"5:30"},{"start_ms":"334110","end_ms":"336720","text":"la línea 3 la directiva puntos que","start_time_text":"5:34"},{"start_ms":"336720","end_ms":"339030","text":"informa al ensamblador que a","start_time_text":"5:36"},{"start_ms":"339030","end_ms":"342390","text":"continuación encontrará una cadena de","start_time_text":"5:39"},{"start_ms":"342390","end_ms":"346020","text":"caracteres aquí encerrada entre comillas","start_time_text":"5:42"},{"start_ms":"346020","end_ms":"347689","text":"dobles","start_time_text":"5:46"},{"start_ms":"347689","end_ms":"351559","text":"también notará barra invertida n al","start_time_text":"5:47"},{"start_ms":"351559","end_ms":"354679","text":"final de la cadena el carácter de bar","start_time_text":"5:51"},{"start_ms":"354679","end_ms":"358339","text":"diagonal inversa significa que el","start_time_text":"5:54"},{"start_ms":"358339","end_ms":"360829","text":"siguiente carácter es un carácter de","start_time_text":"5:58"},{"start_ms":"360829","end_ms":"365199","text":"control y como tal tiene una acción aquí","start_time_text":"6:00"},{"start_ms":"365199","end_ms":"369469","text":"barra inversa n significa generar una","start_time_text":"6:05"},{"start_ms":"369469","end_ms":"371160","text":"nueva línea","start_time_text":"6:09"},{"start_ms":"371160","end_ms":"375230","text":"en la línea 9 cuando se realiza fiscal 4","start_time_text":"6:11"},{"start_ms":"375230","end_ms":"378930","text":"identifica el flujo de salida el 1","start_time_text":"6:15"},{"start_ms":"378930","end_ms":"383880","text":"pasado en ere 0 en la línea 10 define el","start_time_text":"6:18"},{"start_ms":"383880","end_ms":"386310","text":"monitor como el dispositivo de salida","start_time_text":"6:23"},{"start_ms":"386310","end_ms":"390180","text":"estándar luego en la línea 11 extrae la","start_time_text":"6:26"},{"start_ms":"390180","end_ms":"393990","text":"longitud de la cadena r 2 e imprime ese","start_time_text":"6:30"},{"start_ms":"393990","end_ms":"396840","text":"número de caracteres comenzando en la","start_time_text":"6:33"},{"start_ms":"396840","end_ms":"401700","text":"dirección contenida en r1 línea 12 el","start_time_text":"6:36"},{"start_ms":"401700","end_ms":"403950","text":"número de caracteres contenido en r2","start_time_text":"6:41"},{"start_ms":"403950","end_ms":"407540","text":"incluye espacios y cualquier puntuación","start_time_text":"6:43"},{"start_ms":"407540","end_ms":"411780","text":"la línea 12 se puede leer como cargue en","start_time_text":"6:47"},{"start_ms":"411780","end_ms":"417030","text":"r1 la dirección de la etiqueta ms j la","start_time_text":"6:51"},{"start_ms":"417030","end_ms":"421200","text":"línea 14 s&w y 0 es donde se ejecuta","start_time_text":"6:57"},{"start_ms":"421200","end_ms":"424860","text":"fiscal 4 tomando la configuración hecha","start_time_text":"7:01"},{"start_ms":"424860","end_ms":"428330","text":"en las líneas anteriores","start_time_text":"7:04"},{"start_ms":"429139","end_ms":"432740","text":"al compilar enlazar y ejecutar el","start_time_text":"7:09"},{"start_ms":"432740","end_ms":"435800","text":"programa obtenemos la salida hola mundo","start_time_text":"7:12"},{"start_ms":"435800","end_ms":"439478","text":"mostrará en la diapositiva","start_time_text":"7:15"},{"start_ms":"441650","end_ms":"445009","text":"para leer una secuencia o cadena de","start_time_text":"7:21"},{"start_ms":"445009","end_ms":"447759","text":"letras es que desde el teclado","start_time_text":"7:25"},{"start_ms":"447759","end_ms":"451520","text":"necesitamos usar la función leer esta es","start_time_text":"7:27"},{"start_ms":"451520","end_ms":"454400","text":"fiscal 3","start_time_text":"7:31"},{"start_ms":"454400","end_ms":"456919","text":"los parámetros requeridos por fiscal 3","start_time_text":"7:34"},{"start_ms":"456919","end_ms":"460820","text":"son similares a los de fiscal 4 y son","start_time_text":"7:36"},{"start_ms":"460820","end_ms":"464210","text":"los siguientes r 0 igual flujo de","start_time_text":"7:40"},{"start_ms":"464210","end_ms":"468740","text":"entrada esto es 0 para el teclado r 1","start_time_text":"7:44"},{"start_ms":"468740","end_ms":"471440","text":"igual la dirección del buffer para","start_time_text":"7:48"},{"start_ms":"471440","end_ms":"474979","text":"colocar la cadena de caracteres ley 2 r2","start_time_text":"7:51"},{"start_ms":"474979","end_ms":"479660","text":"igual el número de caracteres a leer r 7","start_time_text":"7:54"},{"start_ms":"479660","end_ms":"483199","text":"igual es el número de fiscal que","start_time_text":"7:59"},{"start_ms":"483199","end_ms":"487300","text":"resiente igual a 3","start_time_text":"8:03"},{"start_ms":"488740","end_ms":"491590","text":"aquí todavía tenemos que definir la","start_time_text":"8:08"},{"start_ms":"491590","end_ms":"496539","text":"cadena haz que la etiqueta msj señala lo","start_time_text":"8:11"},{"start_ms":"496539","end_ms":"499419","text":"que efectivamente es un buffer o lugar","start_time_text":"8:16"},{"start_ms":"499419","end_ms":"502569","text":"para colocar la entrada leída desde el","start_time_text":"8:19"},{"start_ms":"502569","end_ms":"506410","text":"teclado definido una cadena vacía con","start_time_text":"8:22"},{"start_ms":"506410","end_ms":"509080","text":"punto y coma","start_time_text":"8:26"},{"start_ms":"509080","end_ms":"512890","text":"espacio comillas hay otras formas de","start_time_text":"8:29"},{"start_ms":"512890","end_ms":"515289","text":"reservar espacios vacíos en la memoria","start_time_text":"8:32"},{"start_ms":"515289","end_ms":"519219","text":"en los programas y se discutirán más","start_time_text":"8:35"},{"start_ms":"519219","end_ms":"520659","text":"adelante","start_time_text":"8:39"},{"start_ms":"520659","end_ms":"523750","text":"r2 ahora se usa para contener la","start_time_text":"8:40"},{"start_ms":"523750","end_ms":"527110","text":"cantidad de caracteres que queremos del","start_time_text":"8:43"},{"start_ms":"527110","end_ms":"530320","text":"proceso de lectura es importante","start_time_text":"8:47"},{"start_ms":"530320","end_ms":"534040","text":"recordar que esto no es el único número","start_time_text":"8:50"},{"start_ms":"534040","end_ms":"538199","text":"de caracteres que se pueden escribir","start_time_text":"8:54"},{"start_ms":"540329","end_ms":"543029","text":"cuando se ejecuta el programa acepta","start_time_text":"9:00"},{"start_ms":"543029","end_ms":"545819","text":"todas las entradas en el teclado hasta","start_time_text":"9:03"},{"start_ms":"545819","end_ms":"549059","text":"que se presiona la tecla retorno","start_time_text":"9:05"},{"start_ms":"549059","end_ms":"551879","text":"solo en esa etapa extrae los primeros","start_time_text":"9:09"},{"start_ms":"551879","end_ms":"554519","text":"equis caracteres definidos por el valor","start_time_text":"9:11"},{"start_ms":"554519","end_ms":"559379","text":"en r2 por ejemplo al escribir los","start_time_text":"9:14"},{"start_ms":"559379","end_ms":"564479","text":"dígitos del 1 al 9 sólo se capturaría 1","start_time_text":"9:19"},{"start_ms":"564479","end_ms":"569569","text":"2 3 4 5 los primeros cinco caracteres","start_time_text":"9:24"},{"start_ms":"569569","end_ms":"573179","text":"colocados en el buffer de cadena el","start_time_text":"9:29"},{"start_ms":"573179","end_ms":"576529","text":"resto 6 789","start_time_text":"9:33"},{"start_ms":"576529","end_ms":"580139","text":"se trataría como si hubiera ingresado un","start_time_text":"9:36"},{"start_ms":"580139","end_ms":"583609","text":"comando en la terminal por lo tanto","start_time_text":"9:40"},{"start_ms":"583609","end_ms":"588229","text":"genera un mensaje de error","start_time_text":"9:43"},{"start_ms":"590140","end_ms":"593380","text":"cuando se utiliza el género con filler","start_time_text":"9:50"},{"start_ms":"593380","end_ms":"597370","text":"colección el compilador de se invocará","start_time_text":"9:53"},{"start_ms":"597370","end_ms":"600490","text":"el en el asador para vincular el archivo","start_time_text":"9:57"},{"start_ms":"600490","end_ms":"603470","text":"con la biblioteca standard s","start_time_text":"10:00"},{"start_ms":"603470","end_ms":"607430","text":"que proporciona funciones como bring efe","start_time_text":"10:03"},{"start_ms":"607430","end_ms":"608480","text":"o scan","start_time_text":"10:07"},{"start_ms":"608480","end_ms":"612110","text":"efe veamos un ejemplo del uso de estas","start_time_text":"10:08"},{"start_ms":"612110","end_ms":"614589","text":"funciones","start_time_text":"10:12"},{"start_ms":"615230","end_ms":"618920","text":"vemos en la diapositiva un programa en","start_time_text":"10:15"},{"start_ms":"618920","end_ms":"623230","text":"cee que despliega el mensaje hola mundo","start_time_
entrada y salida básica cuando usamos computadoras y sistemas operativos damos mucho por sentado y escribimos comando en el teclado los comandos se activan y recibimos comentarios de la acción del comando a través de lo que se muestra en la pantalla pero en detalle están pasando muchas cosas considero un par de tareas que parecería relativamente simples escribir un comando en el teclado y luego obtener una respuesta en la pantalla estas son cosas que hacemos cada vez que interactuamos con un programa la pregunta es cómo obtenemos información del teclado y escribimos información en la pantalla en nuestro programa de en salvador en el sentido más estricto lo hace uno mismo pero esto implica una gran cantidad de conocimiento sobre los diversos componentes de hardware porque para escribir un mensaje en la pantalla por ejemplo tenemos que saber exactamente dónde se encuentra el hardware que controla la pantalla dentro de la memoria de la computadora y cómo escribir la información ahí de igual forma para leer la entrada desde el teclado necesitamos comprender cómo se asigna el teclado y cómo leer esa matriz para identificar qué teclas se presionan o adjetivos escribir el código para mostrar datos en pantalla aprender las instrucciones para leer datos desde el teclado llamar funciones de la librería estándar de cee desde ensamblador la instrucción s w y le permite como programador obtener acceso a rutinas o bibliotecas predefinidas s w significa interrupción de software porque cuando se encuentra hace que el flujo de su programa se detenga y se entregue a la rutina apropiada una vez que se ha complementado la instrucción s w y el control se devuelve al programa de llamada el comando s w y también se conoce a menudo como ese vr o llamada de supervisor ya que este es un modo de operación quien sirve o invoca en el chip a rm cuando se llama probablemente recordará que cuando se presentó la estructura de un programa en ensamblador se utilizó un comando s w y en el código del programa lo usamos para salir del código equivalente a retorcer o dentro de la función 20 el lenguaje c este uso tomó la forma de mod r 7 coma numeral 1 s w y 0 todas las llamadas ese doble y se ejecutan con s w y 0 o se puede usar svr 0 en su lugar la función real a realizar está determinada por el número contenido en el registro r 7 el número 1 es para terminar el proceso actual esto se llama el número de llamada de sistema o fiscal además es posible que otros registros también tengan que ser llenados con información por lo que una llamada a ese w 0 a menudo requiere cierta configuración antes de ejecutarse por ejemplo para escribir una cadena de caracteres en la pantalla se requieren otros tres elementos de información específica para colocarse en cierto registro para utilizar esta llamada s w y de manera efectiva entonces necesitamos saber qué hacen qué información se debe transmitir y en que registró la llamada s w y puede devolver información y en tales casos necesitamos saber qué información y en qué registros veamos las llamadas al sistema que posiblemente sean las más importantes en esta etapa de nuestro aprendizaje imprimir en la pantalla y leer desde el teclado para escribir una secuencia o cadena de caracteres haz clic en la pantalla necesitamos usar la función escribir esto se hace con fiscal 4 los parámetros requeridos por fiscal 4 son los siguientes en el registro r 0 es el que determina el flujo de salida pondremos 1 para indicar que será el monitor en r1 colocaremos la dirección de la cadena de caracteres r 2 tendrá la cantidad de caracteres que se escribirán r7 será el número de fiscal es decir r 7 igual 4 el ensamblador de gsc nos brinda la posibilidad de almacenar una cadena de caracteres aquí dentro del cuerpo del programa en la línea 3 la directiva puntos que informa al ensamblador que a continuación encontrará una cadena de caracteres aquí encerrada entre comillas dobles también notará barra invertida n al final de la cadena el carácter de bar diagonal inversa significa que el siguiente carácter es un carácter de control y como tal tiene una acción aquí barra inversa n significa generar una nueva línea en la línea 9 cuando se realiza fiscal 4 identifica el flujo de salida el 1 pasado en ere 0 en la línea 10 define el monitor como el dispositivo de salida estándar luego en la línea 11 extrae la longitud de la cadena r 2 e imprime ese número de caracteres comenzando en la dirección contenida en r1 línea 12 el número de caracteres contenido en r2 incluye espacios y cualquier puntuación la línea 12 se puede leer como cargue en r1 la dirección de la etiqueta ms j la línea 14 s&w y 0 es donde se ejecuta fiscal 4 tomando la configuración hecha en las líneas anteriores al compilar enlazar y ejecutar el programa obtenemos la salida hola mundo mostrará en la diapositiva para leer una secuencia o cadena de letras es que desde el teclado necesitamos usar la función leer esta es fiscal 3 los parámetros requeridos por fiscal 3 son similares a los de fiscal 4 y son los siguientes r 0 igual flujo de entrada esto es 0 para el teclado r 1 igual la dirección del buffer para colocar la cadena de caracteres ley 2 r2 igual el número de caracteres a leer r 7 igual es el número de fiscal que resiente igual a 3 aquí todavía tenemos que definir la cadena haz que la etiqueta msj señala lo que efectivamente es un buffer o lugar para colocar la entrada leída desde el teclado definido una cadena vacía con punto y coma espacio comillas hay otras formas de reservar espacios vacíos en la memoria en los programas y se discutirán más adelante r2 ahora se usa para contener la cantidad de caracteres que queremos del proceso de lectura es importante recordar que esto no es el único número de caracteres que se pueden escribir cuando se ejecuta el programa acepta todas las entradas en el teclado hasta que se presiona la tecla retorno solo en esa etapa extrae los primeros equis caracteres definidos por el valor en r2 por ejemplo al escribir los dígitos del 1 al 9 sólo se capturaría 1 2 3 4 5 los primeros cinco caracteres colocados en el buffer de cadena el resto 6 789 se trataría como si hubiera ingresado un comando en la terminal por lo tanto genera un mensaje de error cuando se utiliza el género con filler colección el compilador de se invocará el en el asador para vincular el archivo con la biblioteca standard s que proporciona funciones como bring efe o scan efe veamos un ejemplo del uso de estas funciones vemos en la diapositiva un programa en cee que despliega el mensaje hola mundo utilizando la función print efe ahora veamos el código en ensamblador que utiliza la función print efe el compilador de se creará automáticamente una matriz constante de caracteres y lo inicializar para contener el mensaje luego cargará la dirección del primer carácter de la matriz en el registro r 0 antes de llamar a print efe la función primer esperar a ver una elección en r 0 que asumirá que es la dirección de la cadena de formato a imprimir la llamada a la función se puede realizar de la siguiente manera bl espacio print efe el siguiente código en el lenguaje se muestra el uso de la función scan efe para leer desde el teclado un número entero ahora vemos su equivalente en ensamblador utilizando la función escane efe de la librería estándar de ce para utilizarla la cadena de formato se carga en r 0 y el valor capturado se guardará en la dirección cargada en r1 también notemos que se utiliza la función print efe como un parámetro cuyo valor se espera que esté almacenado en r1 cambia tus pensamientos y cambiarás tu mundo hasta la próxima