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

📄 3dtesting.lis

📁 3D LCD for running graphical lCDs
💻 LIS
📖 第 1 页 / 共 5 页
字号:
                        .module _3dtesting.c
                        .area text(rom, con, rel)
 0000                   .dbfile F:\CODE\LCD1286418\3dtesting.c
                        .area lit(rom, con, rel)
 0000           _aa::
 0000 0800              .word 8
 0002 F8FF              .word -8
 0004 F8FF              .word -8
 0006 0800              .word 8
 0008 0800              .word 8
 000A F8FF              .word -8
 000C F8FF              .word -8
 000E 0800              .word 8
 0010 0800              .word 8
 0012 0800              .word 8
 0014 0800              .word 8
 0016 0800              .word 8
 0018 0800              .word 8
 001A 0000              .word 0
 001C 0400              .word 4
 001E FCFF              .word -4
 0020 F8FF              .word -8
 0022 F8FF              .word -8
 0024 F8FF              .word -8
 0026 F8FF              .word -8
 0028 F8FF              .word -8
 002A F8FF              .word -8
 002C F8FF              .word -8
 002E                   .dbsym e aa _aa A[46:23]kI
 002E           _bb::
 002E 0800              .word 8
 0030 0800              .word 8
 0032 F8FF              .word -8
 0034 F8FF              .word -8
 0036 0800              .word 8
 0038 0800              .word 8
 003A F8FF              .word -8
 003C F8FF              .word -8
 003E 0000              .word 0
 0040 FCFF              .word -4
 0042 0400              .word 4
 0044 FEFF              .word -2
 0046 0200              .word 2
 0048 0800              .word 8
 004A 0800              .word 8
 004C 0800              .word 8
 004E 0400              .word 4
 0050 0400              .word 4
 0052 0400              .word 4
 0054 FCFF              .word -4
 0056 FCFF              .word -4
 0058 FCFF              .word -4
 005A 0000              .word 0
 005C                   .dbsym e bb _bb A[46:23]kI
 005C           _cc::
 005C F8FF              .word -8
 005E F8FF              .word -8
 0060 F8FF              .word -8
 0062 F8FF              .word -8
 0064 0800              .word 8
 0066 0800              .word 8
 0068 0800              .word 8
 006A 0800              .word 8
 006C 0600              .word 6
 006E FAFF              .word -6
 0070 FAFF              .word -6
 0072 0000              .word 0
 0074 0000              .word 0
 0076 FAFF              .word -6
 0078 0600              .word 6
 007A 0600              .word 6
 007C FAFF              .word -6
 007E 0000              .word 0
 0080 0600              .word 6
 0082 0600              .word 6
 0084 0000              .word 0
 0086 FAFF              .word -6
 0088 0000              .word 0
 008A                   .dbsym e cc _cc A[46:23]kI
 008A           _ff::
 008A 0100              .word 1
 008C 0200              .word 2
 008E 0300              .word 3
 0090 0400              .word 4
 0092 0500              .word 5
 0094 0600              .word 6
 0096 0700              .word 7
 0098 0800              .word 8
 009A 0100              .word 1
 009C 0200              .word 2
 009E 0300              .word 3
 00A0 0400              .word 4
 00A2 0900              .word 9
 00A4 0900              .word 9
 00A6 0C00              .word 12
 00A8 0E00              .word 14
 00AA 0E00              .word 14
 00AC 1100              .word 17
 00AE 1300              .word 19
 00B0 1400              .word 20
 00B2 1500              .word 21
 00B4 1600              .word 22
 00B6                   .dbsym e ff _ff A[44:22]kI
 00B6           _gg::
 00B6 0200              .word 2
 00B8 0300              .word 3
 00BA 0400              .word 4
 00BC 0100              .word 1
 00BE 0600              .word 6
 00C0 0700              .word 7
 00C2 0800              .word 8
 00C4 0500              .word 5
 00C6 0500              .word 5
 00C8 0600              .word 6
 00CA 0700              .word 7
 00CC 0800              .word 8
 00CE 0A00              .word 10
 00D0 0B00              .word 11
 00D2 0D00              .word 13
 00D4 0F00              .word 15
 00D6 1000              .word 16
 00D8 1300              .word 19
 00DA 1400              .word 20
 00DC 1500              .word 21
 00DE 1200              .word 18
 00E0 1700              .word 23
 00E2                   .dbsym e gg _gg A[44:22]kI
                        .area data(ram, con, rel)
 0000                   .dbfile F:\CODE\LCD1286418\3dtesting.c
 0000           _rotx::
 0000                   .blkb 4
                        .area idata
 0000 00000000          .word 0x0,0x0
                        .area data(ram, con, rel)
 0004                   .dbfile F:\CODE\LCD1286418\3dtesting.c
 0004                   .dbsym e rotx _rotx D
 0004           _roty::
 0004                   .blkb 4
                        .area idata
 0004 00000000          .word 0x0,0x0
                        .area data(ram, con, rel)
 0008                   .dbfile F:\CODE\LCD1286418\3dtesting.c
 0008                   .dbsym e roty _roty D
 0008           _rotz::
 0008                   .blkb 4
                        .area idata
 0008 00000000          .word 0x0,0x0
                        .area data(ram, con, rel)
 000C                   .dbfile F:\CODE\LCD1286418\3dtesting.c
 000C                   .dbsym e rotz _rotz D
                        .area text(rom, con, rel)
 0000                   .dbfile F:\CODE\LCD1286418\3dtesting.c
 0000                   .dbfunc e cube _cube fV
 0000           ;           loop -> <dead>
 0000           ;          cosaz -> y+142
 0000           ;          sinaz -> y+138
 0000           ;          cosay -> y+134
 0000           ;          sinay -> y+130
 0000           ;          cosax -> y+126
 0000           ;          sinax -> y+122
 0000           ;             zt -> y+118
 0000           ;             yt -> y+114
 0000           ;             xt -> y+110
 0000           ;           newy -> y+64
 0000           ;           newx -> y+18
 0000           ;              y -> y+14
 0000           ;              x -> y+10
 0000           ;              z -> y+6
 0000           ;         vertex -> R22,R23
 0000           ;              i -> y+146
 0000           ;           zpos -> y+166
 0000           ;           ypos -> y+162
 0000           ;           xpos -> y+158
                        .even
 0000           _cube::
 0000 0E940000          xcall push_arg4
 0004 0E940000          xcall push_xgsetF0FC
 0008 EF97              sbiw R28,63
 000A EF97              sbiw R28,63
 000C 6697              sbiw R28,22  ; offset = 148
 000E                   .dbline -1
 000E                   .dbline 31
 000E           ; #include <iom128v.h>
 000E           ; #include "avr.h"
 000E           ; #include "math.h"
 000E           ; 
 000E           ; #define OFFSETX  63                   
 000E           ; #define OFFSETY  31              
 000E           ; #define OFFSETZ  31
 000E           ; 
 000E           ; /////////////////////////////////立方体加文字//////////////////////////////////////////////////
 000E           ; const signed int aa[23]={8,-8,-8,8,8,-8,-8,8,8,8,8,8,8,0,4,-4,-8,-8,-8,-8,-8,-8,-8};  // x data for shape vertex
 000E           ; const signed int bb[23]={8,8,-8,-8,8,8,-8,-8,0,-4,4,-2,2,8,8,8,4,4,4,-4,-4,-4,0};       // y data for shape vertex
 000E           ; const signed int cc[23]={-8,-8,-8,-8,8,8,8,8,6,-6,-6,0,0,-6,6,6,-6,0,6,6,0,-6,0};       // z data for shape vertex
 000E           ; 
 000E           ; const int ff[22]={1,2,3,4,5,6,7,8,1,2,3,4,9,9,12,14,14,17,19,20,21,22};                 // start vertex for lines
 000E           ; const int gg[22]={2,3,4,1,6,7,8,5,5,6,7,8,10,11,13,15,16,19,20,21,18,23};                 // end vertex for lines
 000E           ; //////////////////////////////////////////////////////////////////////////////////////////////
 000E           ; 
 000E           ; extern unsigned char displaybuffer[8][128];
 000E           ; int sx,sy,ex,ey;                                  // define global vars for calling graphics subroutines
 000E           ; float rotx=0.0;                                                                          // starting amount of x rotation
 000E           ; float roty=0.0;                                                                          // starting amount of y rotation
 000E           ; float rotz=0.0;                                                                          // starting amount of z rotation
 000E           ; 
 000E           ; void cube (float xpos,float ypos,float zpos);     // define the subroutines this one is the actual cube routine
 000E           ; 
 000E           ; /***************************************
 000E           ; *  FUNCTION NAME: cube
 000E           ; *  DESCRIPTION: 3d-cube显示
 000E           ; /***************************************/
 000E           ; void cube(float xpos,float ypos,float zpos)                                                                             // routine to draw and calc 3d cube
 000E           ; {
 000E                   .dbline 44
 000E           ;     int newx[23];                                                                       // translated screen x co-ordinates for vertex
 000E           ;       int newy[23];                                                                     // translated screen y co-ordinates for vertex
 000E           ;       int i,loop;                                                                           // temp variable for loops
 000E           ;       int vertex;
 000E           ;       float xt,yt,zt,x,y,z,sinax,cosax,sinay,cosay,sinaz,cosaz;     // lots of work variables
 000E           ;       //float xpos=0.0;                                                                                             // position for object in 3d space, in x
 000E           ;       //float ypos=0.0;                                                                                             // y
 000E           ;       //float zpos=0.0;                                                                                             // and z values
 000E           ;       //float rotx=0.0;                                                                         // starting amount of x rotation
 000E           ;       //float roty=0.0;                                                                         // starting amount of y rotation
 000E           ;       //float rotz=0.0;                                                                             // starting amount of z rotation
 000E           ; 
 000E           ;       xpos=xpos+0.0;                                                                             // move the object
 000E DE01              movw R26,R28
 0010 A256              subi R26,98  ; addi 158
 0012 BF4F              sbci R27,255
 0014 2D90              ld R2,x+
 0016 3D90              ld R3,x+
 0018 4D90              ld R4,x+
 001A 5C90              ld R5,x
 001C 00E0              ldi R16,<L2
 001E 10E0              ldi R17,>L2
 0020 0E940000          xcall elpm32
 0024 3A93              st -y,R19
 0026 2A93              st -y,R18
 0028 1A93              st -y,R17
 002A 0A93              st -y,R16
 002C 8101              movw R16,R2
 002E 9201              movw R18,R4
 0030 0E940000          xcall fpadd2
 0034 DE01              movw R26,R28
 0036 A256              subi R26,98  ; addi 158
 0038 BF4F              sbci R27,255
 003A 0D93              st x+,R16
 003C 1D93              st x+,R17
 003E 2D93              st x+,R18
 0040 3C93              st x,R19
 0042                   .dbline 45
 0042           ;     ypos=ypos+0.0;                                                                               // it would wander off screen
 0042 DE01              movw R26,R28
 0044 AE55              subi R26,94  ; addi 162
 0046 BF4F              sbci R27,255
 0048 2D90              ld R2,x+
 004A 3D90              ld R3,x+
 004C 4D90              ld R4,x+
 004E 5C90              ld R5,x
 0050 00E0              ldi R16,<L2
 0052 10E0              ldi R17,>L2
 0054 0E940000          xcall elpm32
 0058 3A93              st -y,R19
 005A 2A93              st -y,R18
 005C 1A93              st -y,R17
 005E 0A93              st -y,R16
 0060 8101              movw R16,R2
 0062 9201              movw R18,R4
 0064 0E940000          xcall fpadd2
 0068 DE01              movw R26,R28
 006A AE55              subi R26,94  ; addi 162
 006C BF4F              sbci R27,255
 006E 0D93              st x+,R16
 0070 1D93              st x+,R17
 0072 2D93              st x+,R18
 0074 3C93              st x,R19
 0076                   .dbline 46
 0076           ;       zpos=zpos+0.0;                                                                             // really quick, so leave it centered
 0076 DE01              movw R26,R28
 0078 AA55              subi R26,90  ; addi 166
 007A BF4F              sbci R27,255
 007C 2D90              ld R2,x+
 007E 3D90              ld R3,x+
 0080 4D90              ld R4,x+
 0082 5C90              ld R5,x
 0084 00E0              ldi R16,<L2
 0086 10E0              ldi R17,>L2
 0088 0E940000          xcall elpm32
 008C 3A93              st -y,R19
 008E 2A93              st -y,R18
 0090 1A93              st -y,R17
 0092 0A93              st -y,R16
 0094 8101              movw R16,R2
 0096 9201              movw R18,R4
 0098 0E940000          xcall fpadd2
 009C FE01              movw R30,R28
 009E EA55              subi R30,90  ; addi 166
 00A0 FF4F              sbci R31,255
 00A2 0083              std z+0,R16
 00A4 1183              std z+1,R17
 00A6 2283              std z+2,R18
 00A8 3383              std z+3,R19
 00AA                   .dbline 48
 00AA           ; 
 00AA           ;       rotx=rotx+0.02;                                                            // rotate the cube on X axis
 00AA 40900200          lds R4,_rotx+2
 00AE 50900300          lds R5,_rotx+2+1
 00B2 20900000          lds R2,_rotx
 00B6 30900100          lds R3,_rotx+1
 00BA 00E0              ldi R16,<L3
 00BC 10E0              ldi R17,>L3
 00BE 0E940000          xcall elpm32
 00C2 3A93              st -y,R19
 00C4 2A93              st -y,R18
 00C6 1A93              st -y,R17
 00C8 0A93              st -y,R16
 00CA 8101              movw R16,R2
 00CC 9201              movw R18,R4
 00CE 0E940000          xcall fpadd2
 00D2 10930100          sts _rotx+1,R17

⌨️ 快捷键说明

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