Ассемблер на C++

Использование и разработка софта (преимущественно на ПЦ)

Moderator: Shaos

User avatar
Lavr
Supreme God
Posts: 16689
Joined: 21 Oct 2009 08:08
Location: Россия

Re: Ассемблер на C++

Post by Lavr »

Джентльмены, а кто умеет написать редактор с разделяющимся окном, как у M$ ?
AsmEd.gif
Много я пользовал разных ассемблерных редакторов с подсветкой и прочими "блэкджеками",
но чтобы было разделение окна - такого не встречалось...

А между тем для программирования это очень удобно! У M$ даже под ДОС у Edit-a экран делился... :-?

Сегодня "пошпионил" как это сделано у Ворда: судя по ID окон, как я и предполагал, это два
отдельных RichEdit-a, и "палка"-разделитель - это тоже "окно" со своим ID.
Но как-то эти RichEdit-ы должны синхронизироваться, т.к. текст в них изменяется синхронно...
You do not have the required permissions to view the files attached to this post.
iLavr
User avatar
Shaos
Admin
Posts: 24080
Joined: 08 Jan 2003 23:22
Location: Silicon Valley

Re: Ассемблер на C++

Post by Shaos »

Вроде был какой-то ассемблер для 8080, где можно было просто писать A=B
Я тут за главного - если что шлите мыло на me собака shaos точка net
User avatar
shoorick
Doomed
Posts: 487
Joined: 05 Nov 2007 05:08
Location: Украина

Re: Ассемблер на C++

Post by shoorick »

Lavr wrote:Много я пользовал разных ассемблерных редакторов с подсветкой и прочими "блэкджеками",
но чтобы было разделение окна - такого не встречалось...
WinAsm Studio...
You do not have the required permissions to view the files attached to this post.
User avatar
Paguo-86PK
Maniac
Posts: 267
Joined: 12 Apr 2011 20:43
Location: Tashkent

Re: Ассемблер на C++

Post by Paguo-86PK »

Shaos wrote:Вроде был какой-то ассемблер для 8080, где можно было просто писать A=B
Этo наверное аналог Sphinx C-- типа был?
Но я говорю о мнемониках, а не о языке. Т.е. если мнемоники переименовать и дополнить арифметическими знаками, то можно из них выстраивать мнемо-формулы (а не математические формулы переводить в код).
Вот, моя первая попытка:

Code: Select all

    .org  0x1100
Piton:
    0xF818(Hli=.title)
.tempo:
    0xF809(0xF803() Ca -0x30 .tempo:c ?0x0A .tempo:nc)
    +a Ba +a+b cma ++a Ba Ci=0xFF Hli=0x4000 +Bc Shld .speed
.new:
    0xF818(Hli=.wait)
.cont:
    0xF81B(.rnd()) ?0x0D .cont:nz
    0xF809(Ci=0x1F)
    Hli=0x77C2
    H .draw(Bci=0x0001 Ei=0x3F)
    H .draw(Hli=0x7F12 Ei=0x3F)
    L .draw(Ci=78 Ei=25)
    L .draw(Ei=25)
    0xF818(Hli=.len)
    Hli=0x7EE2 Bci=0xFFB2 H B Lhld .pit1287 Shld .pit1289 .pit11CA:
.keys:
    0xF81B()
    Hli=0xFFFF ?0x08 .turn:z
    Hli=0x0001 ?0x18 .turn:z
    Hli=0xFFB2 ?0x19 .turn:z
    Hli=0x004E ?0x1A .turn:z
    Xthl
.turn:
    C E Xchg +De H D Cm Mi=0x4F Xchg Lhld .pit1287
    Me ++Hl Md ++Hl Am ?0x17 .pit1184:nz Hi=0x14
.pit11B4:
    Shld .pit1287 Lhld .speed
.dly:
    --Hl Al |h .dly:nz Ac |a .pit11ED:z ?0x7F .new:nz
.pit11CA:
    Lda .size Sta .pit128B
.pit11D0:
    .rnd(0xF818(Hli=.cur))
    0xF821(0xF809(Ch) 0xF809(Cl)) |a .pit11D0:nz
    0xF809(Ci=0x7F)
.pit11ED:
    Hli=.pit128B --m .pit1204:m Hli=0x77E7 Ai=0x3A
.pit11F9:
    ++m ?m .keys:nz Mi=0x30 --Hl .pit11F9:
.pit1204:
    ++m Lhld .pit1289
    Em ++Hl Dm ++ Hl Ah ?0x17 .pit1214:nz Hi=0x14
.pit1214:
    Shld .pit1289 ^a Dea .keys:
.draw:
    Mi=0x2B +Bc --E .draw:nz ret
.rnd:
    Lhld .seed Ci=0x10
.rnd1:
    Ah +Hl &0x60 .rnd2:pe ++Hl
.rnd2:
    --C .rnd1:nz Shld .seed ret
.title:DB   "\r\n*** Питон ***\r\nСкорость (0..9)?\0"
.cur: DB    "\b\eY\0"
.len: DB    "\b\eY : Длина - 000 \0"
.wait:DB    "\eY89 Нажмите <ВК>\0"
.size:DB    0x04
.seed:DW    0xE92C
.PIT1287:DW    0x14C0
.PIT1289:DW    0x1492
.PIT128B:DB    0x01
.speed:
Выглядит ужасно :o , но гораздо компактнее ассемблера. :D
Здесь требуется основательнее продумать синтаксис :roll:

P.S.: Попробовал дизассемблером заняться…

 «МОНИТОР»

Code: Select all

F800 C3 36 F8|     @0xF836  
F803 C3 63 FE|     @0xFE63  
F806 C3 98 FB|     @0xFB98  
F809 C3 BA FC|     @0xFCBA  
F80C C3 46 FC|     @0xFC46  
F80F C3 BA FC|     @0xFCBA  
F812 C3 01 FE|     @0xFE01  
F815 C3 A5 FC|     @0xFCA5  
F818 C3 22 F9|     @0xF922  
F81B C3 72 FE|     @0xFE72  
F81E C3 7B FA|     @0xFA7B  
F821 C3 7F FA|     @0xFA7F  
F824 C3 B6 FA|     @0xFAB6  
F827 C3 49 FB|     @0xFB49  
F82A C3 16 FB|     @0xFB16  
F82D C3 CE FA|     @0xFACE  
F830 C3 52 FF|     @0xFF52  
F833 C3 56 FF|     @0xFF56  
F836 3E 8A ..|     A=0x8A   
F838 32 03 80|STA  0x8003   
F83B 31 CF 76|     SP=0x76CF
F83E CD CE FA|     0xFACE() 
F841 21 00 76|     HI=0x7600
F844 11 5F 76|     DE=0x765F
F847 0E 00 ..|     U=0x00   
F849 CD ED F9|     0xF9ED() 
F84C 21 CF 76|     HI=0x76CF
F84F 22 1C 76|SHLD 0x761C   
F852 21 5A FF|     HI=0xFF5A
F855 CD 22 F9|     0xF922() 
F858 CD CE FA|     0xFACE() 
F85B 21 FF 75|     HI=0x75FF
F85E 22 31 76|SHLD 0x7631   
F861 21 2A 1D|     HI=0x1D2A
F864 22 2F 76|SHLD 0x762F   
F867 3E C3 ..|     A=0xC3   
F869 32 26 76|STA  0x7626   
F86C 31 CF 76|     SP=0x76CF
F86F 21 66 FF|     HI=0xFF66
F872 CD 22 F9|     0xF922() 
F875 32 02 80|STA  0x8002   
F878 3D .. ..|     --A      
F879 32 02 A0|STA  0xA002   
F87C CD EE F8|     0xF8EE() 
F87F 21 6C F8|     HI=0xF86C
F882 E5 .. ..|     H        
F883 21 33 76|     HI=0x7633
F886 7E .. ..|     AJ       
F887 FE 58 ..|     ?0x58    
F889 CA D3 FF|Z    @0xFFD3  
F88C FE 55 ..|     ?0x55    
F88E CA 00 F0|Z    @0xF000  
F891 F5 .. ..|     A        
F892 CD 2C F9|     0xF92C() 
F895 2A 2B 76|LHLD 0x762B   
F898 4D .. ..|     UI       
F899 44 .. ..|     VH       
F89A 2A 29 76|LHLD 0x7629   
F89D EB .. ..|DEHI          
F89E 2A 27 76|LHLD 0x7627   
F8A1 F1 .. ..|     F        
F8A2 FE 44 ..|     ?0x44    
F8A4 CA C5 F9|Z    @0xF9C5  
F8A7 FE 43 ..|     ?0x43    
F8A9 CA D7 F9|Z    @0xF9D7  
F8AC FE 46 ..|     ?0x46    
F8AE CA ED F9|Z    @0xF9ED  
F8B1 FE 53 ..|     ?0x53    
F8B3 CA F4 F9|Z    @0xF9F4  
F8B6 FE 54 ..|     ?0x54    
F8B8 CA FF F9|Z    @0xF9FF  
F8BB FE 4D ..|     ?0x4D    
F8BD CA 26 FA|Z    @0xFA26  
F8C0 FE 47 ..|     ?0x47    
F8C2 CA 3F FA|Z    @0xFA3F  
F8C5 FE 49 ..|     ?0x49    
F8C7 CA 86 FA|Z    @0xFA86  
F8CA FE 4F ..|     ?0x4F    
F8CC CA 2D FB|Z    @0xFB2D  
F8CF FE 4C ..|     ?0x4C    
F8D1 CA 08 FA|Z    @0xFA08  
F8D4 FE 52 ..|     ?0x52    
F8D6 CA 68 FA|Z    @0xFA68  
F8D9 C3 00 F0|     @0xF000  
F8DC 3E 33 ..|     A=0x33   
F8DE BD .. ..|     ?I       
F8DF CA F1 F8|Z    @0xF8F1  
F8E2 E5 .. ..|     H        
F8E3 21 9E FF|     HI=0xFF9E
F8E6 CD 22 F9|     0xF922() 
F8E9 E1 .. ..|     I        
F8EA 2B .. ..|     --HI     
F8EB C3 F3 F8|     @0xF8F3  
F8EE 21 33 76|     HI=0x7633
F8F1 06 00 ..|     V=0x00   
F8F3 CD 63 FE|     0xFE63() 
F8F6 FE 08 ..|     ?0x08    
F8F8 CA DC F8|Z    @0xF8DC  
F8FB FE 7F ..|     ?0x7F    
F8FD CA DC F8|Z    @0xF8DC  
F900 C4 B9 FC|NZ   0xFCB9() 
F903 77 .. ..|     JA       
F904 FE 0D ..|     ?0x0D    
F906 CA 1A F9|Z    @0xF91A  
F909 FE 2E ..|     ?0x2E    
F90B CA 6C F8|Z    @0xF86C  
F90E 06 FF ..|     V=0xFF   
F910 3E 52 ..|     A=0x52   
F912 BD .. ..|     ?I       
F913 CA AE FA|Z    @0xFAAE  
F916 23 .. ..|     ++HI     
F917 C3 F3 F8|     @0xF8F3  
F91A 78 .. ..|     AV       
F91B 17 .. ..|     <<       
F91C 11 33 76|     DE=0x7633
F91F 06 00 ..|     V=0x00   
F921 C9 .. ..|RET           
F922 7E .. ..|     AJ       
F923 A7 .. ..|     &A       
F924 C8 .. ..|RZ            
F925 CD B9 FC|     0xFCB9() 
F928 23 .. ..|     ++HI     
F929 C3 22 F9|     @0xF922  
F92C 21 27 76|     HI=0x7627
F92F 11 2D 76|     DE=0x762D
F932 0E 00 ..|     U=0x00   
F934 CD ED F9|     0xF9ED() 
F937 11 34 76|     DE=0x7634
F93A CD 5A F9|     0xF95A() 
F93D 22 27 76|SHLD 0x7627   
F940 22 29 76|SHLD 0x7629   
F943 D8 .. ..|RC            
F944 3E FF ..|     A=0xFF   
F946 32 2D 76|STA  0x762D   
F949 CD 5A F9|     0xF95A() 
F94C 22 29 76|SHLD 0x7629   
F94F D8 .. ..|RC            
F950 CD 5A F9|     0xF95A() 
F953 22 2B 76|SHLD 0x762B   
F956 D8 .. ..|RC            
F957 C3 AE FA|     @0xFAAE  
F95A 21 00 00|     HI=0x0000
F95D 1A .. ..|ADE           
F95E 13 .. ..|     ++DE     
F95F FE 0D ..|     ?0x0D    
F961 CA 8E F9|Z    @0xF98E  
F964 FE 2C ..|     ?0x2C    
F966 C8 .. ..|RZ            
F967 FE 20 ..|     ?0x20    
F969 CA 5D F9|Z    @0xF95D  
F96C D6 30 ..|     -0x30    
F96E FA AE FA|M    @0xFAAE  
F971 FE 0A ..|     ?0x0A    
F973 FA 82 F9|M    @0xF982  
F976 FE 11 ..|     ?0x11    
F978 FA AE FA|M    @0xFAAE  
F97B FE 17 ..|     ?0x17    
F97D F2 AE FA|P    @0xFAAE  
F980 D6 07 ..|     -0x07    
F982 4F .. ..|     UA       
F983 29 .. ..|     +HI      
F984 29 .. ..|     +HI      
F985 29 .. ..|     +HI      
F986 29 .. ..|     +HI      
F987 DA AE FA|C    @0xFAAE  
F98A 09 .. ..|     +VU      
F98B C3 5D F9|     @0xF95D  
F98E 37 .. ..|     STC      
F98F C9 .. ..|RET           
F990 7C .. ..|     AH       
F991 BA .. ..|     ?D       
F992 C0 .. ..|RNZ           
F993 7D .. ..|     AI       
F994 BB .. ..|     ?E       
F995 C9 .. ..|RET           
F996 CD A4 F9|     0xF9A4() 
F999 CD 90 F9|     0xF990() 
F99C C2 A2 F9|NZ   @0xF9A2  
F99F 33 .. ..|     ++SP     
F9A0 33 .. ..|     ++SP     
F9A1 C9 .. ..|RET           
F9A2 23 .. ..|     ++HI     
F9A3 C9 .. ..|RET           
F9A4 CD 72 FE|     0xFE72() 
F9A7 FE 03 ..|     ?0x03    
F9A9 C0 .. ..|RNZ           
F9AA CD CE FA|     0xFACE() 
F9AD C3 AE FA|     @0xFAAE  
F9B0 E5 .. ..|     H        
F9B1 21 6C FF|     HI=0xFF6C
F9B4 CD 22 F9|     0xF922() 
F9B7 E1 .. ..|     I        
F9B8 C9 .. ..|RET           
F9B9 7E .. ..|     AJ       
F9BA C5 .. ..|     V        
F9BB CD A5 FC|     0xFCA5() 
F9BE 3E 20 ..|     A=0x20   
F9C0 CD B9 FC|     0xFCB9() 
F9C3 C1 .. ..|     U        
F9C4 C9 .. ..|RET           
F9C5 CD 78 FB|     0xFB78() 
F9C8 CD B9 F9|     0xF9B9() 
F9CB CD 96 F9|     0xF996() 
F9CE 7D .. ..|     AI       
F9CF E6 0F ..|     &0x0F    
F9D1 CA C5 F9|Z    @0xF9C5  
F9D4 C3 C8 F9|     @0xF9C8  
F9D7 0A .. ..|AVU           
F9D8 BE .. ..|     ?J       
F9D9 CA E6 F9|Z    @0xF9E6  
F9DC CD 78 FB|     0xFB78() 
F9DF CD B9 F9|     0xF9B9() 
F9E2 0A .. ..|AVU           
F9E3 CD BA F9|     0xF9BA() 
F9E6 03 .. ..|     ++VU     
F9E7 CD 96 F9|     0xF996() 
F9EA C3 D7 F9|     @0xF9D7  
F9ED 71 .. ..|     JU       
F9EE CD 99 F9|     0xF999() 
F9F1 C3 ED F9|     @0xF9ED  
F9F4 79 .. ..|     AU       
F9F5 BE .. ..|     ?J       
F9F6 CC 78 FB|Z    0xFB78() 
F9F9 CD 96 F9|     0xF996() 
F9FC C3 F4 F9|     @0xF9F4  
F9FF 7E .. ..|     AJ       
FA00 02 .. ..|VUA           
FA01 03 .. ..|     ++VU     
FA02 CD 99 F9|     0xF999() 
FA05 C3 FF F9|     @0xF9FF  
FA08 CD 78 FB|     0xFB78() 
FA0B 7E .. ..|     AJ       
FA0C B7 .. ..|     |A       
FA0D FA 15 FA|M    @0xFA15  
FA10 FE 20 ..|     ?0x20    
FA12 D2 17 FA|NC   @0xFA17  
FA15 3E 2E ..|     A=0x2E   
FA17 CD B9 FC|     0xFCB9() 
FA1A CD 96 F9|     0xF996() 
FA1D 7D .. ..|     AI       
FA1E E6 0F ..|     &0x0F    
FA20 CA 08 FA|Z    @0xFA08  
FA23 C3 0B FA|     @0xFA0B  
FA26 CD 78 FB|     0xFB78() 
FA29 CD B9 F9|     0xF9B9() 
FA2C E5 .. ..|     H        
FA2D CD EE F8|     0xF8EE() 
FA30 E1 .. ..|     I        
FA31 D2 3B FA|NC   @0xFA3B  
FA34 E5 .. ..|     H        
FA35 CD 5A F9|     0xF95A() 
FA38 7D .. ..|     AI       
FA39 E1 .. ..|     I        
FA3A 77 .. ..|     JA       
FA3B 23 .. ..|     ++HI     
FA3C C3 26 FA|     @0xFA26  
FA3F CD 90 F9|     0xF990() 
FA42 CA 5A FA|Z    @0xFA5A  
FA45 EB .. ..|DEHI          
FA46 22 23 76|SHLD 0x7623   
FA49 7E .. ..|     AJ       
FA4A 32 25 76|STA  0x7625   
FA4D 36 F7 ..|     J=0xF7   
FA4F 3E C3 ..|     A=0xC3   
FA51 32 30 00|STA  0x0030   
FA54 21 A2 FF|     HI=0xFFA2
FA57 22 31 00|SHLD 0x0031   
FA5A 31 18 76|     SP=0x7618
FA5D C1 .. ..|     U        
FA5E D1 .. ..|     E        
FA5F E1 .. ..|     I        
FA60 F1 .. ..|     F        
FA61 F9 .. ..|SPHI          
FA62 2A 16 76|LHLD 0x7616   
FA65 C3 26 76|     @0x7626  
FA68 3E 90 ..|     A=0x90   
FA6A 32 03 A0|STA  0xA003   
FA6D 22 01 A0|SHLD 0xA001   
FA70 3A 00 A0|LDA  0xA000   
FA73 02 .. ..|VUA           
FA74 03 .. ..|     ++VU     
FA75 CD 99 F9|     0xF999() 
FA78 C3 6D FA|     @0xFA6D  
FA7B 2A 02 76|LHLD 0x7602   
FA7E C9 .. ..|RET           
FA7F E5 .. ..|     H        
FA80 2A 00 76|LHLD 0x7600   
FA83 7E .. ..|     AJ       
FA84 E1 .. ..|     I        
FA85 C9 .. ..|RET           
FA86 3A 2D 76|LDA  0x762D   
FA89 B7 .. ..|     |A       
FA8A CA 91 FA|Z    @0xFA91  
FA8D 7B .. ..|     AE       
FA8E 32 2F 76|STA  0x762F   
FA91 CD B6 FA|     0xFAB6() 
FA94 CD 78 FB|     0xFB78() 
FA97 EB .. ..|DEHI          
FA98 CD 78 FB|     0xFB78() 
FA9B EB .. ..|DEHI          
FA9C C5 .. ..|     V        
FA9D CD 16 FB|     0xFB16() 
FAA0 60 .. ..|     HV       
FAA1 69 .. ..|     IU       
FAA2 CD 78 FB|     0xFB78() 
FAA5 D1 .. ..|     E        
FAA6 CD 90 F9|     0xF990() 
FAA9 C8 .. ..|RZ            
FAAA EB .. ..|DEHI          
FAAB CD 78 FB|     0xFB78() 
FAAE 3E 3F ..|     A=0x3F   
FAB0 CD B9 FC|     0xFCB9() 
FAB3 C3 6C F8|     @0xF86C  
FAB6 3E FF ..|     A=0xFF   
FAB8 CD FF FA|     0xFAFF() 
FABB E5 .. ..|     H        
FABC 09 .. ..|     +VU      
FABD EB .. ..|DEHI          
FABE CD FD FA|     0xFAFD() 
FAC1 E1 .. ..|     I        
FAC2 09 .. ..|     +VU      
FAC3 EB .. ..|DEHI          
FAC4 E5 .. ..|     H        
FAC5 CD 0A FB|     0xFB0A() 
FAC8 3E FF ..|     A=0xFF   
FACA CD FF FA|     0xFAFF() 
FACD E1 .. ..|     I        
FACE E5 .. ..|     H        
FACF 21 01 C0|     HI=0xC001
FAD2 36 00 ..|     J=0x00   
FAD4 2B .. ..|     --HI     
FAD5 36 4D ..|     J=0x4D   
FAD7 36 1D ..|     J=0x1D   
FAD9 36 99 ..|     J=0x99   
FADB 36 93 ..|     J=0x93   
FADD 23 .. ..|     ++HI     
FADE 36 27 ..|     J=0x27   
FAE0 7E .. ..|     AJ       
FAE1 7E .. ..|     AJ       
FAE2 E6 20 ..|     &0x20    
FAE4 CA E1 FA|Z    @0xFAE1  
FAE7 21 08 E0|     HI=0xE008
FAEA 36 80 ..|     J=0x80   
FAEC 2E 04 ..|     I=0x04   
FAEE 36 D0 ..|     J=0xD0   
FAF0 36 76 ..|     J=0x76   
FAF2 2C .. ..|     ++I      
FAF3 36 23 ..|     J=0x23   
FAF5 36 49 ..|     J=0x49   
FAF7 2E 08 ..|     I=0x08   
FAF9 36 A4 ..|     J=0xA4   
FAFB E1 .. ..|     I        
FAFC C9 .. ..|RET           
FAFD 3E 08 ..|     A=0x08   
FAFF CD 98 FB|     0xFB98() 
FB02 47 .. ..|     VA       
FB03 3E 08 ..|     A=0x08   
FB05 CD 98 FB|     0xFB98() 
FB08 4F .. ..|     UA       
FB09 C9 .. ..|RET           
FB0A 3E 08 ..|     A=0x08   
FB0C CD 98 FB|     0xFB98() 
FB0F 77 .. ..|     JA       
FB10 CD 99 F9|     0xF999() 
FB13 C3 0A FB|     @0xFB0A  
FB16 01 00 00|     VU=0x0000
FB19 7E .. ..|     AJ       
FB1A 81 .. ..|     +U       
FB1B 4F .. ..|     UA       
FB1C F5 .. ..|     A        
FB1D CD 90 F9|     0xF990() 
FB20 CA 9F F9|Z    @0xF99F  
FB23 F1 .. ..|     F        
FB24 78 .. ..|     AV       
FB25 8E .. ..|     #J       
FB26 47 .. ..|     VA       
FB27 CD 99 F9|     0xF999() 
FB2A C3 19 FB|     @0xFB19  
FB2D 79 .. ..|     AU       
FB2E B7 .. ..|     |A       
FB2F CA 35 FB|Z    @0xFB35  
FB32 32 30 76|STA  0x7630   
FB35 E5 .. ..|     H        
FB36 CD 16 FB|     0xFB16() 
FB39 E1 .. ..|     I        
FB3A CD 78 FB|     0xFB78() 
FB3D EB .. ..|DEHI          
FB3E CD 78 FB|     0xFB78() 
FB41 EB .. ..|DEHI          
FB42 E5 .. ..|     H        
FB43 60 .. ..|     HV       
FB44 69 .. ..|     IU       
FB45 CD 78 FB|     0xFB78() 
FB48 E1 .. ..|     I        
FB49 C5 .. ..|     V        
FB4A 01 00 00|     VU=0x0000
FB4D CD 46 FC|     0xFC46() 
FB50 05 .. ..|     --V      
FB51 E3 .. ..|HISP          
FB52 E3 .. ..|HISP          
FB53 C2 4D FB|NZ   @0xFB4D  
FB56 0E E6 ..|     U=0xE6   
FB58 CD 46 FC|     0xFC46() 
FB5B CD 90 FB|     0xFB90() 
FB5E EB .. ..|DEHI          
FB5F CD 90 FB|     0xFB90() 
FB62 EB .. ..|DEHI          
FB63 CD 86 FB|     0xFB86() 
FB66 21 00 00|     HI=0x0000
FB69 CD 90 FB|     0xFB90() 
FB6C 0E E6 ..|     U=0xE6   
FB6E CD 46 FC|     0xFC46() 
FB71 E1 .. ..|     I        
FB72 CD 90 FB|     0xFB90() 
FB75 C3 CE FA|     @0xFACE  
FB78 C5 .. ..|     V        
FB79 CD B0 F9|     0xF9B0() 
FB7C 7C .. ..|     AH       
FB7D CD A5 FC|     0xFCA5() 
FB80 7D .. ..|     AI       
FB81 CD BA F9|     0xF9BA() 
FB84 C1 .. ..|     U        
FB85 C9 .. ..|RET           
FB86 4E .. ..|     UJ       
FB87 CD 46 FC|     0xFC46() 
FB8A CD 99 F9|     0xF999() 
FB8D C3 86 FB|     @0xFB86  
FB90 4C .. ..|     UH       
FB91 CD 46 FC|     0xFC46() 
FB94 4D .. ..|     UI       
FB95 C3 46 FC|     @0xFC46  
FB98 E5 .. ..|     H        
FB99 C5 .. ..|     V        
FB9A D5 .. ..|     D        
FB9B 57 .. ..|     DA       
FB9C 3E 80 ..|     A=0x80   
FB9E 32 08 E0|STA  0xE008   
FBA1 21 00 00|     HI=0x0000
FBA4 39 .. ..|     +SP      
FBA5 31 00 00|     SP=0x0000
FBA8 22 0D 76|SHLD 0x760D   
FBAB 0E 00 ..|     U=0x00   
FBAD 3A 02 80|LDA  0x8002   
FBB0 0F .. ..|     >        
FBB1 0F .. ..|     >        
FBB2 0F .. ..|     >        
FBB3 0F .. ..|     >        
FBB4 E6 01 ..|     &0x01    
FBB6 5F .. ..|     EA       
FBB7 F1 .. ..|     F        
FBB8 79 .. ..|     AU       
FBB9 E6 7F ..|     &0x7F    
FBBB 07 .. ..|     <        
FBBC 4F .. ..|     UA       
FBBD 26 00 ..|     H=0x00   
FBBF 25 .. ..|     --H      
FBC0 CA 34 FC|Z    @0xFC34  
FBC3 F1 .. ..|     F        
FBC4 3A 02 80|LDA  0x8002   
FBC7 0F .. ..|     >        
FBC8 0F .. ..|     >        
FBC9 0F .. ..|     >        
FBCA 0F .. ..|     >        
FBCB E6 01 ..|     &0x01    
FBCD BB .. ..|     ?E       
FBCE CA BF FB|Z    @0xFBBF  
FBD1 B1 .. ..|     |U       
FBD2 4F .. ..|     UA       
FBD3 15 .. ..|     --D      
FBD4 3A 2F 76|LDA  0x762F   
FBD7 C2 DC FB|NZ   @0xFBDC  
FBDA D6 12 ..|     -0x12    
FBDC 47 .. ..|     VA       
FBDD F1 .. ..|     F        
FBDE 05 .. ..|     --V      
FBDF C2 DD FB|NZ   @0xFBDD  
FBE2 14 .. ..|     ++D      
FBE3 3A 02 80|LDA  0x8002   
FBE6 0F .. ..|     >        
FBE7 0F .. ..|     >        
FBE8 0F .. ..|     >        
FBE9 0F .. ..|     >        
FBEA E6 01 ..|     &0x01    
FBEC 5F .. ..|     EA       
FBED 7A .. ..|     AD       
FBEE B7 .. ..|     |A       
FBEF F2 0B FC|P    @0xFC0B  
FBF2 79 .. ..|     AU       
FBF3 FE E6 ..|     ?0xE6    
FBF5 C2 FF FB|NZ   @0xFBFF  
FBF8 AF .. ..|     ^A       
FBF9 32 2E 76|STA  0x762E   
FBFC C3 09 FC|     @0xFC09  
FBFF FE 19 ..|     ?0x19    
FC01 C2 B7 FB|NZ   @0xFBB7  
FC04 3E FF ..|     A=0xFF   
FC06 32 2E 76|STA  0x762E   
FC09 16 09 ..|     D=0x09   
FC0B 15 .. ..|     --D      
FC0C C2 B7 FB|NZ   @0xFBB7  
FC0F 21 04 E0|     HI=0xE004
FC12 36 D0 ..|     J=0xD0   
FC14 36 76 ..|     J=0x76   
FC16 23 .. ..|     ++HI     
FC17 36 23 ..|     J=0x23   
FC19 36 49 ..|     J=0x49   
FC1B 3E 27 ..|     A=0x27   
FC1D 32 01 C0|STA  0xC001   
FC20 3E E0 ..|     A=0xE0   
FC22 32 01 C0|STA  0xC001   
FC25 2E 08 ..|     I=0x08   
FC27 36 A4 ..|     J=0xA4   
FC29 2A 0D 76|LHLD 0x760D   
FC2C F9 .. ..|SPHI          
FC2D 3A 2E 76|LDA  0x762E   
FC30 A9 .. ..|     ^U       
FC31 C3 A1 FC|     @0xFCA1  
FC34 2A 0D 76|LHLD 0x760D   
FC37 F9 .. ..|SPHI          
FC38 CD CE FA|     0xFACE() 
FC3B 7A .. ..|     AD       
FC3C B7 .. ..|     |A       
FC3D F2 AE FA|P    @0xFAAE  
FC40 CD A4 F9|     0xF9A4() 
FC43 C3 9C FB|     @0xFB9C  
FC46 E5 .. ..|     H        
FC47 C5 .. ..|     V        
FC48 D5 .. ..|     D        
FC49 F5 .. ..|     A        
FC4A 3E 80 ..|     A=0x80   
FC4C 32 08 E0|STA  0xE008   
FC4F 21 00 00|     HI=0x0000
FC52 39 .. ..|     +SP      
FC53 31 00 00|     SP=0x0000
FC56 16 08 ..|     D=0x08   
FC58 F1 .. ..|     F        
FC59 79 .. ..|     AU       
FC5A 07 .. ..|     <        
FC5B 4F .. ..|     UA       
FC5C 3E 01 ..|     A=0x01   
FC5E A9 .. ..|     ^U       
FC5F 32 02 80|STA  0x8002   
FC62 3A 30 76|LDA  0x7630   
FC65 47 .. ..|     VA       
FC66 F1 .. ..|     F        
FC67 05 .. ..|     --V      
FC68 C2 66 FC|NZ   @0xFC66  
FC6B 3E 00 ..|     A=0x00   
FC6D A9 .. ..|     ^U       
FC6E 32 02 80|STA  0x8002   
FC71 15 .. ..|     --D      
FC72 3A 30 76|LDA  0x7630   
FC75 C2 7A FC|NZ   @0xFC7A  
FC78 D6 0E ..|     -0x0E    
FC7A 47 .. ..|     VA       
FC7B F1 .. ..|     F        
FC7C 05 .. ..|     --V      
FC7D C2 7B FC|NZ   @0xFC7B  
FC80 14 .. ..|     ++D      
FC81 15 .. ..|     --D      
FC82 C2 58 FC|NZ   @0xFC58  
FC85 F9 .. ..|SPHI          
FC86 21 04 E0|     HI=0xE004
FC89 36 D0 ..|     J=0xD0   
FC8B 36 76 ..|     J=0x76   
FC8D 23 .. ..|     ++HI     
FC8E 36 23 ..|     J=0x23   
FC90 36 49 ..|     J=0x49   
FC92 3E 27 ..|     A=0x27   
FC94 32 01 C0|STA  0xC001   
FC97 3E E0 ..|     A=0xE0   
FC99 32 01 C0|STA  0xC001   
FC9C 2E 08 ..|     I=0x08   
FC9E 36 A4 ..|     J=0xA4   
FCA0 F1 .. ..|     F        
FCA1 D1 .. ..|     E        
FCA2 C1 .. ..|     U        
FCA3 E1 .. ..|     I        
FCA4 C9 .. ..|RET           
FCA5 F5 .. ..|     A        
FCA6 0F .. ..|     >        
FCA7 0F .. ..|     >        
FCA8 0F .. ..|     >        
FCA9 0F .. ..|     >        
FCAA CD AE FC|     0xFCAE() 
FCAD F1 .. ..|     F        
FCAE E6 0F ..|     &0x0F    
FCB0 FE 0A ..|     ?0x0A    
FCB2 FA B7 FC|M    @0xFCB7  
FCB5 C6 07 ..|     +0x07    
FCB7 C6 30 ..|     +0x30    
FCB9 4F .. ..|     UA       
FCBA F5 .. ..|     A        
FCBB C5 .. ..|     V        
FCBC D5 .. ..|     D        
FCBD E5 .. ..|     H        
FCBE CD 01 FE|     0xFE01() 
FCC1 21 85 FD|     HI=0xFD85
FCC4 E5 .. ..|     H        
FCC5 2A 02 76|LHLD 0x7602   
FCC8 EB .. ..|DEHI          
FCC9 2A 00 76|LHLD 0x7600   
FCCC 3A 04 76|LDA  0x7604   
FCCF 3D .. ..|     --A      
FCD0 FA EE FC|M    @0xFCEE  
FCD3 CA 65 FD|Z    @0xFD65  
FCD6 E2 73 FD|PO   @0xFD73  
FCD9 79 .. ..|     AU       
FCDA D6 20 ..|     -0x20    
FCDC 4F .. ..|     UA       
FCDD 0D .. ..|     --U      
FCDE FA E9 FC|M    @0xFCE9  
FCE1 C5 .. ..|     V        
FCE2 CD B9 FD|     0xFDB9() 
FCE5 C1 .. ..|     U        
FCE6 C3 DD FC|     @0xFCDD  
FCE9 AF .. ..|     ^A       
FCEA 32 04 76|STA  0x7604   
FCED C9 .. ..|RET           
FCEE 79 .. ..|     AU       
FCEF E6 7F ..|     &0x7F    
FCF1 4F .. ..|     UA       
FCF2 FE 1F ..|     ?0x1F    
FCF4 CA A3 FD|Z    @0xFDA3  
FCF7 FE 0C ..|     ?0x0C    
FCF9 CA B2 FD|Z    @0xFDB2  
FCFC FE 0D ..|     ?0x0D    
FCFE CA F3 FD|Z    @0xFDF3  
FD01 FE 0A ..|     ?0x0A    
FD03 CA 47 FD|Z    @0xFD47  
FD06 FE 08 ..|     ?0x08    
FD08 CA D6 FD|Z    @0xFDD6  
FD0B FE 18 ..|     ?0x18    
FD0D CA B9 FD|Z    @0xFDB9  
FD10 FE 19 ..|     ?0x19    
FD12 CA E2 FD|Z    @0xFDE2  
FD15 FE 1A ..|     ?0x1A    
FD17 CA C5 FD|Z    @0xFDC5  
FD1A FE 1B ..|     ?0x1B    
FD1C CA 9E FD|Z    @0xFD9E  
FD1F FE 07 ..|     ?0x07    
FD21 C2 38 FD|NZ   @0xFD38  
FD24 01 F0 05|     VU=0x05F0
FD27 78 .. ..|     AV       
FD28 FB .. ..|STI           
FD29 3D .. ..|     --A      
FD2A C2 28 FD|NZ   @0xFD28  
FD2D 78 .. ..|     AV       
FD2E F3 .. ..|CLI           
FD2F 3D .. ..|     --A      
FD30 C2 2E FD|NZ   @0xFD2E  
FD33 0D .. ..|     --U      
FD34 C2 27 FD|NZ   @0xFD27  
FD37 C9 .. ..|RET           
FD38 71 .. ..|     JU       
FD39 CD B9 FD|     0xFDB9() 
FD3C 7A .. ..|     AD       
FD3D FE 03 ..|     ?0x03    
FD3F C0 .. ..|RNZ           
FD40 7B .. ..|     AE       
FD41 FE 08 ..|     ?0x08    
FD43 C0 .. ..|RNZ           
FD44 CD E2 FD|     0xFDE2() 
FD47 7A .. ..|     AD       
FD48 FE 1B ..|     ?0x1B    
FD4A C2 C5 FD|NZ   @0xFDC5  
FD4D E5 .. ..|     H        
FD4E D5 .. ..|     D        
FD4F 21 C2 77|     HI=0x77C2
FD52 11 10 78|     DE=0x7810
FD55 01 9E 07|     VU=0x079E
FD58 1A .. ..|ADE           
FD59 77 .. ..|     JA       
FD5A 23 .. ..|     ++HI     
FD5B 13 .. ..|     ++DE     
FD5C 0B .. ..|     --VU     
FD5D 79 .. ..|     AU       
FD5E B0 .. ..|     |V       
FD5F C2 58 FD|NZ   @0xFD58  
FD62 D1 .. ..|     E        
FD63 E1 .. ..|     I        
FD64 C9 .. ..|RET           
FD65 79 .. ..|     AU       
FD66 FE 59 ..|     ?0x59    
FD68 C2 E9 FC|NZ   @0xFCE9  
FD6B CD B2 FD|     0xFDB2() 
FD6E 3E 02 ..|     A=0x02   
FD70 C3 EA FC|     @0xFCEA  
FD73 79 .. ..|     AU       
FD74 D6 20 ..|     -0x20    
FD76 4F .. ..|     UA       
FD77 0D .. ..|     --U      
FD78 3E 04 ..|     A=0x04   
FD7A FA EA FC|M    @0xFCEA  
FD7D C5 .. ..|     V        
FD7E CD C5 FD|     0xFDC5() 
FD81 C1 .. ..|     U        
FD82 C3 77 FD|     @0xFD77  
FD85 22 00 76|SHLD 0x7600   
FD88 EB .. ..|DEHI          
FD89 22 02 76|SHLD 0x7602   
FD8C 3E 80 ..|     A=0x80   
FD8E 32 01 C0|STA  0xC001   
FD91 7D .. ..|     AI       
FD92 32 00 C0|STA  0xC000   
FD95 7C .. ..|     AH       
FD96 32 00 C0|STA  0xC000   
FD99 E1 .. ..|     I        
FD9A D1 .. ..|     E        
FD9B C1 .. ..|     U        
FD9C F1 .. ..|     F        
FD9D C9 .. ..|RET           
FD9E 3E 01 ..|     A=0x01   
FDA0 C3 EA FC|     @0xFCEA  
FDA3 21 F4 7F|     HI=0x7FF4
FDA6 11 25 09|     DE=0x0925
FDA9 AF .. ..|     ^A       
FDAA 77 .. ..|     JA       
FDAB 2B .. ..|     --HI     
FDAC 1B .. ..|     --DE     
FDAD 7B .. ..|     AE       
FDAE B2 .. ..|     |D       
FDAF C2 A9 FD|NZ   @0xFDA9  
FDB2 11 08 03|     DE=0x0308
FDB5 21 C2 77|     HI=0x77C2
FDB8 C9 .. ..|RET           
FDB9 7B .. ..|     AE       
FDBA 23 .. ..|     ++HI     
FDBB 1C .. ..|     ++E      
FDBC FE 47 ..|     ?0x47    
FDBE C0 .. ..|RNZ           
FDBF 1E 08 ..|     E=0x08   
FDC1 01 C0 FF|     VU=0xFFC0
FDC4 09 .. ..|     +VU      
FDC5 7A .. ..|     AD       
FDC6 FE 1B ..|     ?0x1B    
FDC8 01 4E 00|     VU=0x004E
FDCB C2 D3 FD|NZ   @0xFDD3  
FDCE 16 02 ..|     D=0x02   
FDD0 01 B0 F8|     VU=0xF8B0
FDD3 14 .. ..|     ++D      
FDD4 09 .. ..|     +VU      
FDD5 C9 .. ..|RET           
FDD6 7B .. ..|     AE       
FDD7 2B .. ..|     --HI     
FDD8 1D .. ..|     --E      
FDD9 FE 08 ..|     ?0x08    
FDDB C0 .. ..|RNZ           
FDDC 1E 47 ..|     E=0x47   
FDDE 01 40 00|     VU=0x0040
FDE1 09 .. ..|     +VU      
FDE2 7A .. ..|     AD       
FDE3 FE 03 ..|     ?0x03    
FDE5 01 B2 FF|     VU=0xFFB2
FDE8 C2 F0 FD|NZ   @0xFDF0  
FDEB 16 1C ..|     D=0x1C   
FDED 01 50 07|     VU=0x0750
FDF0 15 .. ..|     --D      
FDF1 09 .. ..|     +VU      
FDF2 C9 .. ..|RET           
FDF3 7D .. ..|     AI       
FDF4 93 .. ..|     -E       
FDF5 D2 F9 FD|NC   @0xFDF9  
FDF8 25 .. ..|     --H      
FDF9 6F .. ..|     IA       
FDFA 1E 08 ..|     E=0x08   
FDFC 01 08 00|     VU=0x0008
FDFF 09 .. ..|     +VU      
FE00 C9 .. ..|RET           
FE01 3A 02 80|LDA  0x8002   
FE04 E6 80 ..|     &0x80    
FE06 CA 0E FE|Z    @0xFE0E  
FE09 3A 05 76|LDA  0x7605   
FE0C B7 .. ..|     |A       
FE0D C0 .. ..|RNZ           
FE0E E5 .. ..|     H        
FE0F 2A 09 76|LHLD 0x7609   
FE12 CD 72 FE|     0xFE72() 
FE15 BD .. ..|     ?I       
FE16 6F .. ..|     IA       
FE17 CA 2A FE|Z    @0xFE2A  
FE1A 3E 01 ..|     A=0x01   
FE1C 32 0B 76|STA  0x760B   
FE1F 26 15 ..|     H=0x15   
FE21 AF .. ..|     ^A       
FE22 22 09 76|SHLD 0x7609   
FE25 E1 .. ..|     I        
FE26 32 05 76|STA  0x7605   
FE29 C9 .. ..|RET           
FE2A 25 .. ..|     --H      
FE2B C2 21 FE|NZ   @0xFE21  
FE2E 3C .. ..|     ++A      
FE2F CA 22 FE|Z    @0xFE22  
FE32 3C .. ..|     ++A      
FE33 CA 51 FE|Z    @0xFE51  
FE36 C5 .. ..|     V        
FE37 01 03 50|     VU=0x5003
FE3A CD 27 FD|     0xFD27() 
FE3D C1 .. ..|     U        
FE3E 3A 0B 76|LDA  0x760B   
FE41 26 E0 ..|     H=0xE0   
FE43 3D .. ..|     --A      
FE44 32 0B 76|STA  0x760B   
FE47 CA 4C FE|Z    @0xFE4C  
FE4A 26 40 ..|     H=0x40   
FE4C 3E FF ..|     A=0xFF   
FE4E C3 22 FE|     @0xFE22  
FE51 3A 02 80|LDA  0x8002   
FE54 E6 80 ..|     &0x80    
FE56 CA 51 FE|Z    @0xFE51  
FE59 3A 06 76|LDA  0x7606   
FE5C 2F .. ..|     CMA      
FE5D 32 06 76|STA  0x7606   
FE60 C3 1A FE|     @0xFE1A  
FE63 CD 01 FE|     0xFE01() 
FE66 B7 .. ..|     |A       
FE67 CA 63 FE|Z    @0xFE63  
FE6A AF .. ..|     ^A       
FE6B 32 05 76|STA  0x7605   
FE6E 3A 09 76|LDA  0x7609   
FE71 C9 .. ..|RET           
FE72 3A 02 80|LDA  0x8002   
FE75 E6 80 ..|     &0x80    
FE77 C2 7D FE|NZ   @0xFE7D  
FE7A 3E FE ..|     A=0xFE   
FE7C C9 .. ..|RET           
FE7D AF .. ..|     ^A       
FE7E 32 00 80|STA  0x8000   
FE81 32 02 80|STA  0x8002   
FE84 3A 06 76|LDA  0x7606   
FE87 E6 01 ..|     &0x01    
FE89 F6 06 ..|     |0x06    
FE8B 32 03 80|STA  0x8003   
FE8E 3A 01 80|LDA  0x8001   
FE91 3C .. ..|     ++A      
FE92 C2 97 FE|NZ   @0xFE97  
FE95 3D .. ..|     --A      
FE96 C9 .. ..|RET           
FE97 E5 .. ..|     H        
FE98 2E 01 ..|     I=0x01   
FE9A 26 07 ..|     H=0x07   
FE9C 7D .. ..|     AI       
FE9D 0F .. ..|     >        
FE9E 6F .. ..|     IA       
FE9F 2F .. ..|     CMA      
FEA0 32 00 80|STA  0x8000   
FEA3 3A 01 80|LDA  0x8001   
FEA6 2F .. ..|     CMA      
FEA7 B7 .. ..|     |A       
FEA8 C2 B3 FE|NZ   @0xFEB3  
FEAB 25 .. ..|     --H      
FEAC F2 9C FE|P    @0xFE9C  
FEAF 3E FF ..|     A=0xFF   
FEB1 E1 .. ..|     I        
FEB2 C9 .. ..|RET           
FEB3 2E 20 ..|     I=0x20   
FEB5 3A 01 80|LDA  0x8001   
FEB8 2F .. ..|     CMA      
FEB9 B7 .. ..|     |A       
FEBA CA AF FE|Z    @0xFEAF  
FEBD 2D .. ..|     --I      
FEBE C2 B5 FE|NZ   @0xFEB5  
FEC1 2E 08 ..|     I=0x08   
FEC3 2D .. ..|     --I      
FEC4 07 .. ..|     <        
FEC5 D2 C3 FE|NC   @0xFEC3  
FEC8 7C .. ..|     AH       
FEC9 65 .. ..|     HI       
FECA 6F .. ..|     IA       
FECB FE 01 ..|     ?0x01    
FECD CA FA FE|Z    @0xFEFA  
FED0 DA F3 FE|C    @0xFEF3  
FED3 07 .. ..|     <        
FED4 07 .. ..|     <        
FED5 07 .. ..|     <        
FED6 C6 20 ..|     +0x20    
FED8 B4 .. ..|     |H       
FED9 FE 5F ..|     ?0x5F    
FEDB C2 06 FF|NZ   @0xFF06  
FEDE 3E 20 ..|     A=0x20   
FEE0 E1 .. ..|     I        
FEE1 C9 .. ..|RET           
FEE2 09 .. ..|     +VU      
FEE3 0A .. ..|AVU           
FEE4 0D .. ..|     --U      
FEE5 7F .. ..|     AA       
FEE6 08 .. ..|???  1        
FEE7 19 .. ..|     +DE      
FEE8 18 .. ..|???  3        
FEE9 1A .. ..|ADE           
FEEA 0C .. ..|     ++U      
FEEB 1F .. ..|     >>       
FEEC 1B .. ..|     --DE     
FEED 00 .. ..|NOP           
FEEE 01 02 03|     VU=0x0302
FEF1 04 .. ..|     ++V      
FEF2 05 .. ..|     --V      
FEF3 7C .. ..|     AH       
FEF4 21 EA FE|     HI=0xFEEA
FEF7 C3 FE FE|     @0xFEFE  
FEFA 7C .. ..|     AH       
FEFB 21 E2 FE|     HI=0xFEE2
FEFE 85 .. ..|     +I       
FEFF 6F .. ..|     IA       
FF00 7E .. ..|     AJ       
FF01 FE 40 ..|     ?0x40    
FF03 E1 .. ..|     I        
FF04 D8 .. ..|RC            
FF05 E5 .. ..|     H        
FF06 6F .. ..|     IA       
FF07 3A 02 80|LDA  0x8002   
FF0A 67 .. ..|     HA       
FF0B E6 40 ..|     &0x40    
FF0D C2 1A FF|NZ   @0xFF1A  
FF10 7D .. ..|     AI       
FF11 FE 40 ..|     ?0x40    
FF13 FA 3F FF|M    @0xFF3F  
FF16 E6 1F ..|     &0x1F    
FF18 E1 .. ..|     I        
FF19 C9 .. ..|RET           
FF1A 3A 06 76|LDA  0x7606   
FF1D B7 .. ..|     |A       
FF1E CA 2A FF|Z    @0xFF2A  
FF21 7D .. ..|     AI       
FF22 FE 40 ..|     ?0x40    
FF24 FA 2A FF|M    @0xFF2A  
FF27 F6 20 ..|     |0x20    
FF29 6F .. ..|     IA       
FF2A 7C .. ..|     AH       
FF2B E6 20 ..|     &0x20    
FF2D C2 3F FF|NZ   @0xFF3F  
FF30 7D .. ..|     AI       
FF31 FE 40 ..|     ?0x40    
FF33 FA 3B FF|M    @0xFF3B  
FF36 7D .. ..|     AI       
FF37 EE 20 ..|     ^0x20    
FF39 E1 .. ..|     I        
FF3A C9 .. ..|RET           
FF3B 7D .. ..|     AI       
FF3C E6 2F ..|     &0x2F    
FF3E 6F .. ..|     IA       
FF3F 7D .. ..|     AI       
FF40 FE 40 ..|     ?0x40    

User avatar
shoorick
Doomed
Posts: 487
Joined: 05 Nov 2007 05:08
Location: Украина

Re: Ассемблер на C++

Post by shoorick »

fasmg довольно мощьнъ: на нем вполне можно значительно повысить уровень, хотя вряд ли будет легко реализовать синтаксис подобный С или Васику, но существенный комфорт можно достичь. Был еще язык такой: PL/M-80 - я на нем не писал, но попадалась мне книжка о нем, листал с удовольствием. Сложилось у меня впечатление, что сквозь процедурный внешний вид просматривается нечто вроде высокоуровневого ассемблера :)

fasmg - реализация некоторых 16/32-битных команд для 8080:

 extra85.inc

Code: Select all

;=======================================================================
;    extra commands for 8080/8085 as existing commands combinations
;=======================================================================
include "warn.inc"
;-----------------------------------------------------------------------
;element register
;element B?   : register + 0000h  
;element C?   : register + 0FF1h
;element D?   : register + 0112h
;element E?   : register + 0FF3h
;element H?   : register + 0224h
;element L?   : register + 0FF5h
;element M?   : register + 0FF6h
;element A?   : register + 0FF7h
;element SP?  : register + 0F3Fh
;element PSW? : register + 03FFh
;;                          |||
;;                          ||\- any 8-bit register operation
;;                          |\-- any 16-bit operation, except push&pop
;;                          \--- push&pop operations 
;-----------------------------------------------------------------------
macro MOVX? r1,r2 ; r1h:r1l <- r2h:r2l
    reg16 dest,r1
    reg16 src,r2
    if dest = 3 | src = 3
       err "Bad register pair"
    else 
        db 040h or dest shl 4 or src shl 1
        db 040h or dest shl 4 or src shl 1 or 9
    end if
end macro    
;-----------------------------------------------------------------------
macro ADDX? r1,r2 ; r1h:r1l = r1h:r1l + r2h:r2l
    reg16 dest,r1
    reg16 src,r2
    if dest = 3 | src = 3
       err "Bad register pair"
    else 
        if dest = 2
            warn 'Usage of ADDX H,X (DAD possible)'
        end if
        db 040h or 7 shl 3 or dest shl 1 or 1 ; mov a,r1l
        db 080h or src shl 1 or 1             ; add r2l
        db 040h or dest shl 4 or 8 or 7       ; mov r1l,a
        db 040h or 7 shl 3 or dest shl 1      ; mov a,r1h
        db 088h or src shl 1                  ; adc r2h
        db 040h or dest shl 4 or 7            ; mov r1h,a
    end if
end macro    
;-----------------------------------------------------------------------
macro ADCX? r1,r2 ; r1h:r1l = r1h:r1l + r2h:r2l
    reg16 dest,r1
    reg16 src,r2
    if dest = 3 | src = 3
       err "Bad register pair"
    else 
        db 040h or 7 shl 3 or dest shl 1 or 1 ; mov a,r1l
        db 088h or src shl 1 or 1             ; adc r2l
        db 040h or dest shl 4 or 8 or 7       ; mov r1l,a
        db 040h or 7 shl 3 or dest shl 1      ; mov a,r1h
        db 088h or src shl 1                  ; adc r2h
        db 040h or dest shl 4 or 7            ; mov r1h,a
    end if
end macro    
;-----------------------------------------------------------------------
macro SUBX? r1,r2 ; r1h:r1l = r1h:r1l - r2h:r2l
    reg16 dest,r1
    reg16 src,r2
    if dest = 3 | src = 3
       err "Bad register pair"
    else 
        db 040h or 7 shl 3 or dest shl 1 or 1 ; mov a,r1l
        db 090h or src shl 1 or 1             ; sub r2l
        db 040h or dest shl 4 or 8 or 7       ; mov r1l,a
        db 040h or 7 shl 3 or dest shl 1      ; mov a,r1h
        db 098h or src shl 1                  ; sbb r2h
        db 040h or dest shl 4 or 7            ; mov r1h,a
    end if
end macro    
;-----------------------------------------------------------------------
macro SBBX? r1,r2 ; r1h:r1l = r1h:r1l - r2h:r2l
    reg16 dest,r1
    reg16 src,r2
    if dest = 3 | src = 3
       err "Bad register pair"
    else 
        db 040h or 7 shl 3 or dest shl 1 or 1 ; mov a,r1l
        db 098h or src shl 1 or 1             ; sbb r2l
        db 040h or dest shl 4 or 8 or 7       ; mov r1l,a
        db 040h or 7 shl 3 or dest shl 1      ; mov a,r1h
        db 098h or src shl 1                  ; sbb r2h
        db 040h or dest shl 4 or 7            ; mov r1h,a
    end if
end macro    
;-----------------------------------------------------------------------
macro RALX? r1 
    reg16 dest,r1
    if dest = 3 
       err "Bad register pair"
    else 
        if dest = 2
            warn "Usage of RALX H (DAD possible)"
        end if
        db 040h or 7 shl 3 or dest shl 1 or 1 ; mov a,r1l
        db 017h                               ; ral
        db 040h or dest shl 4 or 8 or 7       ; mov r1l,a
        db 040h or 7 shl 3 or dest shl 1      ; mov a,r1h
        db 017h                               ; ral
        db 040h or dest shl 4 or 7            ; mov r1h,a
    end if
end macro    
;-----------------------------------------------------------------------
macro RARX? r1 
    reg16 dest,r1
    if dest = 3 
       err "Bad register pair"
    else 
        db 040h or 7 shl 3 or dest shl 1      ; mov a,r1h
        db 01Fh                               ; rar
        db 040h or dest shl 4 or 7            ; mov r1h,a
        db 040h or 7 shl 3 or dest shl 1 or 1 ; mov a,r1l
        db 01Fh                               ; rar
        db 040h or dest shl 4 or 8 or 7       ; mov r1l,a
    end if
end macro    
;-----------------------------------------------------------------------
;
;-----------------------------------------------------------------------
macro PUSHX?
    push b
    push d
    push h
end macro
;-----------------------------------------------------------------------
macro POPX?
    pop  h
    pop  d
    pop  b
end macro
;-----------------------------------------------------------------------
macro PUSHA?
    push psw
    pushx
end macro
;-----------------------------------------------------------------------
macro POPA?
    popx
    pop  psw
end macro
;-----------------------------------------------------------------------
;
;-----------------------------------------------------------------------
macro SHLD32? addr ; DEHL -> addr 
    shld addr
    xchg
    shld addr+2
    xchg
end macro
macro LHLD32? addr ; DEHL <- addr 
    lhld addr+2
    xchg
    lhld addr
end macro
;-----------------------------------------------------------------------
macro LXI32? data  ; DEHL = data
    lxi  h,data and 65535
    lxi  d,data shr 16
end macro
;-----------------------------------------------------------------------

немного не по теме, но можно, например, взять реализацию команд Z80 для fasmg и, подкорректировав специфичные команды, сделать кроссассемблер с Z80 на 8080 ну и т.д. - полет фантазии ограничен наличием времени и желания ;)
User avatar
Lavr
Supreme God
Posts: 16689
Joined: 21 Oct 2009 08:08
Location: Россия

Re: Ассемблер на C++

Post by Lavr »

shoorick wrote:
Lavr wrote:Много я пользовал разных ассемблерных редакторов с подсветкой и прочими "блэкджеками",
но чтобы было разделение окна - такого не встречалось...
WinAsm Studio...
Image
shoorick, а где-то на форуме ты давненько давал свою ссылку на свой пакет WinAsm Studio, настроенный
на работу с кодом 8080 и под "Специалист".
Я твой пакет тогда скачивал, но под Вынь 98 что-то не пошло, а сейчас что-то ссылку не нахожу... :(
Напомни еще раз, пожалуйста?
iLavr
User avatar
shoorick
Doomed
Posts: 487
Joined: 05 Nov 2007 05:08
Location: Украина

Re: Ассемблер на C++

Post by shoorick »

А нэту! Сайт WinAsm уже больше года как почил... А у меня на сайте старая версия, еще с фасмом. Я чё-нить слеплю и перезалью (в теч недели). Кое-что тут есть.
User avatar
Lavr
Supreme God
Posts: 16689
Joined: 21 Oct 2009 08:08
Location: Россия

Re: Ассемблер на C++

Post by Lavr »

shoorick wrote:Я чё-нить слеплю и перезалью (в теч недели).
Спасибо, shoorick! Если не трудно - перезалей сюда архивом.
Не хотел тебя беспокоить, ибо помнил, что оно было :wink: - но весь форум перерыл и не нашел... :-?
iLavr
User avatar
Lavr
Supreme God
Posts: 16689
Joined: 21 Oct 2009 08:08
Location: Россия

Re: Ассемблер на C++

Post by Lavr »

shoorick wrote:А у меня на сайте старая версия, ...
Скачал твою старую версию с сайта, но что-то я затупил... :(
Вот то, что ты показал на скриншоте - у меня никак не получается, хотя вроде всё, что мог - потыкал...
Я имею в виду - split активного окна попалам: как это делается?
ws.gif
И если тебя не затруднит - положи в архиве Хелп к WinAsm: я пытался скачать, но что-то и официальная
ссылка протухла... :(
https://winasm-studio.software.informer.com/download/
You do not have the required permissions to view the files attached to this post.
iLavr
User avatar
Lavr
Supreme God
Posts: 16689
Joined: 21 Oct 2009 08:08
Location: Россия

Re: Ассемблер на C++

Post by Lavr »

AlexanderZh wrote:А маленькая выпуклая черточка над полосой прокрутки справа это не оно?
И ты ведь прав! Это, действительно ОНО! :kruto: А я по всяким меню тычу... :-?
w1s.gif
Как тут говаривали в былые времена: два чая - этому господину! :lol:

И тут вот еще вопрос назрел: пока суть да дело, я еще нашарил в сети архив WinAsm,
чтобы Хелп почитать... А Хелп у меня почему-то вот так виден:
w2s.gif
То есть, кроме меню никакого Хелпа практически нет...
Я потыкал другие файлы *.CHM-Help, вроде всё нормально... :-?

Здесь вот оный Хелп в архиве, посмотрите, пожалуйста, он виден в принципе-то? :roll:
WinHelp.zip
You do not have the required permissions to view the files attached to this post.
iLavr
User avatar
Icer
Senior
Posts: 163
Joined: 21 Aug 2018 07:39
Location: Кемеровская обл.

Re: Ассемблер на C++

Post by Icer »

Правой кнопкой мыши на файле->свойства и разблокировать
если вытащить из архива, то не нужно
User avatar
Lavr
Supreme God
Posts: 16689
Joined: 21 Oct 2009 08:08
Location: Россия

Re: Ассемблер на C++

Post by Lavr »

Icer wrote:Правой кнопкой мыши на файле->свойства и разблокировать
Точно! :kruto: Да... к прибамбасам Венды_7 я никак не привыкну... :(

А ведь тоооолько хотел сказать: А вот под 98-й Вендой всёёёё видно! :ebiggrin:
981.jpg
You do not have the required permissions to view the files attached to this post.
iLavr
User avatar
Lavr
Supreme God
Posts: 16689
Joined: 21 Oct 2009 08:08
Location: Россия

Re: Ассемблер на C++

Post by Lavr »

Lavr wrote:shoorick, если тебя не затруднит - положи в архиве Хелп к WinAsm
Если вдруг есть русский Хелп - приложи его, а? Хотя, вроде везде пишут, что нет русского Хелпа... :-?
Но вдруг... :o
iLavr
User avatar
shoorick
Doomed
Posts: 487
Joined: 05 Nov 2007 05:08
Location: Украина

Re: Ассемблер на C++

Post by shoorick »

у меня стоит и налажено, хотя и под линуксом, но просто запаковать не фен-шуй, надо вычищать, и хелпы искать, т.к. я ими не пользуюсь. что-то переводил...
User avatar
Lavr
Supreme God
Posts: 16689
Joined: 21 Oct 2009 08:08
Location: Россия

Re: Ассемблер на C++

Post by Lavr »

Ну я не тороплюсь... пока WinAsm поосваиваю - в общем - то, что хотелось, но настроек у него дофига! :-?
iLavr