Build a computer online and compile assembly code

  

Part 1: 1–2 pages; Part 2: 1–2 pages

Part 1 Tasks: Week 4 IP Final Draft

Using any national known computer manufacturer, finalize the outline of a computer configuration for your use. Your outline should include the following:

  • Explain in detail why you chose that      specific hardware. It should have the type and speed of the central      processing unit (CPU), the hard disk type, memory, cache memory, and so      forth.
  • You should have enough configuration      details to explain how you came about the desired specifications.
  • Click here (http://notepad-plus-plus.org/download/v6.6.3.html)      for a computer configuration worksheet you can use to help evaluate      various computers.

Part 2 Tasks: Week 5

The Assembly code compilation may be challenging, but the program has to be saved and submitted through a Notepad++ document. You can download notepad++ if you do not have a current copy. Click here to download the Notepad++ software. After you download the Notepad++ editor, type in your code and save it. Then it can be copied and pasted and run in an online compiler

Click here (http://www.compileonline.com/compile_assembly_online.php) to compile and execute assembly code.

  1. Compile and execute the existing      Assembly code on the left side of the screen. The following is the code      that should be displayed: (Complineonline, n.d.) 

section .text

global _start ;must be declared for using gcc

_start: ;tell linker entry point

mov edx, len ;message length

mov ecx, msg ;message to write

mov ebx, 1 ;file descriptor (stdout)

mov eax, 4 ;system call number (sys_write)

int 0x80 ;call kernel

mov eax, 1 ;system call number (sys_exit)

int 0x80 ;call kernel

section .data

msg db ‘Hello, world!’,0xa ;our dear string

len equ $ – msg ;length of our dear string

When you click on the compile and execute button, the following results in the right screen will display:

Compiling main.asm source code….
$nasm -f elf main.asm 2>&1

Linking the program….
$ld -m elf_i386 -s -o demo *.o 2>&1

Executing the program….
$demo

Hello, world!

2. Modify the code to display the following four lines:

Hello, world!

CE 242 is an awesome and fun class!

CTU is a great University!

I love the USA!

Part 3 Tasks: Week 5

  1. Convert the following binary code      into ASCII Text. Please show your work and do not use an online converter.

01001001 00100000 01101100 01101111 01110110 01100101 00100000 01000011 01010100 01010101

Write your full name in Binary code separated in bytes. For example, the name of the president of the USA in binary code is

Barak Obama

01000010

01100001

01110010

01100001

01101011

00100000

01001111

01100010

01100001

01101101

01100001

Show your work.

  1. What are the advantages of using      Fixed-Length number representation in Assembly in contrast to JAVA?      Explain, and give examples.
  2. What are the benefits and drawbacks      between assigning a real number and an integer in Assembly? Why do you      need either or both? Give examples.
  3. Compile this assembly code that uses      arrays. (Tutorialspoint, n.d.)

section .text

global _start ;must be declared for linker (ld)

_start:

mov eax,3 ;number bytes to be summed

mov ebx,0 ;EBX will store the sum

mov ecx, x ;ECX will point to the current element to be summed

top: add ebx, [ecx]

add ecx,1 ;move pointer to next element

dec eax ;decrement counter

jnz top ;if counter not 0, then loop again

done:

add ebx, ‘0’

mov [sum], ebx ;done, store result in “sum”

display:

mov edx,1 ;message length

mov ecx, sum ;message to write

mov ebx, 1 ;file descriptor (stdout)

mov eax, 4 ;system call number (sys_write)

int 0x80 ;call kernel

mov eax, 1 ;system call number (sys_exit)

int 0x80 ;call kernel

section .data

global x

x:

db 2

db 4

db 3

sum:

db 0

Click here to compile and execute assembly code.

Change the program to display F as a sum of the array.

References

Compileonline.com. (n.d.). Compile and execute assembly online (NASM version 2.10.07). Retrieved from http://www.compileonline.com/compile_assembly_online.php

Notepad++. (n.d.). Download Notepad++ 6.6.3. Retrieved from http://notepad-plus-plus.org/download/v6.6.3.html

Tutorialspoint. (n.d.). Assembly – Environment setup. Retrieved from http://www.tutorialspoint.com/assembly_programming/assembly_environment_setup.htm

"We Offer Paper Writing Services on all Disciplines, Make an Order Now and we will be Glad to Help"