Download - ATPS Paradigamas de Linguagem de Programação - Claudio

Transcript

ATPS N1 Paradigmas de linguagem de programao

3. Apresente um exemplo de trecho cdigo fcil e difcil de ler, indique de quais linguagens de programao eles se referem. Explique o porqu da diferena.AssemblyC#1%ifdefNetBSD// A Hello World! Programado em C#.

2using System;

3section .note.netbsd.identnamespace HelloWorld

4dd7,4,1{

5db"NetBSD",0,0 class Hello

6dd200000000 ; amd64 supported since 2.0 {

7%endif staticvoid Main()

8 {

9%ifdefOpenBSD Console.WriteLine("Hello World!");

10

11section .note.openbsd.ident // Mantenha a janela de console aberta no modo debug(depurao).

12align 2 Console.WriteLine("Pressione uma tecla para sair.");

13dd8,4,1 Console.ReadKey();

14db"OpenBSD",0 }

15dd0 }

16align 2}

17%endif

18

19section .text

20%ifidn __OUTPUT_FORMAT__, macho64 ; MacOS X

21

22%define SYS_exit0x2000001

23%define SYS_write 0x2000004

24globalstart

25start:

26%elifidn __OUTPUT_FORMAT__, elf64

27

28%ifdefUNIX; Solaris/OI/FreeBSD/NetBSD/OpenBSD/DragonFly

29%define SYS_exit1

30%define SYS_write 4

31%else ; Linux

32%define SYS_exit60

33%define SYS_write 1

34%endif

35global_start

36_start:

37%else

38

39%error"Unsupported platform"

40%endif

41

42mov rax,SYS_write

43mov rdi,1 ; stdout

44mov rsi,msg

45mov rdx,len

46syscall

47mov rax,SYS_exit

48xor rdi,rdi ; exit code 0

49syscall

50section .data

51msg db"Hello, world!",10

52len equ $-msg

53

O exemplo da linguagem C# de fcil leitura, por sem uma linguagem de alto nvel (mais prxima da linguagem humana), J o escrito em Assembly trata-se de uma linguagem de baixo nvel (mais prxima da linguagem de mquina.)