поискавой системы для электроныых деталей
  Russian  ▼
ALLDATASHEETRU.COM

X  

STC89C53RC датащи(PDF) 152 Page - STCmicro Technology Co,.Ltd

номер детали STC89C53RC
подробное описание детали  Enhanced 80C51 Central Processing Unit ,6T or 12T per machine cycle
PDF  165 Pages
Scroll/Zoom Zoom In 100%  Zoom Out
производитель  STC [STCmicro Technology Co,.Ltd]
домашняя страница  http://www.stcmicro.com/
Logo STC - STCmicro Technology Co,.Ltd

STC89C53RC датащи(HTML) 152 Page - STCmicro Technology Co,.Ltd

Back Button STC89C53RC Datasheet HTML 148Page - STCmicro Technology Co,.Ltd STC89C53RC Datasheet HTML 149Page - STCmicro Technology Co,.Ltd STC89C53RC Datasheet HTML 150Page - STCmicro Technology Co,.Ltd STC89C53RC Datasheet HTML 151Page - STCmicro Technology Co,.Ltd STC89C53RC Datasheet HTML 152Page - STCmicro Technology Co,.Ltd STC89C53RC Datasheet HTML 153Page - STCmicro Technology Co,.Ltd STC89C53RC Datasheet HTML 154Page - STCmicro Technology Co,.Ltd STC89C53RC Datasheet HTML 155Page - STCmicro Technology Co,.Ltd STC89C53RC Datasheet HTML 156Page - STCmicro Technology Co,.Ltd Next Button
Zoom Inzoom in Zoom Outzoom out
 152 / 165 page
background image
Parameter Passing
A macro with parameters passed from the main program has the following modified format:
%*DEFINE
(macro_name (parameter_list)) (macro_body)
For example, if the following macro is defined,
%*DEFINE
(CMPA# (VALUE))
(CJNE
A, #%VALUE, $ + 3
)
then the macro call
%CMPA# (20H)
will expand to the following instruction in the .LST file:
CJNE
A, #20H, $ + 3
Although the 8051 does not have a "compare accumulator" instruction, one is easily created using the CJNE
instruction with "$+3" (the next instruction) as the destination for the conditional jump. The CMPA# mnemonic
may be easier to remember for many programmers. Besides, use of the macro unburdens the programmer from
remembering notational details, such as "$+3."
Let's develop another example. It would be nice if the 8051 had instructions such as
JUMP
IF ACCUMULATOR GREATER THAN X
JUMP
IF ACCUMULATOR GREATER THAN OR EQUAL TO X
JUMP
IF ACCUMULATOR LESS THAN X
JUMP
IF ACCUMULATOR LESS THAN OR EQUAL TO X
but it does not. These operations can be created using CJNE followed by JC or JNC, but the details are tricky.
Suppose, for example, it is desired to jump to the label GREATER_THAN if the accumulator contains an ASCII
code greater than "Z" (5AH). The following instruction sequence would work:
CJNE
A, #5BH, $÷3
JNC
GREATER_THAN
The CJNE instruction subtracts 5BH (i.e., "Z" + 1) from the content of A and sets or clears the carry flag
accordingly. CJNE leaves C=1 for accumulator values 00H up to and including 5AH. (Note: 5AH-5BH<0,
therefore C=1; but 5BH-5BH=0, therefore C=0.) Jumping to GREATER_THAN on the condition "not carry"
correctly jumps for accumulator values 5BH, 5CH, 5DH, and so on, up to FFH. Once details such as these are
worked out, they can be simplified by inventing an appropriate mnemonic, defining a macro, and using the macro
instead of the corresponding instruction sequence. Here's the definition for a "jump if greater than" macro:
%*DEFINE
(JGT (VALUE, LABEL))
(CJNE
A, #%VALUE+1, $+3
;JGT
JNC
%LABEL
)
To test if the accumulator contains an ASCII code greater than "Z," as just discussed,the macro would be called as
%JGT
('Z', GREATER_THAN)
ASM51 would expand this into
CJNE
A, #5BH, $+3
;JGT
JNC
GREATER_THAN
The JGT macro is an excellent example of a relevant and powerful use of macros. By using macros, the
programmer benefits by using a meaningful mnemonic and avoiding messy and potentially bug-ridden details.
152



Html Pages

1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71 72 73 74 75 76 77 78 79 80 81 82 83 84 85 86 87 88 89 90 91 92 93 94 95 96 97 98 99 100  ...More


датащи скачать

Go To PDF Page


ссылки URL



Вашему бизинису помогли Аллдатащит?  [ DONATE ] 

Что такое Аллдатащит   |   реклама   |   контакт   |   Конфиденциальность   |   Ссылка на техническое описание    |   обмен ссыками   |   поиск по производителю
All Rights Reserved©Alldatasheet.com


Mirror Sites
English : Alldatasheet.com  |   English : Alldatasheet.net  |   Chinese : Alldatasheetcn.com  |   German : Alldatasheetde.com  |   Japanese : Alldatasheet.jp
Russian : Alldatasheetru.com  |   Korean : Alldatasheet.co.kr  |   Spanish : Alldatasheet.es  |   French : Alldatasheet.fr  |   Italian : Alldatasheetit.com
Portuguese : Alldatasheetpt.com  |   Polish : Alldatasheet.pl  |   Vietnamese : Alldatasheet.vn
Indian : Alldatasheet.in  |   Mexican : Alldatasheet.com.mx  |   British : Alldatasheet.co.uk  |   New Zealand : Alldatasheet.co.nz
Family Site : ic2ic.com  |   icmetro.com