a)HLL b) 68K x:=x+1 ADDQ.W #1,X IF A=7 THEN CMPI.W #7,A B:=3; BNE NEXT C:=4; MOVEQ #3,B END IF MOVEQ #4,C x:=X+2; NEXT: ADDQ.W #2,X b) At. Programmation Structurée En Assembleur by J.-P. Malengé, S. Albertsen, P. Collard and L. Andréani Masson, Paris, pages. ABCD. Operation: Source(base 10) + Destination (base 10) –>; Destination. Compatibility: Family. Assembler Syntax: ABCD Dy, Dx ABCD -(Ay), -(Ax).
|Published (Last):||6 August 2011|
|PDF File Size:||4.29 Mb|
|ePub File Size:||11.51 Mb|
|Price:||Free* [*Free Regsitration Required]|
You can help by splitting this big page into smaller ones. Please make sure to follow the naming policy. Dividing books into smaller sections can provide more focus and allow each one to do one thing well, which benefits everyone. This document contains information on how to program the Motorola 68K-series microprocessors in assembly language.
One thing to note is that the PowerPC is not binary compatible with the 68K processor. Their assembly languages 680000 completely different. However, Apple has written an emulator in PowerPC assembly language which allows PowerPC microprocessors to interpret machine language code written for 68K microprocessors, albeit with a substantial performance decrease versus native PowerPC machine language.
Assemmbleur has more about this subject:.
There are eight data registers: These are intended to hold numbers assekbleur will have various mathematical and logical operations performed on them. There are seven address registers: These are typically used as pointers. There is one active stack pointer: SP, also called a7.
Normally the processor is in user mode. The and higher processors have a third register called the Master Stack Pointer. The 68K includes special addressing modes that make it easy to assembelur a data stack structure using any address register. The Program Counter PC points to the current instruction. On theonly the lower 24 bits output to any pins, giving a maximum addressing range of 16MiB. It can also be used as assemb,eur pointer in PC relative addressing modes.
IFs, LOOPs and DBRA
Only the lower byte is accessible in user mode, and of this, only the first five bits are useful. In supervisor mode, the entire bit register is accessible. The assembelur looks like this:. Copies the contents of D1 to D0. When the instruction is executed, both registers will contain the same information.
When moving a byte or a word, the upper part sssembleur the register will remain unchanged. Copies whole A1 to D0. After the instruction, both registers contain the same information. When a word is transferred to an address register, bit 15 the sign bit will be copied through the whole upper word bit If it wasn’t so, a negative number would become positive.
Copies the long word starting at address location stored in A0 you say A0 points to the long word. If you refer to a word or a long word, the address in the address register must be an EVEN number. Take care with this!!!
Same as indirect addressing, but An will be increased by the size of the operation after the instruction is executed. The only exception is byte operations on A7 – this register must point to an even address, so it will always increment by at least 2. The only exception is byte operations on A7 – this register must point to an even address, so it will always decrement by at least 2.
Note that there is no postdecrement or preincrement addressing mode.
First decreases A0 with 4 size of operandthen copies the long word starting at address stored in A0 to D2. All listed syntaxes are equivalent, but some assemblers won’t accept them all. Same as above, but another register will also be added.
Scale can be 1, 2, 4, or 8. Scale is not supported on all devices. Not all assemblers will take all listed syntaxes. Operate on the location pointed to by xxx. You can write this either with or without the parentheses, and most assemblers can take either one.
Langage de programmation – Assembleur – Référence d’instructions Motorola x0 par OpCode
Which you choose is largely a matter of personal asse,bleur, but most people find xxx. W easier to read. Some instructions only accept one or the other of near or far absolute wssembleur, thus the separation. Like absolute near, you can include the parentheses at your discretion. Note that PC is the address of the extension word that x is stored in right after the instruction’s word. All syntaxes are equivalent, but some assemblers won’t take them all.
Like PC with displacement, but another register is added as well.
Some assemblers won’t take certain syntaxes. These addressing modes perform two memory accesses – first a read in to a table of addresses, second the actual read or write. Not supported by all devices. SR is the entire status register, including the system byte.
CCR is just the flags. Other than xssembleur, I don’t know how this works. SR is only available in supervisor mode. The only instructions that are allowed to use this addressing mode are: Wherever you see adsembleur in an instruction, you should replace it with the appropriate conditional test code. Refer to this table for what each test does. Labels are simply names for lines. You can have as many labels as you want. Typically, there are only a few places you’ll want to refer to, for example the starting points of functions, loop starts and aasembleur ends, and certain data storage locations.
The assembler handles labels as aliases for numbers. When it encounters one, it assigns it the current value of the assembler’s PC. I will refer to this as “declaring” the label. This label can then be used as an operand anywhere a number can. They are usually used in Jcc or Bcc instructions. Note that you can reference labels assemnleur they’re actually declared. This is known as forward referencingand is handled differently depending on the assembler. Usually, it just uses a known safe value like the current PCflags the location, and makes a second pass to substitute the real value.
This may change the size of the label, in which case a third pass will be needed, and so on. The assembler you use may have different behavior. The 68K instruction assfmbleur is very orthogonal. Most instructions can operate on all data sizes, and very few are restricted to less than three addressing modes. Detailed descriptions of every asdembleur in the MC family can assemblejr found in the Programmer’s Reference Manual.
See External Links below. From Wikibooks, open books sasembleur an open world. Retrieved from ” https: Books to be broken into subpages Subject: Views Read Edit View history.
A Wikibookian believes this page should be split into smaller pages with a narrower subtopic. You can assebleur for help in dividing this book in the assistance reading room. Wikipedia has more about this subject: Determines which stack mode to use if S is set.
This bit is always clear on processor models lower than If set, look at M assembleud determine what stack SP points to. If set, trace on change of program flow. This bit is always cleared on processor models lower than If set, trace is allowed on any instruction.