📄 morse.asm
字号:
public init_timer_bp
.stabs "init_timer:F15",36,0,0,_init_timer
.section ".S17",C_CODE
.SYMDEF ".S17"
_init_timer:
.SYMDEF "_init_timer"
mov a,ecx
mov init_timer_bp-4,a
mov a,ecx+1
mov init_timer_bp-3,a
mov a,ecx+2
mov init_timer_bp-2,a
mov a,ecx+3
mov init_timer_bp-1,a
.stabn 192,0,0,L355
L355:
.stabn 68,0,594,L356
L356:
.stabn 68,0,597,L357
L357:
LDA _RA,0,0
STA _regdata,0,3
.stabn 68,0,598,L358
L358:
mov a,@64
mov cl,a
ORMRB _regdata,cl,3
.stabn 68,0,599,L359
L359:
LDA _regdata,0,3
STA _RA,0,0
.stabn 68,0,600,L360
L360:
LDA _IOCE_PAGE1,0,2
STA _regdata,0,3
.stabn 68,0,601,L361
L361:
mov a,@16
mov cl,a
ORMRB _regdata,cl,3
.stabn 68,0,602,L362
L362:
LDA _regdata,0,3
mov cl,a
STA _IOCE_PAGE1,0,2
.stabn 192,0,1,L363
L363:
.stabn 68,0,603,L364
L364:
.stabn 68,0,603,L365
L365:
mov a,@128
STA _IOCB_COUNTER1,0,2
.stabn 68,0,603,L366
L366:
.stabn 224,0,1,L367
L367:
.stabn 68,0,603,L368
L368:
.stabn 192,0,1,L369
L369:
.stabn 68,0,604,L370
L370:
.stabn 68,0,604,L371
L371:
mov a,@92
STA _IOCC_COUNTER2,0,2
.stabn 68,0,604,L372
L372:
.stabn 224,0,1,L373
L373:
.stabn 68,0,604,L374
L374:
.stabn 68,0,605,L375
L375:
.stabn 224,0,0,L376
L376:
L$354:
mov a,init_timer_bp-4
mov ecx,a
mov a,init_timer_bp-3
mov ecx+1,a
mov a,init_timer_bp-2
mov ecx+2,a
mov a,init_timer_bp-1
mov ecx+3,a
ret
.STACK init_timer_bp,local,4
.section ".data"
public _bank_num
.align 1
_bank_num:
.SYMDEF "_bank_num" LEN:1
db 0
.stabs "bank_num:G2",32,0,0,_bank_num
public _offset
.align 1
_offset:
.SYMDEF "_offset" LEN:1
db 0
.stabs "offset:G2",32,0,0,_offset
public _nbuf
.align 1
_nbuf:
.SYMDEF "_nbuf" LEN:1
db 0
.stabs "nbuf:G2",32,0,0,_nbuf
public _bank_add
.align 1
_bank_add:
.SYMDEF "_bank_add" LEN:1
db 0
.stabs "bank_add:G2",32,0,0,_bank_add
public _len_remnant
.align 1
_len_remnant:
.SYMDEF "_len_remnant" LEN:2
dw 0
.stabs "len_remnant:G8",32,0,0,_len_remnant
public _array_set
public array_set_bp
.section ".code"
.stabs "array_set:F15",36,0,0,_array_set
.section ".S18",C_CODE
.SYMDEF ".S18"
_array_set:
.SYMDEF "_array_set"
mov a,ecx
mov array_set_bp-4,a
mov a,ecx+1
mov array_set_bp-3,a
mov a,ecx+2
mov array_set_bp-2,a
mov a,ecx+3
mov array_set_bp-1,a
.stabs "pos:p8",160,0,0,array_set_bp+0
.stabs "inbuf:p21",160,0,0,array_set_bp+2
.stabs "len:p8",160,0,0,array_set_bp+3
.stabs "i:8",128,0,0,array_set_bp-6
.stabn 192,0,0,L392
L392:
.stabn 68,0,614,L393
L393:
.stabn 68,0,624,L394
L394:
LDA array_set_bp+0,0,0
mov cx,a
LDA array_set_bp+0,1,0
mov cx+1,a
bc pr0,0
jbs cx+1,7
jmp @J11
bs pr0,0
dec cx
jza cx
jmp @J12
dec cx+1
J12:
com cx
com cx+1
J11:
mov a,@8
mov ccounter,a
J13:
bc sr,cflag
rrc cx+1
rrc cx
djz ccounter
jmp @J13
jbs pr0,0
jmp @J14
com cx
com cx+1
inc cx
jbc sr,zflag
inc cx+1
J14:
mov a,cl
STA _bank_num,0,3
.stabn 68,0,625,L395
L395:
LDA _bank_num,0,3
STA _bank_add,0,3
.stabn 68,0,626,L396
L396:
LSHMIB _bank_num,1,3
.stabn 68,0,627,L397
L397:
LDA array_set_bp+0,0,0
mov cx,a
LDA array_set_bp+0,1,0
mov cx+1,a
mov a,@cx
mov pr0,a
mov a,@.b0.256
mov pr1,a
mov a,@.b1.256
mov pr1+1,a
call idivriw
mov a,pr0
mov cx,a
mov a,pr0+1
mov cx+1,a
mov a,cl
STA _offset,0,3
.stabn 68,0,631,L398
L398:
.cfile "E:\Data\morse\morse.c(631):"
mov a,0x0
.stabn 68,0,632,L399
L399:
.cfile "E:\Data\morse\morse.c(632):"
mov _nbuf, a
.stabn 68,0,633,L400
L400:
.cfile "E:\Data\morse\morse.c(633):"
mov a, 0x04
.stabn 68,0,634,L401
L401:
.cfile "E:\Data\morse\morse.c(634):"
mov _nbuf+1, a
.stabn 68,0,635,L402
L402:
.cfile "E:\Data\morse\morse.c(635):"
bs 0x03, 7
.stabn 68,0,636,L403
L403:
.cfile "E:\Data\morse\morse.c(636):"
bs 0x03, 6
.stabn 68,0,638,L404
L404:
.cfile "E:\Data\morse\morse.c(638):"
IOR 0x0A
.stabn 68,0,639,L405
L405:
.cfile "E:\Data\morse\morse.c(639):"
mov _nbuf+2,a
.stabn 68,0,652,L406
L406:
LDA _IOCA,0,2
STA _regdata,0,3
.stabn 68,0,653,L407
L407:
mov a,@-31
mov cl,a
ANDMRB _regdata,cl,3
.stabn 68,0,654,L408
L408:
LDA array_set_bp+3,0,0
mov cx,a
LDA array_set_bp+3,1,0
mov cx+1,a
mov a,cx
STA array_set_bp-8,0,0
mov a,cx+1
STA array_set_bp-8,1,0
mov a,@.b0.256
mov ax,a
mov a,@.b1.256
mov ax+1,a
LDA _offset,0,3
mov cx,a
clra
jbc cl,7
mov a,@0xff
mov cx+1,a
mov a,cx
sub ax,a
mov a,cx+1
jbs sr,cflag
dec ax+1
sub ax+1,a
LDA array_set_bp-8,0,0
mov cx,a
LDA array_set_bp-8,1,0
mov cx+1,a
ICMPRRW cx,ax
jbc sr,cflag
jmp @L$378
.stabn 192,0,1,L409
L409:
.stabn 68,0,655,L410
L410:
.stabn 68,0,657,L411
L411:
LDA _bank_num,0,3
mov cl,a
ORMRB _regdata,cl,3
.stabn 68,0,658,L412
L412:
LDA _regdata,0,3
mov cl,a
STA _IOCA,0,2
.stabn 68,0,659,L413
L413:
mov a,@.b0.0
STA array_set_bp-6,0,0
mov a,@.b1.0
STA array_set_bp-6,1,0
jmp @L$383
L$380:
.stabn 192,0,2,L414
L414:
.stabn 68,0,660,L415
L415:
.stabn 68,0,661,L416
L416:
LDA _offset,0,3
mov cx,a
clra
jbc cl,7
mov a,@0xff
mov cx+1,a
LDA array_set_bp-6,0,0
add cx,a
LDA array_set_bp-6,1,0
jbc sr,cflag
add a,@1
add cx+1,a
mov a,cl
STA _RC,0,0
.stabn 68,0,662,L417
L417:
LDA array_set_bp-6,0,0
mov cx,a
LDA array_set_bp-6,1,0
mov cx+1,a
LDA array_set_bp+2,0,0
add cl,a
mov a,cl
mov r4,a
mov a,r0
mov cl,a
STA _RD,0,0
.stabn 68,0,663,L418
L418:
.stabn 224,0,2,L419
L419:
L$381:
.stabn 68,0,659,L420
L420:
INCMW array_set_bp-6,0
L$383:
.stabn 68,0,659,L421
L421:
LDA array_set_bp-6,0,0
mov cx,a
LDA array_set_bp-6,1,0
mov cx+1,a
LDA array_set_bp+3,0,0
mov ax,a
LDA array_set_bp+3,1,0
mov ax+1,a
ICMPRRW cx,ax
jbs sr,cflag
jmp @L$380
.stabn 68,0,664,L422
L422:
.stabn 224,0,1,L423
L423:
jmp @L$379
L$378:
.stabn 192,0,1,L424
L424:
.stabn 68,0,666,L425
L425:
.stabn 68,0,668,L426
L426:
LDA _bank_num,0,3
mov cl,a
ORMRB _regdata,cl,3
.stabn 68,0,669,L427
L427:
LDA _regdata,0,3
mov cl,a
STA _IOCA,0,2
.stabn 68,0,670,L428
L428:
mov a,@.b0.0
STA array_set_bp-6,0,0
mov a,@.b1.0
STA array_set_bp-6,1,0
jmp @L$387
L$384:
.stabn 192,0,2,L429
L429:
.stabn 68,0,671,L430
L430:
.stabn 68,0,672,L431
L431:
LDA _offset,0,3
mov cx,a
clra
jbc cl,7
mov a,@0xff
mov cx+1,a
LDA array_set_bp-6,0,0
add cx,a
LDA array_set_bp-6,1,0
jbc sr,cflag
add a,@1
add cx+1,a
mov a,cl
STA _RC,0,0
.stabn 68,0,673,L432
L432:
LDA array_set_bp-6,0,0
mov cx,a
LDA array_set_bp-6,1,0
mov cx+1,a
LDA array_set_bp+2,0,0
add cl,a
mov a,cl
mov r4,a
mov a,r0
mov cl,a
STA _RD,0,0
.stabn 68,0,674,L433
L433:
.stabn 224,0,2,L434
L434:
L$385:
.stabn 68,0,670,L435
L435:
INCMW array_set_bp-6,0
L$387:
.stabn 68,0,670,L436
L436:
LDA array_set_bp-6,0,0
mov cx,a
LDA array_set_bp-6,1,0
mov cx+1,a
mov a,cx
STA array_set_bp-10,0,0
mov a,cx+1
STA array_set_bp-10,1,0
mov a,@.b0.256
mov ax,a
mov a,@.b1.256
mov ax+1,a
LDA _offset,0,3
mov cx,a
clra
jbc cl,7
mov a,@0xff
mov cx+1,a
mov a,cx
sub ax,a
mov a,cx+1
jbs sr,cflag
dec ax+1
sub ax+1,a
LDA array_set_bp-10,0,0
mov cx,a
LDA array_set_bp-10,1,0
mov cx+1,a
ICMPRRW cx,ax
jbs sr,cflag
jmp @L$384
.stabn 68,0,675,L437
L437:
LDA array_set_bp+3,0,0
mov cx,a
LDA array_set_bp+3,1,0
mov cx+1,a
mov a,cx
STA array_set_bp-12,0,0
mov a,cx+1
STA array_set_bp-12,1,0
mov a,@.b0.256
mov ax,a
mov a,@.b1.256
mov ax+1,a
LDA _offset,0,3
mov cx,a
clra
jbc cl,7
mov a,@0xff
mov cx+1,a
mov a,cx
sub ax,a
mov a,cx+1
jbs sr,cflag
dec ax+1
sub ax+1,a
LDA array_set_bp-12,0,0
mov cx,a
LDA array_set_bp-12,1,0
mov cx+1,a
mov a,ax
sub cx,a
mov a,ax+1
jbs sr,cflag
dec cx+1
sub cx+1,a
mov a,cx
STA _len_remnant,0,3
mov a,cx+1
STA _len_remnant,1,3
.stabn 68,0,677,L438
L438:
INCMB _bank_add,3
.stabn 68,0,678,L439
L439:
LSHMIB _bank_add,1,3
.stabn 68,0,679,L440
L440:
mov a,@-31
mov cl,a
ANDMRB _regdata,cl,3
.stabn 68,0,680,L441
L441:
LDA _bank_add,0,3
mov cl,a
ORMRB _regdata,cl,3
.stabn 68,0,681,L442
L442:
LDA _regdata,0,3
mov cl,a
STA _IOCA,0,2
.stabn 68,0,682,L443
L443:
mov a,@.b0.0
STA array_set_bp-6,0,0
mov a,@.b1.0
STA array_set_bp-6,1,0
jmp @L$391
L$388:
.stabn 192,0,2,L444
L444:
.stabn 68,0,683,L445
L445:
.stabn 68,0,684,L446
L446:
LDA _offset,0,3
mov cx,a
clra
jbc cl,7
mov a,@0xff
mov cx+1,a
LDA array_set_bp-6,0,0
add cx,a
LDA array_set_bp-6,1,0
jbc sr,cflag
add a,@1
add cx+1,a
mov a,cl
STA _RC,0,0
.stabn 68,0,685,L447
L447:
LDA array_set_bp+3,0,0
mov cx,a
LDA array_set_bp+3,1,0
mov cx+1,a
LDA _len_remnant,0,3
sub cx,a
LDA _len_remnant,1,3
jbs sr,cflag
dec cx+1
sub cx+1,a
LDA array_set_bp-6,0,0
add cx,a
LDA array_set_bp-6,1,0
jbc sr,cflag
add a,@1
add cx+1,a
LDA array_set_bp+2,0,0
add cl,a
mov a,cl
mov r4,a
mov a,r0
mov cl,a
STA _RD,0,0
.stabn 68,0,686,L448
L448:
.stabn 224,0,2,L449
L449:
L$389:
.stabn 68,0,682,L450
L450:
INCMW array_set_bp-6,0
L$391:
.stabn 68,0,682,L451
L451:
LDA array_set_bp-6,0,0
mov cx,a
LDA array_set_bp-6,1,0
mov cx+1,a
LDA _len_remnant,0,3
mov ax,a
LDA _len_remnant,1,3
mov ax+1,a
ICMPRRW cx,ax
jbs sr,cflag
jmp @L$388
.stabn 68,0,688,L452
L452:
.stabn 224,0,1,L453
L453:
L$379:
.stabn 68,0,693,L454
L454:
.cfile "E:\Data\morse\morse.c(693):"
mov a, _nbuf
.stabn 68,0,694,L455
L455:
.cfile "E:\Data\morse\morse.c(694):"
mov 0x03, a
.stabn 68,0,695,L456
L456:
.cfile "E:\Data\morse\morse.c(695):"
mov a, _nbuf + 1
.stabn 68,0,696,L457
L457:
.cfile "E:\Data\morse\morse.c(696):"
mov 0x04, a
.stabn 68,0,698,L458
L458:
.cfile "E:\Data\morse\morse.c(698):"
mov a,_nbuf+2
.stabn 68,0,699,L459
L459:
.cfile "E:\Data\morse\morse.c(699):"
iow 0x0A
.stabn 68,0,702,L460
L460:
.stabn 224,0,0,L461
L461:
L$377:
mov a,array_set_bp-4
mov ecx,a
mov a,array_set_bp-3
mov ecx+1,a
mov a,array_set_bp-2
mov ecx+2,a
mov a,array_set_bp-1
mov ecx+3,a
ret
.STACK array_set_bp,local,12
public _array_get
public array_get_bp
.stabs "array_get:F15",36,0,0,_array_get
.section ".S19",C_CODE
.SYMDEF ".S19"
_array_get:
.SYMDEF "_array_get"
mov a,ecx
mov array_get_bp-4,a
mov a,ecx+1
mov array_get_bp-3,a
mov a,ecx+2
mov array_get_bp-2,a
mov a,ecx+3
mov array_get_bp-1,a
.stabs "pos:p8",160,0,0,array_get_bp+0
.stabs "outbuf:p21",160,0,0,array_get_bp+2
.stabs "len:p8",160,0,0,array_get_bp+3
.stabs "i:8",128,0,0,array_get_bp-6
.stabn 192,0,0,L477
L477:
.stabn 68,0,706,L478
L478:
.stabn 68,0,716,L479
L479:
LDA array_get_bp+0,0,0
mov cx,a
LDA array_get_bp+0,1,0
mov cx+1,a
bc pr0,0
jbs cx+1,7
jmp @J15
bs pr0,0
dec cx
jza cx
jmp @J16
dec cx+1
J16:
com cx
com cx+1
J15:
mov a,@8
mov ccounter,a
J17:
bc sr,cflag
rrc cx+1
rrc cx
djz ccounter
jmp @J17
jbs pr0,0
jmp @J18
com cx
com cx+1
inc cx
jbc sr,zflag
inc cx+1
J18:
mov a,cl
STA _bank_num,0,3
.stabn 68,0,717,L480
L480:
LDA _bank_num,0,3
STA _bank_add,0,3
.stabn 68,0,718,L481
L481:
LSHMIB _bank_num,1,3
.stabn 68,0,719,L482
L482:
LDA array_get_bp+0,0,0
mov cx,a
LDA array_get_bp+0,1,0
mov cx+1,a
mov a,@cx
mov pr0,a
mov a,@.b0.256
mov pr1,a
mov a,@.b1.256
mov pr1+1,a
call idivriw
mov a,pr0
mov cx,a
mov a,pr0+1
mov cx+1,a
mov a,cl
STA _offset,0,3
.stabn 68,0,723,L483
L483:
.cfile "E:\Data\morse\morse.c(723):"
mov a,0x0
.stabn 68,0,724,L484
L484:
.cfile "E:\Data\morse\morse.c(724):"
mov _nbuf, a
.stabn 68,0,725,L485
L485:
.cfile "E:\Data\morse\morse.c(725):"
mov a, 0x04
.stabn 68,0,726,L486
L486:
.cfile "E:\Data\morse\morse.c(726):"
mov _nbuf+1, a
.stabn 68,0,727,L487
L487:
.cfile "E:\Data\morse\morse.c(727):"
bs 0x03, 7
.stabn 68,0,728,L488
L488:
.cfile "E:\Data\morse\morse.c(728):"
bs 0x03, 6
.stabn 68,0,730,L489
L489:
.cfile "E:\Data\morse\morse.c(730):"
IOR 0x0A
.stabn 68,0,731,L490
L490:
.cfile "E:\Data\morse\morse.c(731):"
mov _nbuf+2,a
.stabn 68,0,735,L491
L491:
LDA _IOCA,0,2
STA _regdata,0,3
.stabn 68,0,736,L492
L492:
mov a,@-31
mov cl,a
ANDMRB _regdata,cl,3
.stabn 68,0,737,L493
L493:
LDA array_get_bp+3,0,0
mov cx,a
LDA array_get_bp+3,1,0
mov cx+1,a
mov a,cx
STA array_get_bp-8,0,0
mov a,cx+1
STA array_get_bp-8,1,0
mov a,@.b0.256
mov ax,a
mov a,@.b1.256
mov ax+1,a
LDA _offset,0,3
mov cx,a
clra
jbc cl,7
mov a,@0xff
mov cx+1,a
mov a,cx
sub ax,a
mov a,cx+1
jbs sr,cflag
dec ax+1
sub ax+1,a
LDA array_get_bp-8,0,0
mov cx,a
LDA array_get_bp-8,1,0
mov cx+1,a
ICMPRRW cx,ax
jbc sr,cflag
jmp @L$463
.stabn 192,0,1,L494
L494:
.stabn 68,0,738,L495
L495:
.stabn 68,0,740,L496
L496:
LDA _bank_num,0,3
mov cl,a
ORMRB _regdata,cl,3
.stabn 68,0,741,L497
L497:
LDA _regdata,0,3
mov cl,a
STA _IOCA,0,2
.stabn 68,0,742,L498
L498:
mov a,@.b0.0
STA array_get_bp-6,0,0
mov a,@.b1.0
STA array_get_bp-6,1,0
jmp @L$468
L$465:
.stabn 192,0,2,L499
L499:
.stabn 68,0,743,L500
L500:
.stabn 68,0,744,L501
L501:
LDA _offset,0,3
mov cx,a
clra
jbc cl,7
mov a,@0xff
mov cx+1,a
LDA array_get_bp-6,0,0
add cx,a
LDA array_get_bp-6,1,0
jbc sr,cflag
add a,@1
add cx+1,a
mov a,cl
STA _RC,0,0
.stabn 68,0,746,L502
L502:
LDA array_get_bp-6,0,0
mov cx,a
LDA array_get_bp-6,1,0
mov cx+1,a
LDA array_get_bp+2,0,0
add cl,a
LDA _RD,0,0
mov al,a
mov a,cl
mov r4,a
mov a,al
mov r0,a
.stabn 68,0,747,L503
L503:
.stabn 224,0,2,L504
L504:
L$466:
.stabn 68,0,742,L505
L505:
INCMW array_get_bp-6,0
L$468:
.stabn 68,0,742,L506
L506:
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -