Post on 17-Nov-2015
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.)