| Electronic Components Datasheet Search |
|
UPD17P136ACT Datasheet(PDF) 111 Page - NEC |
|
|
|||||||||||||||||||||||||||||
UPD17P136ACT Datasheet(HTML) 111 Page - NEC |
|
111 / 292 page ![]() CHAPTER 11 ARITHMETIC AND LOGIC UNIT (ALU) 92 11.3.3 Addition and Subtraction When CMP = 0 and BCD = 1 BCD operations are performed. The result of the operation is stored in the general register or data memory. When the result of the operation is greater than 1001B (9D) or less than 0000B (0D), the carry flag is set (1), otherwise it is reset (0). When the result of the operation is 0000B (0D), the Z flag is set (1), otherwise it is reset (0). Operations in BCD are performed by first computing the result in binary and then by using the decimal correction circuit to convert the result to decimal. For information concerning the binary to decimal conversion, see Table 11-2. In order for operations in BCD to be performed properly, note the following: (1) Result of an addition must be in the range 0D to 19D. (2) Result of a subtraction must be in the range 0D to 9D, or in the range –10D to –1D. The following shows which value is considered the CY flag in the range 0D to 19D (shown in 4-bit binary): 0, 0000B to 1, 0011B CY CY The following shows which value is considered the CY flag in the range –10D to –1D (shown in 4-bit binary): 1, 0110B to 1, 1111B CY CY When operations in BCD are performed outside of the limits of (1) and (2) stated above, the CY flag is set (1) and the result of operation is output as a value greater than or equal to 1010B (0AH). 11.3.4 Addition and Subtraction When CMP = 1 and BCD = 1 BCD operations are performed. The result is not stored in either the general register or data memory. In other words, the operations specified by CMP = 1 and BCD = 1 are both performed at the same time. Example MOV RPL, #0001B ; Sets the BCD flag (BCD = 1). MOV PSW, #1010B ; Sets the CMP and Z flag (CMP = 1, Z = 1) and resets the CY flag ; (CY = 0). SUB M1, #0001B ; (1) SUBC M2, #0010B ; (2) SUBC M3, #0011B ; (3) By executing the instructions in steps numbered (1), (2), and (3), the 12 bits in memory locations M1, M2, and M3 and the immediate data (321) can be compared in decimal. 11.3.5 Notes Concerning Use of Arithmetic Operations When performing arithmetic operations with the program status word (PSWORD), caution should be taken with regard to the result of the operation being stored in the program status word. Normally, the CY and Z flags in the program status word are set (1) or reset (0) according to the result of the arithmetic operation being executed. However, when an arithmetic operation is performed on the program status word itself, the result is stored in the program status word. This means that there is no way to determine if there is a carry or borrow in the result of the operation nor if the result of the operation is zero. However, when the CMP flag is set (1), results of arithmetic operations are not stored. Therefore, even in the above case, the CY and Z flags will be properly set (1) or reset (0) according to the result of the operation. |
|
Link URL |
| Does ALLDATASHEET help your business so far? [ DONATE ] |
About Alldatasheet | Advertisement | Contact us | Privacy Policy | Link to Datasheet | Link Exchange | Manufacturer List 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 |