[ Foro de C ]

Foro de nasm y gas para debian y freeBSD

15-Apr-2021 17:46
Invitado (Iv?n rodellas garc?a)
1 Respuestas


Al parecer me han subido la pensión ha casi 2000 euros.

Uso freeBSD, tener que meter openBSD y netBSD; da un pelin de mareo.

Tengo 3 Imac i3, i5, i5, y mac pro y 11 portatiles.

Utilizo Unix system V y BSD.

De momento uso freeBSD 12.2, en un dell de 17 pulgadas y un linux debian 10.9; debian tiene casi 63,000 paquetes.

A mi eso de los linux son sencillitos pero utiles.

Para el día 25, tengo una faena enorme, compro 4 portatiles.

Y meto debian hurd, openBSD, netBSD, os anonymous, ubuntu, slackware, aix, solaris, sco Unix.

Ostima que dolor de cabeza.

Pienso meter más unix.

Eso de C/C++, se entiende.

Me he metido en una web de ensamblador y me enterado un poco.

A ver si conoce alguien y nos hace un foro de ensamblador nasm y gas, para Debian y freeBSD.

freeBSD, tiene nasm y gas.


section .text
  global _start         ;must be declared for using gcc

_start:                  ;tell linker entry point
  ;create the file
  mov  eax, 8
  mov  ebx, file_name
  mov  ecx, 0777        ;read, write and execute by all
  int  0x80             ;call kernel

  mov [fd_out], eax
   
  ; write into the file
  mov edx,len          ;number of bytes
  mov ecx, msg         ;message to write
  mov ebx, [fd_out]    ;file descriptor
  mov eax,4            ;system call number (sys_write)
  int 0x80             ;call kernel

  ; close the file
  mov eax, 6
  mov ebx, [fd_out]
   
  ; write the message indicating end of file write
  mov eax, 4
  mov ebx, 1
  mov ecx, msg_done
  mov edx, len_done
  int  0x80
   
  ;open the file for reading
  mov eax, 5
  mov ebx, file_name
  mov ecx, 0             ;for read only access
  mov edx, 0777          ;read, write and execute by all
  int  0x80

  mov  [fd_in], eax
   
  ;read from file
  mov eax, 3
  mov ebx, [fd_in]
  mov ecx, info
  mov edx, 26
  int 0x80
   
  ; close the file
  mov eax, 6
  mov ebx, [fd_in]
  int  0x80    

  ; print the info
  mov eax, 4
  mov ebx, 1
  mov ecx, info
  mov edx, 26
  int 0x80
     
  mov eax,1             ;system call number (sys_exit)
  int 0x80              ;call kernel

section .data
file_name db 'myfile.txt'
msg db 'Welcome to Tutorials Point'
len equ  $-msg

msg_done db 'Written to file', 0xa
len_done equ $-msg_done

section .bss
fd_out resb 1
fd_in  resb 1
info resb  26


Es un ejemplo que se entiende muy bien.

https://www.tutorialspoint.com/assembly_programming/index.htm

Hay mucha web por ahí, y hacerse con información en ensamblador

Utilizo freeBSD 12.2, como usuario.

He metido la pata con una configuración de sysinstall, de freeBSD, y tengo que entrar en modo rescate; para configurarlo y poderme hacerme root.

Creo que es enable secure shell, desde sysinstall

Porfavor, meta a alguien en la web que nos ayude con en el ensamblador.

Saludos al foro.


15-Apr-2021 23:56
Nacho Cabanes (+84)

Como bien sabes, la web está abierta a cualquiera. Pero ensamblador es un lenguaje claramente en desuso, y la poca gente que lo emplea hoy en día (creación de drivers, por ejemplo), asume que se trabaja en inglés. Tendrías que buscar fotos en ese idioma.

Yo hace más de 25 años que no programo en ensamblador, y no tengo el tiempo ahora de ponerme a refrescar conocimientos o a buscar soluciones a problemas complejos.






(No se puede continuar esta discusión porque tiene más de dos meses de antigüedad. Si tienes dudas parecidas, abre un nuevo hilo.)