📄 main.lis
字号:
02D6 E5E5 .byte 229,229
02D8 E5E5 .byte 229,229
02DA E6E6 .byte 230,230
02DC E6E6 .byte 230,230
02DE E6E6 .byte 230,230
02E0 E7E7 .byte 231,231
02E2 E7E7 .byte 231,231
02E4 E7E7 .byte 231,231
02E6 E8E8 .byte 232,232
02E8 E8E8 .byte 232,232
02EA E8E8 .byte 232,232
02EC E8E9 .byte 232,233
02EE E9E9 .byte 233,233
02F0 E9E9 .byte 233,233
02F2 E9EA .byte 233,234
02F4 EAEA .byte 234,234
02F6 EAEA .byte 234,234
02F8 EAEB .byte 234,235
02FA EBEB .byte 235,235
02FC EBEB .byte 235,235
02FE EBEB .byte 235,235
0300 ECEC .byte 236,236
0302 ECEC .byte 236,236
0304 ECEC .byte 236,236
0306 ECED .byte 236,237
0308 EDED .byte 237,237
030A EDED .byte 237,237
030C EDED .byte 237,237
030E EEEE .byte 238,238
0310 EEEE .byte 238,238
0312 EEEE .byte 238,238
0314 EEEF .byte 238,239
0316 EFEF .byte 239,239
0318 EFEF .byte 239,239
031A EFEF .byte 239,239
031C F0F0 .byte 240,240
031E F0F0 .byte 240,240
0320 F0F0 .byte 240,240
0322 F0F0 .byte 240,240
0324 F1F1 .byte 241,241
0326 F1F1 .byte 241,241
0328 F1F1 .byte 241,241
032A F1F2 .byte 241,242
032C F2F2 .byte 242,242
032E F2F2 .byte 242,242
0330 F2F2 .byte 242,242
0332 F2F2 .byte 242,242
0334 F3F3 .byte 243,243
0336 F3F3 .byte 243,243
0338 F3F3 .byte 243,243
033A F3F3 .byte 243,243
033C F4F4 .byte 244,244
033E F4F4 .byte 244,244
0340 F4F4 .byte 244,244
0342 F4F4 .byte 244,244
0344 F4F5 .byte 244,245
0346 F5F5 .byte 245,245
0348 F5F5 .byte 245,245
034A F5F5 .byte 245,245
034C F5F5 .byte 245,245
034E F6F6 .byte 246,246
0350 F6F6 .byte 246,246
0352 F6F6 .byte 246,246
0354 F6F6 .byte 246,246
0356 F6F6 .byte 246,246
0358 F7F7 .byte 247,247
035A F7F7 .byte 247,247
035C F7F7 .byte 247,247
035E F7F7 .byte 247,247
0360 F7F7 .byte 247,247
0362 F8F8 .byte 248,248
0364 F8F8 .byte 248,248
0366 F8F8 .byte 248,248
0368 F8F8 .byte 248,248
036A F8F8 .byte 248,248
036C F8F9 .byte 248,249
036E F9F9 .byte 249,249
0370 F9F9 .byte 249,249
0372 F9F9 .byte 249,249
0374 F9F9 .byte 249,249
0376 F9F9 .byte 249,249
0378 F9FA .byte 249,250
037A FAFA .byte 250,250
037C FAFA .byte 250,250
037E FAFA .byte 250,250
0380 FAFA .byte 250,250
0382 FAFA .byte 250,250
0384 FAFA .byte 250,250
0386 FBFB .byte 251,251
0388 FBFB .byte 251,251
038A FBFB .byte 251,251
038C FBFB .byte 251,251
038E FBFB .byte 251,251
0390 FBFB .byte 251,251
0392 FBFB .byte 251,251
0394 FCFC .byte 252,252
0396 FCFC .byte 252,252
0398 FCFC .byte 252,252
039A FCFC .byte 252,252
039C FCFC .byte 252,252
039E FCFC .byte 252,252
03A0 FCFC .byte 252,252
03A2 FCFC .byte 252,252
03A4 FCFD .byte 252,253
03A6 FDFD .byte 253,253
03A8 FDFD .byte 253,253
03AA FDFD .byte 253,253
03AC FDFD .byte 253,253
03AE FDFD .byte 253,253
03B0 FDFD .byte 253,253
03B2 FDFD .byte 253,253
03B4 FDFD .byte 253,253
03B6 FDFD .byte 253,253
03B8 FDFD .byte 253,253
03BA FEFE .byte 254,254
03BC FEFE .byte 254,254
03BE FEFE .byte 254,254
03C0 FEFE .byte 254,254
03C2 FEFE .byte 254,254
03C4 FEFE .byte 254,254
03C6 FEFE .byte 254,254
03C8 FEFE .byte 254,254
03CA FEFE .byte 254,254
03CC FEFE .byte 254,254
03CE FEFE .byte 254,254
03D0 FEFE .byte 254,254
03D2 FEFE .byte 254,254
03D4 FEFE .byte 254,254
03D6 FEFE .byte 254,254
03D8 FFFF .byte 255,255
03DA FFFF .byte 255,255
03DC FFFF .byte 255,255
03DE FFFF .byte 255,255
03E0 FFFF .byte 255,255
03E2 FFFF .byte 255,255
03E4 FFFF .byte 255,255
03E6 FFFF .byte 255,255
03E8 FFFF .byte 255,255
03EA FFFF .byte 255,255
03EC FFFF .byte 255,255
03EE FFFF .byte 255,255
03F0 FFFF .byte 255,255
03F2 FFFF .byte 255,255
03F4 FFFF .byte 255,255
03F6 FFFF .byte 255,255
03F8 FFFF .byte 255,255
03FA FFFF .byte 255,255
03FC FFFF .byte 255,255
03FE FFFF .byte 255,255
0400 .dbfile ./table.h
0400 .dbsym e sin_table _sin_table A[1024:1024]c
0400 _gain_table::
0400 0000 .word 0
0402 0010 .word 16
0404 0020 .word 32
0406 0030 .word 48
0408 0040 .word 64
040A 0050 .word 80
040C 0060 .word 96
040E 0070 .word 112
0410 0080 .word 128
0412 0090 .word 144
0414 00A0 .word 160
0416 00B0 .word 176
0418 00C0 .word 192
041A 00D0 .word 208
041C 00E0 .word 224
041E 00F8 .word 248
0420 00E8 .word 232
0422 00D8 .word 216
0424 00C8 .word 200
0426 00B8 .word 184
0428 00A8 .word 168
042A 0098 .word 152
042C .dbsym e gain_table _gain_table A[44:22]I
.area data(ram, con, rel)
0000 .dbfile ./table.h
0000 _accum:
0000 .blkb 4
.area idata
0000 00000000 .word 0,0
.area data(ram, con, rel)
0004 .dbfile ./table.h
0004 .dbfile ./main.c
0004 .dbsym s accum _accum l
0004 _dphase:
0004 .blkb 4
.area idata
0004 00418958 .word 65,35160
.area data(ram, con, rel)
0008 .dbfile ./main.c
0008 .dbsym s dphase _dphase l
0008 _adr:
0008 .blkb 2
.area idata
0008 0000 .word 0
.area data(ram, con, rel)
000A .dbfile ./main.c
000A .dbsym s adr _adr i
.area text(rom, con, rel)
0000 .dbfile ./main.c
0000 .dbfunc e main _main fV
0000 _main::
0000 .dbline -1
0000 10 push X
0001 4F mov X,SP
0002 3806 add SP,6
0004 .dbline 32
0004 ; #include "ddsapi.h"
0004 ; #include "table.h"
0004 ; #include "exchange.h"
0004 ; #include <stdlib.h>
0004 ;
0004 ;
0004 ; #define SB(var, num) *(((BYTE*)&var)+num)
0004 ; #define SIGN_BIT 0x08
0004 ; #define QUATER_BIT 0x04
0004 ; #define TABLE_MASK 0x03FF
0004 ;
0004 ; #define FREQ_MULT 4295
0004 ; #define INIT_FREQ 1000
0004 ; #define MAX_FREQ 30000
0004 ;
0004 ; extern volatile BOOL ready;
0004 ; extern char rx_buffer[];
0004 ;
0004 ; static DWORD accum = 0, dphase = INIT_FREQ*FREQ_MULT;
0004 ; static WORD adr = 0;
0004 ; static BYTE msb, lsb;
0004 ;
0004 ; #pragma ioport DAC_MSB_CR0: 0x080
0004 ; BYTE DAC_MSB_CR0;
0004 ;
0004 ; #pragma ioport DAC_LSB_CR0: 0x090
0004 ; BYTE DAC_LSB_CR0;
0004 ; //you must change these values accordingly to your DAC9 placement,
0004 ; //alternatively you can use the fixed version of the DAC_WriteStall2B()
0004 ;
0004 ; void main()
0004 ; {
0004 .dbline 33
0004 ; DAC_Start(DAC_FULLPOWER);
0004 10 push X
0005 5003 mov A,3
0007 7C0000 xcall _DAC_Start
000A .dbline 34
000A ; PGA_FIL1_Start(PGA_FIL1_HIGHPOWER);
000A 5003 mov A,3
000C 7C0000 xcall _PGA_FIL1_Start
000F .dbline 35
000F ; PGA_FIL2_Start(PGA_FIL2_HIGHPOWER);
000F 5003 mov A,3
0011 7C0000 xcall _PGA_FIL2_Start
0014 .dbline 36
0014 ; PGA_OUT_Start(PGA_OUT_HIGHPOWER);
0014 5003 mov A,3
0016 7C0000 xcall _PGA_OUT_Start
0019 .dbline 37
0019 ; SPIS_Start(SPIS_LSB_FIRST);
0019 5080 mov A,-128
001B 7C0000 xcall _SPIS_Start
001E 20 pop X
001F .dbline 39
001F ;
001F ; PGA_FIL2_GAIN_CR1 |= 0x40;
001F 437A40 or REG[122],64
0022 .dbline 40
0022 ; PGA_FIL2_GAIN_CR2 &= ~0x40;
0022 417BBF and REG[123],-65
0025 .dbline 44
0025 ; //enable comparator bus and disable the output latch
0025 ; // but comparator bus is column clock synchronized still
0025 ;
0025 ; OpenExchange();
0025 7C0000 xcall _OpenExchange
0028 .dbline 45
0028 ; M8C_EnableGInt;
0028 7101 or F, 01h
002A
002A .dbline 47
002A ;
002A ; ExchangeSend("The DDS generator is ready.\n\r");
002A 5063 mov A,>L2
002C 08 push A
002D 5063 mov A,<L2
002F 08 push A
0030 7C0000 xcall _ExchangeSend
0033 38FE add SP,-2
0035 8232 xjmp L4
0037 L3:
0037 .dbline 50
0037 ;
0037 ; while(1)
0037 ; {
0037 .dbline 51
0037 ; msb = strlen(rx_buffer)-2;
0037 5000 mov A,>_rx_buffer
0039 08 push A
003A 5000 mov A,<_rx_buffer
003C 08 push A
003D 7C0000 xcall _strlen
0040 38FE add SP,-2
0042 160002 sub [__r1],2
0045 1E0000 sbb [__r0],0
0048 5F0100 mov [_msb],[__r1]
004B .dbline 52
004B ; switch (rx_buffer[msb])
004B 5F0001 mov [__r1],[_msb]
004E 550000 mov [__r0],0
0051 060000 add [__r1],<_rx_buffer
0054 0E0000 adc [__r0],>_rx_buffer
0057 3E00 mvi A,[__r1]
0059 5401 mov [X+1],A
005B 560000 mov [X+0],0
005E 3D0000 cmp [X+0],0
0061 B006 jnz X2
0063 3D0146 cmp [X+1],70
0066 A03E jz L9
0068 X2:
0068 3D0000 cmp [X+0],0
006B B006 jnz X3
006D 3D0147 cmp [X+1],71
0070 A12D jz L14
0072 X3:
0072 5200 mov A,[X+0]
0074 3180 xor A,-128
0076 5300 mov [__rY],A
0078 5000 mov A,0
007A 3180 xor A,-128
007C 5300 mov [__rZ],A
007E 550000 mov [__rX],0
0081 5201 mov A,[X+1]
0083 1146 sub A,70
0085 2C00 or [__rX],A
0087 5100 mov A,[__rY]
0089 1A00 sbb A,[__rZ]
008B 2C00 or [__rX],A
008D C15E jc L7
008F X4:
008F L18:
008F 3D0000 cmp [X+0],0
0092 B006 jnz X5
0094 3D0166 cmp [X+1],102
0097 A00D jz L9
0099 X5:
0099 3D0000 cmp [X+0],0
009C B006 jnz X6
009E 3D0167 cmp [X+1],103
00A1 A0FC jz L14
00A3 X6:
00A3 8148 xjmp L7
00A5 X0:
00A5 .dbline 53
00A5 ; {
00A5 L9:
00A5 .dbline 56
00A5 ; case 'f':
00A5 ; case 'F':
00A5 ; rx_buffer[msb] = 0;
00A5 5F0001 mov [__r1],[_msb]
00A8 550000 mov [__r0],0
00AB 060000 add [__r1],<_rx_buffer
00AE 0E0000 adc [__r0],>_rx_buffer
00B1 5000 mov A,0
00B3 3F00 mvi [__r1],A
00B5 .dbline 57
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -