| 123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216217218219220221222223224225226227228229230231232233234235236237238239240241242243244245246247248249250251252253254255256257258259260261262263264265266267268269270271272273274275276277278279280281282283284285286287288289290291292293294295296297298299300301302303304305306307308309310311312313314315316317318319320321322323324325326327328329330331332333334335336337338339340341342343344345346347348349350351352353354355356357358359360361362363364365366367368369370371372373374375376377378379380381382383384385386387388389390391392393394395396397398399400401402403404405406407408409410411412413414415416417418419420421422423424425426427428429430431432433434435436437438439440441442443444445446447448449450451452453454455456457458459460461462463464465466467468469470471472473474475476477478479480481482483484485486487488489490491492493494495496497498499500501502503504505506507508509510511512513514515516517518519520521522523524525526527528529530531532533534535536537538539540541542543544545546547548549550551552553554555556557558559560561562563564565566567568569570571572573574575576577578579580581582583584585586587588589590591592593594595596597598599600601602603604605606607608609610611612613614615616617618619620621622623624625626627628629630631632633634635636637638639640641642643644645646647648649650651652653654655656657658659660661662663664665666667668669670671672673674675676677678679680681682683684685686687688689690691692693694695696697698699700701702703704705706707708709710711712713714715716717718719720721722723724725726727728729730731732733734735736737738739740741742743744745746747748749750751752753754755756757758759760761762763764765766767768769770771772773774775776777778779780781782783784785786787788789790791792793794795796797798799800801802803804805806807808809810811812813814815816817818819820821822823824825826827828829830831832833834835836837838839840841842843844845846847848849850851852853854855856857858859860861862863864865866867868869870871872873874875876877878879880881882883884885886887888889890891892893894895896897898899900901902 |
- # runtime.golden -- full FCML disassembly of the runtime's code region.
- #
- # GENERATED by tests/check_runtime.py --bless, then READ THE DIFF and commit.
- # Every line is "OFFSET BYTES MNEMONIC". This file is a deliberate
- # tripwire: any edit to Runtime.mod invalidates it, because inserting an
- # instruction renumbers everything after it, so you are forced to look at the
- # whole new listing and confirm you meant every change. See the "Re-baselining
- # the golden" section of check_runtime.py.
- #
- # Region: bytes 0..codeEnd of the runtime image (see the code/data split in
- # EmitData). Relative targets are absolute offsets within the runtime, which
- # the compiler adds to the runtime's load address when it emits a CALL.
- 0000 8B F0 mov si,ax
- 0002 8B 54 04 mov dx,word ptr [si+4h]
- 0005 8B 4C 06 mov cx,word ptr [si+6h]
- 0008 39 D1 cmp cx,dx
- 000A 76 0D jbe 19h
- 000C 89 D7 mov di,dx
- 000E 31 C0 xor ax,ax
- 0010 89 05 mov word ptr [di],ax
- 0012 83 C7 02 add di,2h
- 0015 39 CF cmp di,cx
- 0017 72 F5 jb 0eh
- 0019 1E push ds
- 001A 07 pop es
- 001B C3 ret
- 001C 31 C0 xor ax,ax
- 001E B4 4C mov ah,4ch
- 0020 CD 21 int 21h
- 0022 C3 ret
- 0023 C3 ret
- 0024 55 push bp
- 0025 8B EC mov bp,sp
- 0027 8B 46 04 mov ax,word ptr [bp+4h]
- 002A 83 F8 00 cmp ax,0h
- 002D 7D 0A jnl 39h
- 002F 50 push ax
- 0030 B0 2D mov al,2dh
- 0032 B4 02 mov ah,2h
- 0034 CD 21 int 21h
- 0036 58 pop ax
- 0037 F7 D8 neg ax
- 0039 B9 0A 00 mov cx,0ah
- 003C BB 02 08 mov bx,802h
- 003F 89 DE mov si,bx
- 0041 31 D2 xor dx,dx
- 0043 F7 F1 div ax,cx
- 0045 80 C2 30 add dl,30h
- 0048 4E dec si
- 0049 88 14 mov byte ptr [si],dl
- 004B 83 F8 00 cmp ax,0h
- 004E 75 F1 jne 41h
- 0050 39 DE cmp si,bx
- 0052 74 09 je 5dh
- 0054 8A 04 mov al,byte ptr [si]
- 0056 B4 02 mov ah,2h
- 0058 CD 21 int 21h
- 005A 46 inc si
- 005B EB F3 jmp 50h
- 005D 89 EC mov sp,bp
- 005F 5D pop bp
- 0060 C3 ret
- 0061 55 push bp
- 0062 8B EC mov bp,sp
- 0064 BB 00 00 mov bx,0h
- 0067 8B 46 06 mov ax,word ptr [bp+6h]
- 006A 83 F8 00 cmp ax,0h
- 006D 7D 03 jnl 72h
- 006F 43 inc bx
- 0070 F7 D8 neg ax
- 0072 B9 0A 00 mov cx,0ah
- 0075 43 inc bx
- 0076 31 D2 xor dx,dx
- 0078 F7 F1 div ax,cx
- 007A 83 F8 00 cmp ax,0h
- 007D 75 F6 jne 75h
- 007F 8B 46 04 mov ax,word ptr [bp+4h]
- 0082 2B C3 sub ax,bx
- 0084 83 F8 00 cmp ax,0h
- 0087 7E 0A jle 93h
- 0089 89 C1 mov cx,ax
- 008B B0 20 mov al,20h
- 008D B4 02 mov ah,2h
- 008F CD 21 int 21h
- 0091 E2 F8 loop 8bh
- 0093 8B 46 06 mov ax,word ptr [bp+6h]
- 0096 83 F8 00 cmp ax,0h
- 0099 7D 0A jnl 0a5h
- 009B 50 push ax
- 009C B0 2D mov al,2dh
- 009E B4 02 mov ah,2h
- 00A0 CD 21 int 21h
- 00A2 58 pop ax
- 00A3 F7 D8 neg ax
- 00A5 B9 0A 00 mov cx,0ah
- 00A8 BB 02 08 mov bx,802h
- 00AB 89 DE mov si,bx
- 00AD 31 D2 xor dx,dx
- 00AF F7 F1 div ax,cx
- 00B1 80 C2 30 add dl,30h
- 00B4 4E dec si
- 00B5 88 14 mov byte ptr [si],dl
- 00B7 83 F8 00 cmp ax,0h
- 00BA 75 F1 jne 0adh
- 00BC 39 DE cmp si,bx
- 00BE 74 09 je 0c9h
- 00C0 8A 04 mov al,byte ptr [si]
- 00C2 B4 02 mov ah,2h
- 00C4 CD 21 int 21h
- 00C6 46 inc si
- 00C7 EB F3 jmp 0bch
- 00C9 89 EC mov sp,bp
- 00CB 5D pop bp
- 00CC C3 ret
- 00CD 55 push bp
- 00CE 8B EC mov bp,sp
- 00D0 8A 46 04 mov al,byte ptr [bp+4h]
- 00D3 89 EC mov sp,bp
- 00D5 5D pop bp
- 00D6 B4 02 mov ah,2h
- 00D8 CD 21 int 21h
- 00DA C3 ret
- 00DB 55 push bp
- 00DC 8B EC mov bp,sp
- 00DE 83 7E 04 00 cmp word ptr [bp+4h],0h
- 00E2 89 EC mov sp,bp
- 00E4 75 05 jne 0ebh
- 00E6 BA 07 08 mov dx,807h
- 00E9 EB 03 jmp 0eeh
- 00EB BA 02 08 mov dx,802h
- 00EE B4 09 mov ah,9h
- 00F0 CD 21 int 21h
- 00F2 5D pop bp
- 00F3 C3 ret
- 00F4 BA 10 08 mov dx,810h
- 00F7 B4 09 mov ah,9h
- 00F9 CD 21 int 21h
- 00FB C3 ret
- 00FC BA 0D 08 mov dx,80dh
- 00FF B4 09 mov ah,9h
- 0101 CD 21 int 21h
- 0103 C3 ret
- 0104 5B pop bx
- 0105 31 C9 xor cx,cx
- 0107 8A 0F mov cl,byte ptr [bx]
- 0109 43 inc bx
- 010A B4 02 mov ah,2h
- 010C E3 07 jcxz 115h
- 010E 8A 07 mov al,byte ptr [bx]
- 0110 CD 21 int 21h
- 0112 43 inc bx
- 0113 E2 F9 loop 10eh
- 0115 FF E3 jmp bx
- 0117 55 push bp
- 0118 8B EC mov bp,sp
- 011A 53 push bx
- 011B 51 push cx
- 011C 50 push ax
- 011D 8B 5E 04 mov bx,word ptr [bp+4h]
- 0120 31 C9 xor cx,cx
- 0122 8A 0F mov cl,byte ptr [bx]
- 0124 43 inc bx
- 0125 B4 02 mov ah,2h
- 0127 E3 07 jcxz 130h
- 0129 8A 07 mov al,byte ptr [bx]
- 012B CD 21 int 21h
- 012D 43 inc bx
- 012E E2 F9 loop 129h
- 0130 58 pop ax
- 0131 59 pop cx
- 0132 5B pop bx
- 0133 89 EC mov sp,bp
- 0135 5D pop bp
- 0136 C3 ret
- 0137 55 push bp
- 0138 8B EC mov bp,sp
- 013A 50 push ax
- 013B 53 push bx
- 013C 51 push cx
- 013D 52 push dx
- 013E 57 push di
- 013F E8 13 00 call 155h
- 0142 83 F9 02 cmp cx,2h
- 0145 74 05 je 14ch
- 0147 8B 7E 04 mov di,word ptr [bp+4h]
- 014A 89 05 mov word ptr [di],ax
- 014C 5F pop di
- 014D 5A pop dx
- 014E 59 pop cx
- 014F 5B pop bx
- 0150 58 pop ax
- 0151 89 EC mov sp,bp
- 0153 5D pop bp
- 0154 C3 ret
- 0155 E8 C3 00 call 21bh
- 0158 3C 1A cmp al,1ah
- 015A 74 42 je 19eh
- 015C 3C 20 cmp al,20h
- 015E 76 F5 jbe 155h
- 0160 31 C9 xor cx,cx
- 0162 3C 2D cmp al,2dh
- 0164 75 06 jne 16ch
- 0166 41 inc cx
- 0167 E8 B1 00 call 21bh
- 016A EB 07 jmp 173h
- 016C 3C 2B cmp al,2bh
- 016E 75 03 jne 173h
- 0170 E8 A8 00 call 21bh
- 0173 31 FF xor di,di
- 0175 3C 30 cmp al,30h
- 0177 72 18 jb 191h
- 0179 3C 39 cmp al,39h
- 017B 77 14 jnbe 191h
- 017D 2C 30 sub al,30h
- 017F B4 00 mov ah,0h
- 0181 87 C7 xchg di,ax
- 0183 BB 0A 00 mov bx,0ah
- 0186 F7 E3 mul bx
- 0188 03 C7 add ax,di
- 018A 89 C7 mov di,ax
- 018C E8 8C 00 call 21bh
- 018F EB E4 jmp 175h
- 0191 E8 9E 00 call 232h
- 0194 83 F9 00 cmp cx,0h
- 0197 74 02 je 19bh
- 0199 F7 DF neg di
- 019B 8B C7 mov ax,di
- 019D C3 ret
- 019E B9 02 00 mov cx,2h
- 01A1 C3 ret
- 01A2 55 push bp
- 01A3 8B EC mov bp,sp
- 01A5 50 push ax
- 01A6 53 push bx
- 01A7 51 push cx
- 01A8 52 push dx
- 01A9 57 push di
- 01AA E8 A8 FF call 155h
- 01AD 83 F9 02 cmp cx,2h
- 01B0 74 05 je 1b7h
- 01B2 8B 7E 04 mov di,word ptr [bp+4h]
- 01B5 88 05 mov byte ptr [di],al
- 01B7 5F pop di
- 01B8 5A pop dx
- 01B9 59 pop cx
- 01BA 5B pop bx
- 01BB 58 pop ax
- 01BC 89 EC mov sp,bp
- 01BE 5D pop bp
- 01BF C3 ret
- 01C0 55 push bp
- 01C1 8B EC mov bp,sp
- 01C3 50 push ax
- 01C4 53 push bx
- 01C5 57 push di
- 01C6 E8 52 00 call 21bh
- 01C9 88 C2 mov dl,al
- 01CB 8B 7E 04 mov di,word ptr [bp+4h]
- 01CE 88 15 mov byte ptr [di],dl
- 01D0 5F pop di
- 01D1 5B pop bx
- 01D2 58 pop ax
- 01D3 89 EC mov sp,bp
- 01D5 5D pop bp
- 01D6 C3 ret
- 01D7 55 push bp
- 01D8 8B EC mov bp,sp
- 01DA 50 push ax
- 01DB 53 push bx
- 01DC 51 push cx
- 01DD 57 push di
- 01DE E8 3A 00 call 21bh
- 01E1 31 C9 xor cx,cx
- 01E3 3C 54 cmp al,54h
- 01E5 74 12 je 1f9h
- 01E7 3C 74 cmp al,74h
- 01E9 74 0E je 1f9h
- 01EB 3C 59 cmp al,59h
- 01ED 74 0A je 1f9h
- 01EF 3C 79 cmp al,79h
- 01F1 74 06 je 1f9h
- 01F3 3C 31 cmp al,31h
- 01F5 74 02 je 1f9h
- 01F7 EB 01 jmp 1fah
- 01F9 41 inc cx
- 01FA 8B 7E 04 mov di,word ptr [bp+4h]
- 01FD 89 0D mov word ptr [di],cx
- 01FF 5F pop di
- 0200 59 pop cx
- 0201 5B pop bx
- 0202 58 pop ax
- 0203 89 EC mov sp,bp
- 0205 5D pop bp
- 0206 C3 ret
- 0207 50 push ax
- 0208 E8 10 00 call 21bh
- 020B 3C 0D cmp al,0dh
- 020D 74 0A je 219h
- 020F 3C 0A cmp al,0ah
- 0211 74 06 je 219h
- 0213 3C 1A cmp al,1ah
- 0215 74 02 je 219h
- 0217 EB EF jmp 208h
- 0219 58 pop ax
- 021A C3 ret
- 021B 8B 1E 16 08 mov bx,word ptr [816h]
- 021F 83 FB 00 cmp bx,0h
- 0222 74 09 je 22dh
- 0224 8A C3 mov al,bl
- 0226 31 DB xor bx,bx
- 0228 89 1E 16 08 mov word ptr [816h],bx
- 022C C3 ret
- 022D B4 08 mov ah,8h
- 022F CD 21 int 21h
- 0231 C3 ret
- 0232 88 C2 mov dl,al
- 0234 BB 01 00 mov bx,1h
- 0237 8A DA mov bl,dl
- 0239 89 1E 16 08 mov word ptr [816h],bx
- 023D C3 ret
- 023E 55 push bp
- 023F 8B EC mov bp,sp
- 0241 50 push ax
- 0242 53 push bx
- 0243 51 push cx
- 0244 52 push dx
- 0245 57 push di
- 0246 8B 7E 04 mov di,word ptr [bp+4h]
- 0249 8B 46 04 mov ax,word ptr [bp+4h]
- 024C 8B F0 mov si,ax
- 024E 46 inc si
- 024F 31 DB xor bx,bx
- 0251 53 push bx
- 0252 E8 C6 FF call 21bh
- 0255 5B pop bx
- 0256 3C 0D cmp al,0dh
- 0258 74 1D je 277h
- 025A 3C 0A cmp al,0ah
- 025C 74 19 je 277h
- 025E 3C 1A cmp al,1ah
- 0260 74 15 je 277h
- 0262 88 C2 mov dl,al
- 0264 43 inc bx
- 0265 88 14 mov byte ptr [si],dl
- 0267 46 inc si
- 0268 E2 E7 loop 251h
- 026A 8A C3 mov al,bl
- 026C 88 05 mov byte ptr [di],al
- 026E 5F pop di
- 026F 5A pop dx
- 0270 59 pop cx
- 0271 5B pop bx
- 0272 58 pop ax
- 0273 89 EC mov sp,bp
- 0275 5D pop bp
- 0276 C3 ret
- 0277 53 push bx
- 0278 E8 B7 FF call 232h
- 027B 5B pop bx
- 027C EB EC jmp 26ah
- 027E 55 push bp
- 027F 8B EC mov bp,sp
- 0281 50 push ax
- 0282 53 push bx
- 0283 51 push cx
- 0284 52 push dx
- 0285 8B 46 04 mov ax,word ptr [bp+4h]
- 0288 8B F0 mov si,ax
- 028A 8B 5E 06 mov bx,word ptr [bp+6h]
- 028D 31 D2 xor dx,dx
- 028F 8A 07 mov al,byte ptr [bx]
- 0291 88 C2 mov dl,al
- 0293 43 inc bx
- 0294 39 D1 cmp cx,dx
- 0296 72 04 jb 29ch
- 0298 8B CA mov cx,dx
- 029A EB 02 jmp 29eh
- 029C 8A D1 mov dl,cl
- 029E 88 14 mov byte ptr [si],dl
- 02A0 46 inc si
- 02A1 E3 0A jcxz 2adh
- 02A3 8A 07 mov al,byte ptr [bx]
- 02A5 88 C2 mov dl,al
- 02A7 88 14 mov byte ptr [si],dl
- 02A9 43 inc bx
- 02AA 46 inc si
- 02AB E2 F6 loop 2a3h
- 02AD 5A pop dx
- 02AE 59 pop cx
- 02AF 5B pop bx
- 02B0 58 pop ax
- 02B1 89 EC mov sp,bp
- 02B3 5D pop bp
- 02B4 C3 ret
- 02B5 55 push bp
- 02B6 8B EC mov bp,sp
- 02B8 53 push bx
- 02B9 51 push cx
- 02BA 52 push dx
- 02BB 31 C9 xor cx,cx
- 02BD 31 D2 xor dx,dx
- 02BF 8B 5E 06 mov bx,word ptr [bp+6h]
- 02C2 8A 0F mov cl,byte ptr [bx]
- 02C4 8B 46 04 mov ax,word ptr [bp+4h]
- 02C7 8B F0 mov si,ax
- 02C9 8A 14 mov dl,byte ptr [si]
- 02CB 39 D1 cmp cx,dx
- 02CD 76 02 jbe 2d1h
- 02CF 8B CA mov cx,dx
- 02D1 E3 0E jcxz 2e1h
- 02D3 43 inc bx
- 02D4 46 inc si
- 02D5 8A 07 mov al,byte ptr [bx]
- 02D7 8A 14 mov dl,byte ptr [si]
- 02D9 3A C2 cmp al,dl
- 02DB 75 14 jne 2f1h
- 02DD 43 inc bx
- 02DE 46 inc si
- 02DF E2 F4 loop 2d5h
- 02E1 8B 5E 06 mov bx,word ptr [bp+6h]
- 02E4 8A 0F mov cl,byte ptr [bx]
- 02E6 8B 46 04 mov ax,word ptr [bp+4h]
- 02E9 8B F0 mov si,ax
- 02EB 31 D2 xor dx,dx
- 02ED 8A 14 mov dl,byte ptr [si]
- 02EF 39 D1 cmp cx,dx
- 02F1 B0 00 mov al,0h
- 02F3 B4 00 mov ah,0h
- 02F5 72 06 jb 2fdh
- 02F7 74 08 je 301h
- 02F9 B0 01 mov al,1h
- 02FB EB 04 jmp 301h
- 02FD B0 FF mov al,0ffh
- 02FF B4 FF mov ah,0ffh
- 0301 5A pop dx
- 0302 59 pop cx
- 0303 5B pop bx
- 0304 89 EC mov sp,bp
- 0306 5D pop bp
- 0307 C3 ret
- 0308 55 push bp
- 0309 8B EC mov bp,sp
- 030B 50 push ax
- 030C 53 push bx
- 030D 51 push cx
- 030E 52 push dx
- 030F 56 push si
- 0310 57 push di
- 0311 8B 46 04 mov ax,word ptr [bp+4h]
- 0314 8B F0 mov si,ax
- 0316 8B 5E 06 mov bx,word ptr [bp+6h]
- 0319 31 D2 xor dx,dx
- 031B 8A 14 mov dl,byte ptr [si]
- 031D 31 C0 xor ax,ax
- 031F 8A 07 mov al,byte ptr [bx]
- 0321 01 C2 add dx,ax
- 0323 39 D1 cmp cx,dx
- 0325 73 06 jnb 32dh
- 0327 B0 10 mov al,10h
- 0329 B4 4C mov ah,4ch
- 032B CD 21 int 21h
- 032D 8B CA mov cx,dx
- 032F 88 0C mov byte ptr [si],cl
- 0331 29 C2 sub dx,ax
- 0333 8B FE mov di,si
- 0335 47 inc di
- 0336 01 D7 add di,dx
- 0338 43 inc bx
- 0339 89 C1 mov cx,ax
- 033B E3 08 jcxz 345h
- 033D 8A 07 mov al,byte ptr [bx]
- 033F 88 05 mov byte ptr [di],al
- 0341 43 inc bx
- 0342 47 inc di
- 0343 E2 F8 loop 33dh
- 0345 5F pop di
- 0346 5E pop si
- 0347 5A pop dx
- 0348 59 pop cx
- 0349 5B pop bx
- 034A 58 pop ax
- 034B 89 EC mov sp,bp
- 034D 5D pop bp
- 034E C3 ret
- 034F 55 push bp
- 0350 8B EC mov bp,sp
- 0352 53 push bx
- 0353 52 push dx
- 0354 56 push si
- 0355 57 push di
- 0356 8B 76 06 mov si,word ptr [bp+6h]
- 0359 8B 04 mov ax,word ptr [si]
- 035B 83 F8 00 cmp ax,0h
- 035E 75 06 jne 366h
- 0360 31 DB xor bx,bx
- 0362 31 D2 xor dx,dx
- 0364 EB 2C jmp 392h
- 0366 88 E7 mov bh,ah
- 0368 89 C2 mov dx,ax
- 036A 83 FA 00 cmp dx,0h
- 036D 79 02 jns 371h
- 036F F7 DA neg dx
- 0371 B8 90 00 mov ax,90h
- 0374 80 FE 00 cmp dh,0h
- 0377 75 04 jne 37dh
- 0379 B0 88 mov al,88h
- 037B 86 D6 xchg dh,dl
- 037D 83 FA 00 cmp dx,0h
- 0380 78 06 js 388h
- 0382 FE C8 dec al
- 0384 D1 E2 shl dx,1h
- 0386 79 FA jns 382h
- 0388 80 FF 00 cmp bh,0h
- 038B 78 03 js 390h
- 038D 80 E6 7F and dh,7fh
- 0390 31 DB xor bx,bx
- 0392 8B 7E 04 mov di,word ptr [bp+4h]
- 0395 89 05 mov word ptr [di],ax
- 0397 89 5D 02 mov word ptr [di+2h],bx
- 039A 89 55 04 mov word ptr [di+4h],dx
- 039D 5F pop di
- 039E 5E pop si
- 039F 5A pop dx
- 03A0 5B pop bx
- 03A1 89 EC mov sp,bp
- 03A3 5D pop bp
- 03A4 C3 ret
- 03A5 55 push bp
- 03A6 8B EC mov bp,sp
- 03A8 53 push bx
- 03A9 52 push dx
- 03AA 56 push si
- 03AB 57 push di
- 03AC FF 76 04 push word ptr [bp+4h]
- 03AF 8B 76 04 mov si,word ptr [bp+4h]
- 03B2 8B 04 mov ax,word ptr [si]
- 03B4 8B 4C 02 mov cx,word ptr [si+2h]
- 03B7 8B 54 04 mov dx,word ptr [si+4h]
- 03BA 89 CB mov bx,cx
- 03BC 8B FE mov di,si
- 03BE 8B 4D 06 mov cx,word ptr [di+6h]
- 03C1 8B 75 08 mov si,word ptr [di+8h]
- 03C4 8B 7D 0A mov di,word ptr [di+0ah]
- 03C7 C7 06 18 08 00 00 mov word ptr [818h],0h
- 03CD E8 4D 00 call 41dh
- 03D0 5F pop di
- 03D1 89 05 mov word ptr [di],ax
- 03D3 89 5D 02 mov word ptr [di+2h],bx
- 03D6 89 55 04 mov word ptr [di+4h],dx
- 03D9 5F pop di
- 03DA 5E pop si
- 03DB 5A pop dx
- 03DC 5B pop bx
- 03DD 89 EC mov sp,bp
- 03DF 5D pop bp
- 03E0 C3 ret
- 03E1 55 push bp
- 03E2 8B EC mov bp,sp
- 03E4 53 push bx
- 03E5 52 push dx
- 03E6 56 push si
- 03E7 57 push di
- 03E8 FF 76 04 push word ptr [bp+4h]
- 03EB 8B 76 04 mov si,word ptr [bp+4h]
- 03EE 8B 04 mov ax,word ptr [si]
- 03F0 8B 4C 02 mov cx,word ptr [si+2h]
- 03F3 8B 54 04 mov dx,word ptr [si+4h]
- 03F6 89 CB mov bx,cx
- 03F8 8B FE mov di,si
- 03FA 8B 4D 06 mov cx,word ptr [di+6h]
- 03FD 8B 75 08 mov si,word ptr [di+8h]
- 0400 8B 7D 0A mov di,word ptr [di+0ah]
- 0403 C7 06 18 08 00 80 mov word ptr [818h],8000h
- 0409 E8 11 00 call 41dh
- 040C 5F pop di
- 040D 89 05 mov word ptr [di],ax
- 040F 89 5D 02 mov word ptr [di+2h],bx
- 0412 89 55 04 mov word ptr [di+4h],dx
- 0415 5F pop di
- 0416 5E pop si
- 0417 5A pop dx
- 0418 5B pop bx
- 0419 89 EC mov sp,bp
- 041B 5D pop bp
- 041C C3 ret
- 041D 80 F9 00 cmp cl,0h
- 0420 74 0E je 430h
- 0422 33 3E 18 08 xor di,word ptr [818h]
- 0426 3C 00 cmp al,0h
- 0428 75 07 jne 431h
- 042A 89 C8 mov ax,cx
- 042C 89 F3 mov bx,si
- 042E 89 FA mov dx,di
- 0430 C3 ret
- 0431 38 C8 cmp al,cl
- 0433 76 05 jbe 43ah
- 0435 91 xchg ax,cx
- 0436 87 F3 xchg bx,si
- 0438 87 FA xchg dx,di
- 043A 88 0E 1C 08 mov byte ptr [81ch],cl
- 043E 28 C1 sub cl,al
- 0440 80 F9 28 cmp cl,28h
- 0443 72 06 jb 44bh
- 0445 8A 0E 1C 08 mov cl,byte ptr [81ch]
- 0449 EB DF jmp 42ah
- 044B 89 3E 18 08 mov word ptr [818h],di
- 044F 80 26 19 08 80 and byte ptr [819h],80h
- 0454 89 3E 1A 08 mov word ptr [81ah],di
- 0458 30 36 1B 08 xor byte ptr [81bh],dh
- 045C 81 CF 00 80 or di,8000h
- 0460 80 CE 80 or dh,80h
- 0463 80 F9 10 cmp cl,10h
- 0466 72 0B jb 473h
- 0468 88 FC mov ah,bh
- 046A 89 D3 mov bx,dx
- 046C 31 D2 xor dx,dx
- 046E 80 E9 10 sub cl,10h
- 0471 EB F0 jmp 463h
- 0473 80 F9 08 cmp cl,8h
- 0476 72 0D jb 485h
- 0478 88 DC mov ah,bl
- 047A 88 FB mov bl,bh
- 047C 88 D7 mov bh,dl
- 047E 88 F2 mov dl,dh
- 0480 30 F6 xor dh,dh
- 0482 80 E9 08 sub cl,8h
- 0485 80 F9 00 cmp cl,0h
- 0488 74 0A je 494h
- 048A D1 EA shr dx,1h
- 048C D1 DB rcr bx,1h
- 048E D0 DC rcr ah,1h
- 0490 FE C9 dec cl
- 0492 75 F6 jne 48ah
- 0494 A0 1C 08 mov al,byte ptr [81ch]
- 0497 F6 06 1B 08 80 test byte ptr [81bh],80h
- 049C 75 14 jne 4b2h
- 049E 00 EC add ah,ch
- 04A0 11 F3 adc bx,si
- 04A2 11 FA adc dx,di
- 04A4 73 5F jnb 505h
- 04A6 D1 DA rcr dx,1h
- 04A8 D1 DB rcr bx,1h
- 04AA D0 DC rcr ah,1h
- 04AC FE C0 inc al
- 04AE 75 55 jne 505h
- 04B0 F9 stc
- 04B1 C3 ret
- 04B2 86 EC xchg ah,ch
- 04B4 87 F3 xchg bx,si
- 04B6 87 FA xchg dx,di
- 04B8 28 EC sub ah,ch
- 04BA 19 F3 sbb bx,si
- 04BC 19 FA sbb dx,di
- 04BE 73 14 jnb 4d4h
- 04C0 80 36 19 08 80 xor byte ptr [819h],80h
- 04C5 F6 D4 not ah
- 04C7 F7 D3 not bx
- 04C9 F7 D2 not dx
- 04CB 80 C4 01 add ah,1h
- 04CE 83 D3 00 adc bx,0h
- 04D1 83 D2 00 adc dx,0h
- 04D4 B1 05 mov cl,5h
- 04D6 80 FE 00 cmp dh,0h
- 04D9 75 14 jne 4efh
- 04DB 88 D6 mov dh,dl
- 04DD 88 FA mov dl,bh
- 04DF 88 DF mov bh,bl
- 04E1 88 E3 mov bl,ah
- 04E3 30 E4 xor ah,ah
- 04E5 2C 08 sub al,8h
- 04E7 72 15 jb 4feh
- 04E9 FE C9 dec cl
- 04EB 75 E9 jne 4d6h
- 04ED EB 0F jmp 4feh
- 04EF F6 C6 80 test dh,80h
- 04F2 75 11 jne 505h
- 04F4 D0 E4 shl ah,1h
- 04F6 D1 D3 rcl bx,1h
- 04F8 D1 D2 rcl dx,1h
- 04FA FE C8 dec al
- 04FC 75 F1 jne 4efh
- 04FE 31 C0 xor ax,ax
- 0500 31 DB xor bx,bx
- 0502 31 D2 xor dx,dx
- 0504 C3 ret
- 0505 80 E6 7F and dh,7fh
- 0508 32 36 19 08 xor dh,byte ptr [819h]
- 050C C3 ret
- 050D 55 push bp
- 050E 8B EC mov bp,sp
- 0510 53 push bx
- 0511 52 push dx
- 0512 56 push si
- 0513 57 push di
- 0514 FF 76 04 push word ptr [bp+4h]
- 0517 8B 76 04 mov si,word ptr [bp+4h]
- 051A 8B 04 mov ax,word ptr [si]
- 051C 8B 4C 02 mov cx,word ptr [si+2h]
- 051F 8B 54 04 mov dx,word ptr [si+4h]
- 0522 89 CB mov bx,cx
- 0524 8B FE mov di,si
- 0526 8B 4D 06 mov cx,word ptr [di+6h]
- 0529 8B 75 08 mov si,word ptr [di+8h]
- 052C 8B 7D 0A mov di,word ptr [di+0ah]
- 052F E8 11 00 call 543h
- 0532 5F pop di
- 0533 89 05 mov word ptr [di],ax
- 0535 89 5D 02 mov word ptr [di+2h],bx
- 0538 89 55 04 mov word ptr [di+4h],dx
- 053B 5F pop di
- 053C 5E pop si
- 053D 5A pop dx
- 053E 5B pop bx
- 053F 89 EC mov sp,bp
- 0541 5D pop bp
- 0542 C3 ret
- 0543 80 F9 00 cmp cl,0h
- 0546 75 03 jne 54bh
- 0548 E9 A4 00 jmp 5efh
- 054B 3C 00 cmp al,0h
- 054D 75 03 jne 552h
- 054F E9 A3 00 jmp 5f5h
- 0552 00 C8 add al,cl
- 0554 72 07 jb 55dh
- 0556 04 80 add al,80h
- 0558 72 0D jb 567h
- 055A E9 92 00 jmp 5efh
- 055D 04 80 add al,80h
- 055F 73 06 jnb 567h
- 0561 B0 01 mov al,1h
- 0563 B4 4C mov ah,4ch
- 0565 CD 21 int 21h
- 0567 89 0E 23 08 mov word ptr [823h],cx
- 056B 8B CA mov cx,dx
- 056D 31 F9 xor cx,di
- 056F F6 D5 not ch
- 0571 80 E5 80 and ch,80h
- 0574 88 2E 19 08 mov byte ptr [819h],ch
- 0578 80 CE 80 or dh,80h
- 057B 81 CF 00 80 or di,8000h
- 057F 89 36 25 08 mov word ptr [825h],si
- 0583 89 3E 27 08 mov word ptr [827h],di
- 0587 A3 1D 08 mov word ptr [81dh],ax
- 058A 89 1E 1F 08 mov word ptr [81fh],bx
- 058E 89 16 21 08 mov word ptr [821h],dx
- 0592 30 E4 xor ah,ah
- 0594 31 DB xor bx,bx
- 0596 31 D2 xor dx,dx
- 0598 BF 23 08 mov di,823h
- 059B B1 05 mov cl,5h
- 059D 47 inc di
- 059E 8A 2D mov ch,byte ptr [di]
- 05A0 80 FD 00 cmp ch,0h
- 05A3 75 0C jne 5b1h
- 05A5 88 DC mov ah,bl
- 05A7 88 FB mov bl,bh
- 05A9 88 D7 mov bh,dl
- 05AB 88 F2 mov dl,dh
- 05AD 30 F6 xor dh,dh
- 05AF EB 1C jmp 5cdh
- 05B1 BE 08 00 mov si,8h
- 05B4 D0 DD rcr ch,1h
- 05B6 73 0C jnb 5c4h
- 05B8 02 26 1E 08 add ah,byte ptr [81eh]
- 05BC 13 1E 1F 08 adc bx,word ptr [81fh]
- 05C0 13 16 21 08 adc dx,word ptr [821h]
- 05C4 D1 DA rcr dx,1h
- 05C6 D1 DB rcr bx,1h
- 05C8 D0 DC rcr ah,1h
- 05CA 4E dec si
- 05CB 75 E7 jne 5b4h
- 05CD FE C9 dec cl
- 05CF 75 CC jne 59dh
- 05D1 91 xchg ax,cx
- 05D2 9F lahf
- 05D3 F6 C6 80 test dh,80h
- 05D6 75 0E jne 5e6h
- 05D8 9E sahf
- 05D9 D0 D5 rcl ch,1h
- 05DB D1 D3 rcl bx,1h
- 05DD D1 D2 rcl dx,1h
- 05DF 80 F9 00 cmp cl,0h
- 05E2 74 02 je 5e6h
- 05E4 FE C9 dec cl
- 05E6 91 xchg ax,cx
- 05E7 32 36 19 08 xor dh,byte ptr [819h]
- 05EB 3C 00 cmp al,0h
- 05ED 75 06 jne 5f5h
- 05EF 31 C0 xor ax,ax
- 05F1 31 DB xor bx,bx
- 05F3 31 D2 xor dx,dx
- 05F5 C3 ret
- 05F6 55 push bp
- 05F7 8B EC mov bp,sp
- 05F9 53 push bx
- 05FA 52 push dx
- 05FB 56 push si
- 05FC 57 push di
- 05FD FF 76 04 push word ptr [bp+4h]
- 0600 8B 76 04 mov si,word ptr [bp+4h]
- 0603 8B 04 mov ax,word ptr [si]
- 0605 8B 4C 02 mov cx,word ptr [si+2h]
- 0608 8B 54 04 mov dx,word ptr [si+4h]
- 060B 89 CB mov bx,cx
- 060D 8B FE mov di,si
- 060F 8B 4D 06 mov cx,word ptr [di+6h]
- 0612 8B 75 08 mov si,word ptr [di+8h]
- 0615 8B 7D 0A mov di,word ptr [di+0ah]
- 0618 E8 11 00 call 62ch
- 061B 5F pop di
- 061C 89 05 mov word ptr [di],ax
- 061E 89 5D 02 mov word ptr [di+2h],bx
- 0621 89 55 04 mov word ptr [di+4h],dx
- 0624 5F pop di
- 0625 5E pop si
- 0626 5A pop dx
- 0627 5B pop bx
- 0628 89 EC mov sp,bp
- 062A 5D pop bp
- 062B C3 ret
- 062C 3C 00 cmp al,0h
- 062E 75 03 jne 633h
- 0630 E9 C2 FF jmp 5f5h
- 0633 28 C8 sub al,cl
- 0635 F5 cmc
- 0636 72 07 jb 63fh
- 0638 04 80 add al,80h
- 063A 72 0D jb 649h
- 063C E9 B0 FF jmp 5efh
- 063F 04 80 add al,80h
- 0641 73 06 jnb 649h
- 0643 B0 01 mov al,1h
- 0645 B4 4C mov ah,4ch
- 0647 CD 21 int 21h
- 0649 89 0E 23 08 mov word ptr [823h],cx
- 064D 8B CA mov cx,dx
- 064F 31 F9 xor cx,di
- 0651 F6 D5 not ch
- 0653 80 E5 80 and ch,80h
- 0656 88 2E 19 08 mov byte ptr [819h],ch
- 065A 80 CE 80 or dh,80h
- 065D 81 CF 00 80 or di,8000h
- 0661 89 36 25 08 mov word ptr [825h],si
- 0665 89 3E 27 08 mov word ptr [827h],di
- 0669 A2 1D 08 mov byte ptr [81dh],al
- 066C BF 22 08 mov di,822h
- 066F B1 05 mov cl,5h
- 0671 BE 08 00 mov si,8h
- 0674 3B 16 27 08 cmp dx,word ptr [827h]
- 0678 75 0A jne 684h
- 067A 3B 1E 25 08 cmp bx,word ptr [825h]
- 067E 75 04 jne 684h
- 0680 3A 26 24 08 cmp ah,byte ptr [824h]
- 0684 72 0C jb 692h
- 0686 2A 26 24 08 sub ah,byte ptr [824h]
- 068A 1B 1E 25 08 sbb bx,word ptr [825h]
- 068E 1B 16 27 08 sbb dx,word ptr [827h]
- 0692 F5 cmc
- 0693 D0 D5 rcl ch,1h
- 0695 4E dec si
- 0696 75 0A jne 6a2h
- 0698 88 2D mov byte ptr [di],ch
- 069A FE C9 dec cl
- 069C 74 1B je 6b9h
- 069E 4F dec di
- 069F BE 08 00 mov si,8h
- 06A2 D0 E4 shl ah,1h
- 06A4 D1 D3 rcl bx,1h
- 06A6 D1 D2 rcl dx,1h
- 06A8 73 CA jnb 674h
- 06AA 2A 26 24 08 sub ah,byte ptr [824h]
- 06AE 1B 1E 25 08 sbb bx,word ptr [825h]
- 06B2 1B 16 27 08 sbb dx,word ptr [827h]
- 06B6 F8 clc
- 06B7 EB D9 jmp 692h
- 06B9 D0 E4 shl ah,1h
- 06BB D1 D3 rcl bx,1h
- 06BD D1 D2 rcl dx,1h
- 06BF 72 11 jb 6d2h
- 06C1 3B 16 27 08 cmp dx,word ptr [827h]
- 06C5 75 0A jne 6d1h
- 06C7 3B 1E 25 08 cmp bx,word ptr [825h]
- 06CB 75 04 jne 6d1h
- 06CD 3A 26 24 08 cmp ah,byte ptr [824h]
- 06D1 F5 cmc
- 06D2 8B 0E 1D 08 mov cx,word ptr [81dh]
- 06D6 8B 1E 1F 08 mov bx,word ptr [81fh]
- 06DA 8B 16 21 08 mov dx,word ptr [821h]
- 06DE 9F lahf
- 06DF F6 C6 80 test dh,80h
- 06E2 75 09 jne 6edh
- 06E4 9E sahf
- 06E5 D0 D5 rcl ch,1h
- 06E7 D1 D3 rcl bx,1h
- 06E9 D1 D2 rcl dx,1h
- 06EB EB 0A jmp 6f7h
- 06ED FE C1 inc cl
- 06EF 75 06 jne 6f7h
- 06F1 B0 01 mov al,1h
- 06F3 B4 4C mov ah,4ch
- 06F5 CD 21 int 21h
- 06F7 E9 EC FE jmp 5e6h
|