Saturday, October 11, 2008
Due: October 10, 2008.
.model small
.stack
.data
message db "Hello world, I'm learning Assembly !!!", "$"
.code
main proc
mov ax,seg message
mov ds,ax
mov ah,09
lea dx,message
int 21h
mov ax,4c00h
int 21hmain endp
end main
Thursday, October 9, 2008
MCS QUESTION# 5
Due: October 6
ANSWER:
In the earliest computers, programmers actually wrote programs in machine code, but assembler languages or instruction sets were soon developed to speed up programming. Today, assembler programming is used only where very efficient control over processor operations is needed. It requires knowledge of a particular computer's instruction set, however. Historically, most programs have been written in "higher-level" languages such as COBOL, FORTRAN, PL/I, and C. These languages are easier to learn and faster to write programs with than assembler language. The program that processes the source code written in these languages is called a compiler. Like the assembler, a compiler takes higher-level language statements and reduces them to machine code.
A newer idea in program preparation and portability is the concept of a virtual machine. For example, using the Java programming language, language statements are compiled into a generic form of machine language known as bytecode that can be run by a virtual machine, a kind of theoretical machine that approximates most computer operations. The bytecode can then be sent to any computer platform that has previously downloaded or built in the Java virtual machine. The virtual machine is aware of the specific instruction lengths and other particularities of the platform and ensures that the Java bytecode can run.
http://searchdatacenter.techtarget.com/sDefinition/0,,sid80_gci211604,00.html
Tuesday, October 7, 2008
MCS QUESTION # 4
Due: Sept. 25, 2008
Launch Java Applications from Assembly Language Programs
by Biswajit Sarkar
Java Native Interface (JNI) is a mechanism that can be used to establish communication between native language programs and the Java virtual machine. The documentation for JNI and the technical literature on JNI deal extensively with interactions between the JVM and C/C++ code. The Java SDK even provides a utility to generate a header file to facilitate calling C/C++ programs from Java code. However, there is hardly any mention of Java and assembly language code working together. In an earlier article I showed how assembly language programs can be called from Java applications. Here I deal with the technique for invoking Java programs from an ASM process through a demo application that calls a Java method from assembly language code. The Java method brings up a Swing JDialog to show that it has, indeed, been launched.
Wednesday, October 1, 2008
MCS QUESTION # 3
Research in the net what is the best assembler and why.Cite your reference.
Due: September 22, 2008
Is any one "quirky" or otherwise confusing to a beginner than the other? They are all completely different. But if you are really going to work on a 16-bit 8088/8086 CPU, then I'd recommend biting the bullet and doing segmentation properly. That means you should use MASM or TASM. A86 doesn't support segmentation? I could've sworn it supported .obj output to a linker...? Should I go with nasm simply because it has an ongoing development community with which to ask questions of? MASM still has the largest user community of all. Granted, most MASM programmers are doing 32-bit code under Windows these days, but NASM is largely 32-bit as well. The advantage of MASM for this project is that you can still find a lot of old books that cover MASM (and TASM) that > do 16-bit DOS code. The few books that exist for NASM are 32-bits and, > typically, for Linux. Duntemann's book is an exception, though.
http://coding.derkeiler.com/Archive/Assembler/comp.lang.asm.x86/2005-04/msg00345.html
Wednesday, September 17, 2008
MCS 2ND QUESTION
Due: Sept. 17, 2008.
An assembly language is a low-level language for programming computers. It implements a symbolic representation of the numeric machine codes and other constants needed to program a particular CPU architecture. This representation is usually defined by the hardware manufacturer, and is based on abbreviations (called mnemonics) that help the programmer remember individual instructions, registers, etc. An assembly language is thus specific to a certain physical or virtual computer architecture (as opposed to most high-level languages, which are usually portable).
Assembly languages were first developed in the 1950s, when they were referred to as second generation programming languages. They eliminated much of the error-prone and time-consuming first-generation programming needed with the earliest computers, freeing the programmer from tedium such as remembering numeric codes and calculating addresses. They were once widely used for all sorts of programming. However, by the 1980s (1990s on small computers), their use had largely been supplanted by high-level languages, in the search for improved programming productivity. Today, assembly language is used primarily for direct hardware manipulation, access to specialized processor instructions, or to address critical performance issues. Typical uses are device drivers, low-level embedded systems, and real-time systems.
References
Look up assembly language in Wiktionary, the free dictionary.
Wikibooks has a book on the topic of
Subject:Assembly Language
^ David Salomon, Assemblers and Loaders. 1993 [1]
^ Answers.com. "assembly language: Definition and Much More from Answers.com". Retrieved on 2008-06-19.
^ NESHLA: The High Level, Open Source, 6502 Assembler for the Nintendo Entertainment System
^ Eidolon's Inn : SegaBase Saturn
^ Jim Lawless (2004-05-21). "Speaking with Don French : The Man Behind the French Silk Assembler Tools". Retrieved on 2008-07-25.
^ Randall Hyde. "The Great Debate". Retrieved on 2008-07-03.
^ "68K Programming in Fargo II". Retrieved on 2008-07-03.
^ Hyde, op. cit., Foreword ("Why would anyone learn this stuff?")
^ "256bytes demos archives". Retrieved on 2008-07-03.
^ Stroustrup, Bjarne, The C++ Programming Language, Addison-Wesley, 1986, ISBN 0-201-12078-X: "C++ was primarily designed so that the author and his friends would not have to program in assembler, C, or various modern high-level languages. [use of the term assembler to mean assembly language]"
^ Saxon, James, and Plette, William, Programming the IBM 1401, Prentice-Hall, 1962, LoC 62-20615. [use of the term assembly program]
^ Randall Hyde. "Which Assembler is the Best?". Retrieved on 2007-10-19.
^ "vid". "FASMLIB: Features". Retrieved on 2007-10-19.
^ Murdocca, Miles J.; Vincent P. Heuring (2000). Principles of Computer Architecture. Prentice-Hall. ISBN 0-201-43664-7.
^ Principles of Computer Architecture (POCA) – ARCTools virtual computer available for download to execute referenced code, accessed August 24, 2005
Wednesday, September 10, 2008
MCS 213 FIRST QUESTION!!!
Now that you have your first blog, your first writing assignment is to answer the question below:What topic(s) in MCS 213 do you find easy and/or difficult and why?Follow this format:Title: Question #:
Question:________________
Answer: Actually MCS 213 is a difficult subject for me because it makes me think to much when making a program but the most difficult topic is programming because im cannot familiar in prog. sometimes i ask my classmate how to do it thats why prog. is very difficult for me .
Student Name: JIMMAR E. ZONIO Due: September 16, 2008
