elsasm.asm

来自「辞典 dict3.asm.grammar.asm,newword.asm 学」· 汇编 代码 · 共 778 行 · 第 1/2 页

ASM
778 行
字号
        sta <position2          ;;position2 = (Row) * 10 + Col-1
        inc 
        sta <position3          ;;position3=(Row) * 10 + Col
        sta <CenterPos
        inc
        sta <position4          ;;position4= Row * 10 + Col+1
        Rts

Big2_SmallType2:
        lda <Row
        dec
        asl
        sta <position1
        asl
        asl
        adc <position1          
        adc <Col
        sta <position1          ;;position1 = (Row - 1) * 10 + Col
        adc #10
        sta <position2          ;;position2 = (Row) * 10 + Col
        sta <CenterPos
        inc
        sta <position3          ;;position3 = (Row) * 10 + Col + 1
        adc #9
        sta <position4          ;;position4 = (Row + 1)* 10 + Col
        Rts

Big2_SmallType3:
        lda <Row
        asl
        sta <position1
        asl
        asl
        adc <position1
        adc <Col
        dec
        sta <position1          ;;position1= (Row) * 10 + Col-1
        inc
        sta <position2          ;;position2 = (Row) * 10 + Col
        sta <CenterPos
        inc
        sta <position3          ;;position3 = (Row) * 10 + Col+1
        adc #9
        sta <position4          ;;position4 = (Row + 1) * 10 + Col
        Rts

Big2_SmallType4:
        lda <Row
        dec
        asl
        sta <position1
        asl
        asl
        adc <position1
        adc <Col
        sta <Position1          ;;Position1 = (Row - 1) * 10 + Col
        adc #9
        sta <position2          ;;position2 = (Row) * 10 + Col - 1
        inc
        sta <position3          ;;position3 = (Row) * 10 + Col
        sta <CenterPos
        adc #10
        sta <position4          ;;position4 = (Row+1) * 10 + Col
        Rts
Sub_Big3:
        lda <SmallType                  
        asl                            
        tax                             
        lda Big3Position+1,x           
        pha                             
        lda Big3Position,x             
        pha                            
        Rts
        
Big3_SmallType1:
        lda <Row
        dec
        asl
        sta <position1
        asl
        asl
        adc <position1
        adc <Col
        dec
        sta <position1          ;;position1 = (Row - 1) * 10 + Col - 1
        adc #10
        sta <position2          ;;position2 = (Row) * 10 + Col - 1
        sta <CenterPos
        inc <CenterPos        
        adc #10
        sta <position3          ;;position3= (Row + 1) * 10 + Col
        inc
        sta <position4          ;;position4= (Row + 1) * 10 + Col + 1
        Rts

Big3_SmallType2:
        lda <Row
        dec
        asl
        sta <position1
        asl
        asl
        adc <position1
        adc <Col
        dec
        sta <position1          ;;position1 = (Row - 1) * 10 + Col - 1
        inc
        sta <position2          ;;position2 = (Row - 1) * 10 + Col
        inc
        sta <position3          ;;position3 = (Row - 1) * 10 + Col + 1
        adc #8
        sta <position4          ;;position4 = Row * 10 + Col - 1
        sta <CenterPos
        inc <CenterPos
        Rts

Big3_SmallType3:
        lda <Row
        dec
        asl
        sta <position1
        asl
        asl
        adc <position1
        adc <Col
        sta <position1          ;;position1 = (Row - 1) * 10 + Col
        inc
        sta <position2          ;;position2 = (Row - 1) * 10 + Col + 1
        adc #10
        sta <position3          ;;position3 = Row * 10 + Col + 1
        sta <CenterPos
        dec <CenterPos
        adc #10
        sta <position4          ;;position4 =(Row + 1) * 10 + Col + 1
        Rts

Big3_SmallType4:
        lda <Row
        asl
        sta <position1
        asl
        asl
        adc <position1
        adc <Col
        inc
        sta <position1          ;;position1 = (Row) * 10 + Col + 1
        sta <CenterPos
        dec <CenterPos        
        adc #8
        sta <position2          ;;position3 = (Row - 2) * 10 + Col
        inc
        sta <position3          ;;position4 = (Row - 2) * 10 + Col + 1
        inc
        sta <position4          ;;position1 = (Row - 1) * 10 + Col + 1

        Rts
Sub_Big4:
        lda <SmallType
        asl
        tax
        lda Big4Position+1,x
        pha
        lda Big4Position,x
        pha
        Rts

Big4_SmallType1:
        lda <Row
        dec
        asl
        sta <position1
        asl
        asl
        adc <position1
        adc <Col
        inc
        sta <position1          ;;position4 = (Row - 2) * 10 + Col + 1
        adc #10
        sta <position2          ;;position3 = (Row - 2) * 10 + Col
        sta <CenterPos
        dec <CenterPos        
        adc #9
        sta <position3          ;;position2 = (Row - 1) * 10 + Col + 1
        inc
        sta <position4          ;;position1 = Row * 10 + Col + 1
        Rts
Big4_SmallType2:
        lda <Row
        dec
        asl
        sta <position1
        asl
        asl
        adc <position1
        adc <Col
        dec
        sta <position1          ;;position2 = (Row - 2) * 10 + Col - 1
        sta <CenterPos
        inc <CenterPos        
        adc #10
        sta <position2          ;;position3 = (Row - 2) * 10 + Col
        inc
        sta <position3          ;;position4 = (Row - 2) * 10 + Col + 1
        inc
        sta <position4          ;;position1 = (Row - 1) * 10 + Col - 1
        Rts
Big4_SmallType3:
         lda <Row
         dec
         asl
         sta <position1
         asl
         asl
         adc <position1
         adc <Col
         dec
         sta <position1         ;;position4 = (Row - 2) * 10 + Col - 1
         inc
         sta <position2         ;;position3 = (Row - 1) * 10 + Col - 1
         adc #9
         sta <position3         ;;position1 = Row * 10 + Col - 1
         sta <CenterPos
         inc <CenterPos         
         adc #10
         sta <position4         ;;position2 = Row * 10 + Col
         Rts
Big4_SmallType4:
         lda <Row
         dec
         asl
         sta <position1
         asl
         asl
         adc <position1
         adc <Col
         dec
         sta <position1         ;;position4 = (Row - 1) * 10 + Col + 1
         inc
         sta <position2         ;;position3 = Row * 10 + Col + 1
         inc
         sta <position3         ;;position2 = Row * 10 + Col
         adc #10
         sta <position4         ;;position1 = Row * 10 + Col - 1
         sta <CenterPos
         dec <CenterPos         
         Rts
Sub_Big5:
        lda <SmallType
        asl
        tax
        lda Big5Position+1,x
        pha
        lda Big5Position,x
        pha
        Rts
Big5_SmallType1:
        lda <Row
        dec
        asl
        sta <position1
        asl
        asl
        adc <position1
        adc <Col
        dec
        sta <position1          ;;position4
        adc #10
        sta <position2          ;;position3
        inc
        sta <position3
        sta <CenterPos
        adc #10
        sta <position4          ;;position1
        Rts
Big5_SmallType2:
        lda <Row
        dec
        asl
        sta <position1
        asl
        asl
        adc <position1
        adc <Col
        sta <position1          ;;position1 = (Row - 1) * 10 + Col - 1
        inc
        sta <position2          ;;position4 = (Row - 1) * 10 + Col
        adc #8
        sta <position3          ;;position1 = Row * 10 + Col
        inc
        sta <position4          ;;position2 = Row * 10 + Col + 1
        sta <CenterPos        
        Rts
Sub_Big6:
        lda <SmallType
        asl
        tax
        lda Big6Position+1,x
        pha
        lda Big6Position,x
        pha
        Rts

Big6_SmallType1:
        lda <Row
        dec
        asl
        sta <position1
        asl
        asl
        adc <position1
        adc <Col
        sta <position1          ;;position4 = (Row - 2) * 10 + Col - 1
        adc #9
        sta <position2          ;;position2 = (Row - 1) * 10 + Col - 1
        inc
        sta <position3          ;;position3 = (Row - 1) * 10 + Col
        sta <CenterPos
        adc #9
        sta <position4          ;;position1 = Row * 10 + Col
        Rts
Big6_SmallType2:
        lda <Row
        dec
        asl
        sta <position1
        asl
        asl
        adc <position1
        adc <Col
        dec
        sta <position1          ;;position4 = (Row - 1) * 10 + Col + 1
        inc
        sta <position2          ;;position2 = Row * 10 + Col
        adc #10
        sta <position3          ;;position3 = (Row - 1) * 10 + Col
        sta <CenterPos        
        inc
        sta <position4          ;;position1 = Row * 10 + Col - 1
        Rts
Sub_Big7:
        lda <SmallType                  
        asl                 
        tax                     
        lda Big7Position+1,x           
        pha             
        lda Big7Position,x             
        pha                 
        Rts                  

Big7_SmallType1:
        lda <Row
        dec
        asl
        sta <position1
        asl
        asl
        adc <position1
        adc <Col
        sta <position1          ;;position4 = (Row - 3) * 10 + Col
        adc #10
        sta <position2          ;;position3 = (Row - 2) * 10 + Col
        sta <CenterPos        
        adc #10
        sta <position3          ;;position2 = (Row - 1) * 10 + Col
        adc #10
        sta <position4          ;;position1 = Row * 10 + Col
        Rts
Big7_SmallType2:
        lda <Row
        dec
        asl
        sta <position1
        asl
        asl
        adc <position1
        adc <Col
        dec
        sta <position1          ;;position1 = (Row - 1) * 10 + Col - 1
        inc
        sta <position2          ;;position2 = (Row - 1) * 10 + Col
        sta <CenterPos
        inc
        sta <position3          ;;position3 = (Row - 1) * 10 + Col + 1
        inc 
        sta <position4          ;;position4 = (Row - 1) * 10 + Col + 2
        Rts

        end

⌨️ 快捷键说明

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