12.01.2013 Views

TELECOMPUTING-^? - Bombjack.org

TELECOMPUTING-^? - Bombjack.org

TELECOMPUTING-^? - Bombjack.org

SHOW MORE
SHOW LESS

You also want an ePaper? Increase the reach of your titles

YUMPU automatically turns print PDFs into web optimized ePapers that Google loves.

INTRODUCTION TO<br />

ASSEMBLY<br />

LANGUAGE<br />

COMPUTERS DON'T SPEAK ENGLISH, THEY SPEAK MACHINE<br />

CODE. AND (MOST) HUMANS DON'T SPEAK MACHINE CODE,<br />

BUT SOMETIMES WE FIND WE HAVE TO TALK TO COMPUTERS.<br />

WHEN THIS NEED ARISES WE USE AN INTERPRETER, JUST AS<br />

WE DO WHEN WE HAVE TD TALK TO ANOTHER HUMAN WHO<br />

DOESN'T SPEAK OUR LANGUAGE. THE HUMAN-TO-MACHINE<br />

INTERPRETER MOST OF US ARE USED TO IS BASIC. IT LETS<br />

US PUT DOWN OUR IDEAS IN A FORM OF "PIDGIN ENGLISH"<br />

THAT WE CAN UNDERSTAND, AND TRANSLATES IT INTO<br />

MACHINE CODE THAT THE COMPUTER CAN EXECUTE. THE<br />

PROCESS IS NOT VERY EFFICIENT, BECAUSE ENGLISH IS A<br />

MUCH MORE GENERAL LANGUAGE THAN MACHINE CODE. EVEN A<br />

SIMPLE COMMAND LIKE "PRINT" MUST BE TRANSLATED INTO A<br />

LOT OF NUMBERS (THE MACHINE CODE) FOR THE COMPUTER TO<br />

RUN. THE BASIC INTERPRETER MUST ALSO EXAMINE THE<br />

"PRINT" STATEMENT IN THE CONTEXT OF THE PROGRAM TD<br />

SEE IF WE WANTED A STRING, A STRING VARIABLE, A<br />

NUMBER, A VARIABLE, A NUMERIC EXPRESSION, OR A BLANK<br />

LINE PRINTED, AND WHETHER WE WANTED IT PRINTED TO THE<br />

SCREEN, PRINTER, OISK DRIVE, CASSETTE, OR MODEM.<br />

THAT TAKES TIME.<br />

IT WOULD BE MUCH FASTER IF WE COULD SPEAK SOME<br />

DIALECT OF THE COMPUTER'S LANGUAGE, SOMETHING AS<br />

SPECIFIC AS MACHINE CODE BUT EASIER FOR A HUMAN TO<br />

UNDERSTAND. THIS IS THE PRINCIPLE BEHIND ASSEMBLY<br />

LANGUAGE. EACH COMMAND IN ASSEMBLY LANGUAGE IS A<br />

MNEMONIC (LETTERS THAT ARE AN ABBREVIATION FOR<br />

SOMETHING ELSE) THAT CORRESPONDS DIRECTLY WITH A<br />

SINGLE MACHINE CODE INSTRUCTION. FOR EXAMPLE, THE<br />

ASSEMBLY LANGUAGE COMMAND "LDA" STANDS FOR "LOAD THE<br />

ACCUMULATOR". THE ASSEMBLER WILL TRANSLATE THIS INTO<br />

JUST ONE MACHINE CODE INSTRCTION, THE NUMBER THAT<br />

MEANS TO THE COMPUTER "LOAD THE ACCUMULATOR." AS YOU<br />

CAN SEE, ASSEMBLY LANGUAGE PROGRAMMING DOES REQUIRES<br />

THAT YOU UNDERSTAND WHAT HAPPENS INSIDE YOUR<br />

COMPUTER. YOU HAVE TO KNOW ABOUT MEMORY ADDRESSING<br />

MODES, THE CPU REGISTERS, FLAGS, BINARY LOGIC.<br />

HEXADECIMAL NUMBERS, AND HOW INPUT AND OUTPUT ARE<br />

HANDLED. DON'T LET THIS DISCOURAGE YOU! COMPUTERS<br />

ARE REALLY VERY SIMPLE DEVICES, AND DO EXACTLY AS<br />

THEY ARE TOLD. ONE GOOD BOOK AND A LITTLE TIME ARE<br />

ALL YOU WILL NEED TO GET STARTED. REMEMBER, ONCE<br />

UPON A TIME EVEN BASIC LOOKED LIKE A FOREIGN LANGUAGE<br />

TO YOU! (IF YOU DON'T SPEAK BASIC OR SOME OTHER<br />

HIGH-LEVEL COMPUTER LANGUAGE YET, I STRONGLY<br />

RECOMMEND GAINING SOME FAMILIARITY WITH BASIC, COMAL,<br />

PASCAL, OR SOMETHING ELSE BEFORE TAKING ON ASSEMBLY<br />

LANGUAGE, JUST TO BECOME FAMILIAR WITH PROGRAMMING<br />

STRUCTURE AND LOGIC. YOU DON'T HAVE TO BE AN EXPERT<br />

IN ANOTHER PROGRAMMING LANGUAGE BEFORE TACKLING<br />

ASSEMBLY, BUT SOME FAMILIARITY DEFINITELY HELPS.)<br />

MUtK<br />

BROWN<br />

in this entry-level tutorial,<br />

you will not only lose your fear<br />

of assembly language, but you<br />

will actually customize BASIC<br />

with a short but useful routine.<br />

Remember, once upon a tine<br />

even BASIC looked like a<br />

foreign language to you!<br />

Computers are really very<br />

simple devices, and do<br />

exactly as they are told.<br />

Even a<br />

"PRINT1 1 must<br />

into a<br />

simple<br />

lot of<br />

the computer<br />

command like<br />

be translated<br />

numbers<br />

to run.<br />

.. for

Hooray! Your file is uploaded and ready to be published.

Saved successfully!

Ooh no, something went wrong!