| 전자부품 데이터시트 검색엔진 |
|
ST10F280-AB 데이터시트(PDF) 2 Page - STMicroelectronics |
|
|
|||||||||||||||||||||||||||||
ST10F280-AB 데이터시트(HTML) 2 Page - STMicroelectronics |
|
2 / 4 page ![]() ST10F280-AB 2/4 2.2 - MAC.9 - CoCMP Instruction Inverted Operands The ST10 Family Programming Manual describes the CoCMP instruction as: subtracts a 40-bit signed operand from th 40-bit accumulator content (acc - op2\op1), and updates the N, Z and C flags in the MSW register, leaving the accumulator unchanged. On the device the reverse operation (op2\op1 - acc) has been implemented in the Mac Unit. Therefore, the N and C flags are set according to the reverse operation (Z flag is not affected). Workaround: Change interpretation of the N and C flags in the MSW register. Example: MOV R12, #07h MOV R13, #06h MOV R14, #0 CoLOAD R14, R12 ; Accumulator = 70000h CoCMP R14, R13 ; Compares 70000h to 60000h Here the content of MSW is 0500h, i.e. C = 1, Z = 0 and N = 1. To test if the Accumulator was greater than or equal the compared value, the "normal" test, according to the description in the ST10 Programming Manual, would be: JNB MSW.10, Greater ; If C flag cleared, then greater than or equal With the implementation, this test does not provide the expected result. To obtain the correct comparison, use instead: JB MSW.10, Greater ; C flag set: 60000h < 70000h (60000h-70000h implemented) ; i.e. the accumulator is greater than or equal compared value 2.3 - MAC.10 - E Flag Evaluation for CoSHR and CoASHR Instructions when Saturation Mode is Enabled The Logical and the Arithmetic Right Shift instructions (CoSHR/CoASHR) are specififed not to be affected by the saturation mode (MS bit of the MCW register): the shift operation is always made on the 40 bits of the accumulator. The result shifted in the accumulator is never saturated. Only when the saturation mode is enabled, the evaluation of the E Flag (in the MSW register) is erroneous. Comment to the example: In the example below (Table 1), the E Flag is kept cleared however MAE is used: bit 0 of MAE has been shifted into bit 15 of MAH. The MAE part has been used and it contents significant bits but the E Flag has not been set. The content of the flags is given after the execution of the instruction. Workaround: If the MAE flag is used, the saturation mode must be disabled before running Logical and/or Arihmetic Right Shift instructions and re-enable just after. Table 1 : MAC.10 Example MS Bit is Set, Saturation Mode is Enabled Status of Flags After Instruction Execution Code Accumulator Value (Hexa.) SL E SV C Z N Remark MOV R5, #5555h -- ---- ---- - ----- - CoLOAD R5, R5 00 5555 5555 0 00000 Right NOP 00 5555 5555 0 00000 Right MOV MSW, #007Fh 7F 5555 5555 0 00000 Right NOP 7F 5555 5555 0 00000 Right CoSHR #1 3F AAAA AAAA 0 0* 0000 *E is wrong |
|
|
링크 URL |
| ALLDATASHEET 가 귀하에 도움이 되셨나요? [ DONATE ] |
Alldatasheet는? | 광고문의 | 운영자에게 연락하기 | 개인정보취급방침 | 링크 투 데이터시트 | 링크교환 | 제조사별 검색 All Rights Reserved©Alldatasheet.com |
| 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 |