⭐ 欢迎来到虫虫下载站! | 📦 资源下载 📁 资源专辑 ℹ️ 关于我们
⭐ 虫虫下载站

📄 tstmpy.lst

📁 FFT asm version.A zip file of all the files is provided in FFT.ZIP
💻 LST
字号:
TSTMPY                                                                                                        PAGE 1

                       1    $mod51
                       2    $nolist
                     117    $list
                     118    
4000                 119            org     tpa
4000 754810          120    start:  mov     radix,#16
4003 754902          121            mov     radsiz,#2
4006 120112          122    again:  call    ilprt
4009 4D756C74        123            db      'Multiplier  : ',0
400D 69706C69   
4011 65722020   
4015 3A2000     
4018 120130          124            call    getln
401B 7942            125            mov     r1,#42h         ; result in 42/43
401D 7830            126            mov     r0,#30h         ; buffer
401F 120145          127            call    getrad
4022 120112          128            call    ilprt
4025 4D756C74        129            db      'Multiplicand: ',0
4029 69706C69   
402D 63616E64   
4031 3A2000     
4034 120130          130            call    getln
4037 7944            131            mov     r1,#44h         ; result in 44/45
4039 7830            132            mov     r0,#30h         ; buffer
403B 120145          133            call    getrad
                     134    
403E 12012D          135            call    crlf
4041 E544            136            mov     a,44h
4043 120115          137            call    prtrad
4046 120112          138            call    ilprt
4049 202A2000        139            db      ' * ',0
404D E542            140            mov     a,42h
404F 120115          141            call    prtrad
4052 120112          142            call    ilprt
4055 203D2000        143            db      ' = ',0
4059 E544            144            mov     a,44h           ; get low multiplicand
405B F5F0            145            mov     b,a
405D E542            146            mov     a,42h           ; get low multiplier
405F 12406A          147            call    mpy             ; a = a * b
                     148    
4062 120115          149            call    prtrad          ; print hi product
4065 12012D          150            call    crlf
4068 809C            151            jmp     again
                     152    ;
                     153    ;$include(mpy.asm)
                =1   154    $include(sysmpy.asm)
  0000          =1   155    shonfo  equ     0
                =1   156    ; signed multiply a * b
406A            =1   157    mpy:
                =1   158            if(shonfo)
                =1   159            push    acc
                =1   160            push    acc
                =1   161            mov     a,#5bh
                =1   162            call    sndchr
                =1   163            pop     acc
                =1   164            call    psprad
                =1   165            mov     a,b
                =1   166            call    psprad
TSTMPY                                                                                                        PAGE 2

                =1   167            pop     acc
                =1   168            endif
                =1   169    
406A FF         =1   170            mov     r7,a            ; save multiplier
406B 65F0       =1   171            xrl     a,b             ; xor signs
406D A2E7       =1   172            mov     c,acc.7
406F C0D0       =1   173            push    psw             ; save result sign
4071 C3         =1   174            clr     c
4072 EF         =1   175            mov     a,r7            ; get multiplier
4073 30E702     =1   176            jnb     acc.7,mpy2
4076 F4         =1   177            cpl     a
4077 04         =1   178            inc     a
4078 C5F0       =1   179    mpy2:   xch     a,b
407A 30E702     =1   180            jnb     acc.7,mpy3
407D F4         =1   181            cpl     a
407E 04         =1   182            inc     a
407F A4         =1   183    mpy3:   mul     ab              ; unsigned math
4080 D0D0       =1   184            pop     psw             ; get result sign
4082 500A       =1   185            jnc     mpy1
4084 F4         =1   186            cpl     a
4085 3400       =1   187            addc    a,#0
4087 C5F0       =1   188            xch     a,b
4089 F4         =1   189            cpl     a
408A 3400       =1   190            addc    a,#0
408C C5F0       =1   191            xch     a,b
408E 33         =1   192    mpy1:   rlc     a
408F C5F0       =1   193            xch     a,b
4091 33         =1   194            rlc     a
                =1   195            if(shonfo)
                =1   196            push    acc
                =1   197            call    psprad
                =1   198            mov     a,#5dh
                =1   199            call    sndchr
                =1   200            pop     acc
                =1   201            endif
4092 22         =1   202            ret
                     203    
                     204            end

VERSION 1.2h ASSEMBLY COMPLETE, 0 ERRORS FOUND

⌨️ 快捷键说明

复制代码 Ctrl + C
搜索代码 Ctrl + F
全屏模式 F11
切换主题 Ctrl + Shift + D
显示快捷键 ?
增大字号 Ctrl + =
减小字号 Ctrl + -