チェックデジット計算

プログラム領域のDATA(80H番地)から始まる12桁の商品コード(バーコードの 下の左から12個の数字)より,13桁目に付加するチェックデジットを計算して CHKDGT(C0H番地)に格納する.


コード

*** KUE-CHIP2 Assembler ver.2.0   by H.Ochi ***

* Calculate Check Digit of Bar Code
* Programmed by Akira Uejima, Apr. 23, 1992

* ex. 490123456789 -> 4
*        input      check digit
*
* Input Data
 80 :                   DATA:   EQU             80H
* Check Digit (result)
 C0 :                   CHKDGT: EQU             0C0H
* Work Area
 F0 :                   WORK:   EQU             0F0H

 00 :   62 00                   LD      ACC,    0
 02 :   6A 0B                   LD      IX,     11
 04 :   B6 80           LP1:    ADD     ACC,    [IX+DATA]
 06 :   AA 02                   SUB     IX,     2
 08 :   32 04                   BZP             LP1
 0A :   74 F0                   ST      ACC,    [WORK]
 0C :   41                      SLA     ACC     
 0D :   B4 F0                   ADD     ACC,    [WORK]
 0F :   6A 0A                   LD      IX,     10
 11 :   B6 80           LP2:    ADD     ACC,    [IX+DATA]
 13 :   AA 02                   SUB     IX,     2
 15 :   32 11                   BZP             LP2
 17 :   F2 00                   CMP     ACC,    0
 19 :   39 26                   BZ              SKIP
 1B :   20                      RCF             
 1C :   82 0A           LP3:    SBC     ACC,    10
 1E :   35 1C                   BNC             LP3
 20 :   74 F0                   ST      ACC,    [WORK]
 22 :   62 00                   LD      ACC,    0
 24 :   A4 F0                   SUB     ACC,    [WORK]
 26 :   74 C0           SKIP:   ST      ACC,    [CHKDGT]
 28 :   0F                      HLT             

                                END             

メモリ(Program Page)

80 : || ||


アクション

トレース : On Off

←実行開始

←全入力項目の初期化


KUE2-Emuトップページ

Akira UEJIMA, Apr 15 09:56 2010