| 12345678910111213141516171819202122232425262728293031323334353637383940414243444546474849505152535455565758596061626364656667686970717273747576777879808182838485868788899091929394959697989910010110210310410510610710810911011111211311411511611711811912012112212312412512612712812913013113213313413513613713813914014114214314414514614714814915015115215315415515615715815916016116216316416516616716816917017117217317417517617717817918018118218318418518618718818919019119219319419519619719819920020120220320420520620720820921021121221321421521621721821922022122222322422522622722822923023123223323423523623723823924024124224324424524624724824925025125225325425525625725825926026126226326426526626726826927027127227327427527627727827928028128228328428528628728828929029129229329429529629729829930030130230330430530630730830931031131231331431531631731831932032132232332432532632732832933033133233333433533633733833934034134234334434534634734834935035135235335435535635735835936036136236336436536636736836937037137237337437537637737837938038138238338438538638738838939039139239339439539639739839940040140240340440540640740840941041141241341441541641741841942042142242342442542642742842943043143243343443543643743843944044144244344444544644744844945045145245345445545645745845946046146246346446546646746846947047147247347447547647747847948048148248348448548648748848949049149249349449549649749849950050150250350450550650750850951051151251351451551651751851952052152252352452552652752852953053153253353453553653753853954054154254354454554654754854955055155255355455555655755855956056156256356456556656756856957057157257357457557657757857958058158258358458558658758858959059159259359459559659759859960060160260360460560660760860961061161261361461561661761861962062162262362462562662762862963063163263363463563663763863964064164264364464564664764864965065165265365465565665765865966066166266366466566666766866967067167267367467567667767867968068168268368468568668768868969069169269369469569669769869970070170270370470570670770870971071171271371471571671771871972072172272372472572672772872973073173273373473573673773873974074174274374474574674774874975075175275375475575675775875976076176276376476576676776876977077177277377477577677777877978078178278378478578678778878979079179279379479579679779879980080180280380480580680780880981081181281381481581681781881982082182282382482582682782882983083183283383483583683783883984084184284384484584684784884985085185285385485585685785885986086186286386486586686786886987087187287387487587687787887988088188288388488588688788888989089189289389489589689789889990090190290390490590690790890991091191291391491591691791891992092192292392492592692792892993093193293393493593693793893994094194294394494594694794894995095195295395495595695795895996096196296396496596696796896997097197297397497597697797897998098198298398498598698798898999099199299399499599699799899910001001100210031004100510061007100810091010101110121013101410151016101710181019 |
- # 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 E4 08 mov bx,8e4h
- 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 E4 08 mov bx,8e4h
- 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 E9 08 mov dx,8e9h
- 00E9 EB 03 jmp 0eeh
- 00EB BA E4 08 mov dx,8e4h
- 00EE B4 09 mov ah,9h
- 00F0 CD 21 int 21h
- 00F2 5D pop bp
- 00F3 C3 ret
- 00F4 BA F2 08 mov dx,8f2h
- 00F7 B4 09 mov ah,9h
- 00F9 CD 21 int 21h
- 00FB C3 ret
- 00FC BA EF 08 mov dx,8efh
- 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 F8 08 mov bx,word ptr [8f8h]
- 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 F8 08 mov word ptr [8f8h],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 F8 08 mov word ptr [8f8h],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 FA 08 00 00 mov word ptr [8fah],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 FA 08 00 80 mov word ptr [8fah],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 FA 08 xor di,word ptr [8fah]
- 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 FE 08 mov byte ptr [8feh],cl
- 043E 28 C1 sub cl,al
- 0440 80 F9 28 cmp cl,28h
- 0443 72 06 jb 44bh
- 0445 8A 0E FE 08 mov cl,byte ptr [8feh]
- 0449 EB DF jmp 42ah
- 044B 89 3E FA 08 mov word ptr [8fah],di
- 044F 80 26 FB 08 80 and byte ptr [8fbh],80h
- 0454 89 3E FC 08 mov word ptr [8fch],di
- 0458 30 36 FD 08 xor byte ptr [8fdh],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 FE 08 mov al,byte ptr [8feh]
- 0497 F6 06 FD 08 80 test byte ptr [8fdh],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 FB 08 80 xor byte ptr [8fbh],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 FB 08 xor dh,byte ptr [8fbh]
- 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 05 09 mov word ptr [905h],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 FB 08 mov byte ptr [8fbh],ch
- 0578 80 CE 80 or dh,80h
- 057B 81 CF 00 80 or di,8000h
- 057F 89 36 07 09 mov word ptr [907h],si
- 0583 89 3E 09 09 mov word ptr [909h],di
- 0587 A3 FF 08 mov word ptr [8ffh],ax
- 058A 89 1E 01 09 mov word ptr [901h],bx
- 058E 89 16 03 09 mov word ptr [903h],dx
- 0592 30 E4 xor ah,ah
- 0594 31 DB xor bx,bx
- 0596 31 D2 xor dx,dx
- 0598 BF 05 09 mov di,905h
- 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 00 09 add ah,byte ptr [900h]
- 05BC 13 1E 01 09 adc bx,word ptr [901h]
- 05C0 13 16 03 09 adc dx,word ptr [903h]
- 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 FB 08 xor dh,byte ptr [8fbh]
- 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 05 09 mov word ptr [905h],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 FB 08 mov byte ptr [8fbh],ch
- 065A 80 CE 80 or dh,80h
- 065D 81 CF 00 80 or di,8000h
- 0661 89 36 07 09 mov word ptr [907h],si
- 0665 89 3E 09 09 mov word ptr [909h],di
- 0669 A2 FF 08 mov byte ptr [8ffh],al
- 066C BF 04 09 mov di,904h
- 066F B1 05 mov cl,5h
- 0671 BE 08 00 mov si,8h
- 0674 3B 16 09 09 cmp dx,word ptr [909h]
- 0678 75 0A jne 684h
- 067A 3B 1E 07 09 cmp bx,word ptr [907h]
- 067E 75 04 jne 684h
- 0680 3A 26 06 09 cmp ah,byte ptr [906h]
- 0684 72 0C jb 692h
- 0686 2A 26 06 09 sub ah,byte ptr [906h]
- 068A 1B 1E 07 09 sbb bx,word ptr [907h]
- 068E 1B 16 09 09 sbb dx,word ptr [909h]
- 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 06 09 sub ah,byte ptr [906h]
- 06AE 1B 1E 07 09 sbb bx,word ptr [907h]
- 06B2 1B 16 09 09 sbb dx,word ptr [909h]
- 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 09 09 cmp dx,word ptr [909h]
- 06C5 75 0A jne 6d1h
- 06C7 3B 1E 07 09 cmp bx,word ptr [907h]
- 06CB 75 04 jne 6d1h
- 06CD 3A 26 06 09 cmp ah,byte ptr [906h]
- 06D1 F5 cmc
- 06D2 8B 0E FF 08 mov cx,word ptr [8ffh]
- 06D6 8B 1E 01 09 mov bx,word ptr [901h]
- 06DA 8B 16 03 09 mov dx,word ptr [903h]
- 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
- 06FA 55 push bp
- 06FB 8B EC mov bp,sp
- 06FD 53 push bx
- 06FE 52 push dx
- 06FF 56 push si
- 0700 57 push di
- 0701 8B 76 04 mov si,word ptr [bp+4h]
- 0704 8B 04 mov ax,word ptr [si]
- 0706 8B 4C 02 mov cx,word ptr [si+2h]
- 0709 8B 54 04 mov dx,word ptr [si+4h]
- 070C 89 CB mov bx,cx
- 070E 8B FE mov di,si
- 0710 8B 4D 06 mov cx,word ptr [di+6h]
- 0713 8B 75 08 mov si,word ptr [di+8h]
- 0716 8B 7D 0A mov di,word ptr [di+0ah]
- 0719 52 push dx
- 071A 31 FA xor dx,di
- 071C 5A pop dx
- 071D 79 06 jns 725h
- 071F 52 push dx
- 0720 D1 D2 rcl dx,1h
- 0722 5A pop dx
- 0723 EB 10 jmp 735h
- 0725 F6 C6 80 test dh,80h
- 0728 74 08 je 732h
- 072A E8 20 00 call 74dh
- 072D 74 06 je 735h
- 072F F5 cmc
- 0730 EB 03 jmp 735h
- 0732 E8 18 00 call 74dh
- 0735 B0 00 mov al,0h
- 0737 B4 00 mov ah,0h
- 0739 72 06 jb 741h
- 073B 74 08 je 745h
- 073D B0 01 mov al,1h
- 073F EB 04 jmp 745h
- 0741 B0 FF mov al,0ffh
- 0743 B4 FF mov ah,0ffh
- 0745 5F pop di
- 0746 5E pop si
- 0747 5A pop dx
- 0748 5B pop bx
- 0749 89 EC mov sp,bp
- 074B 5D pop bp
- 074C C3 ret
- 074D 38 C8 cmp al,cl
- 074F 75 0E jne 75fh
- 0751 3C 00 cmp al,0h
- 0753 74 0A je 75fh
- 0755 39 FA cmp dx,di
- 0757 75 06 jne 75fh
- 0759 39 F3 cmp bx,si
- 075B 75 02 jne 75fh
- 075D 38 EC cmp ah,ch
- 075F C3 ret
- 0760 55 push bp
- 0761 8B EC mov bp,sp
- 0763 53 push bx
- 0764 52 push dx
- 0765 56 push si
- 0766 57 push di
- 0767 FF 76 04 push word ptr [bp+4h]
- 076A 8B 76 04 mov si,word ptr [bp+4h]
- 076D 8B 04 mov ax,word ptr [si]
- 076F 8B 4C 02 mov cx,word ptr [si+2h]
- 0772 8B 54 04 mov dx,word ptr [si+4h]
- 0775 89 CB mov bx,cx
- 0777 3C A8 cmp al,0a8h
- 0779 73 4C jnb 7c7h
- 077B 89 C1 mov cx,ax
- 077D 89 DE mov si,bx
- 077F 89 D7 mov di,dx
- 0781 30 E4 xor ah,ah
- 0783 31 DB xor bx,bx
- 0785 31 D2 xor dx,dx
- 0787 80 E9 80 sub cl,80h
- 078A 76 4C jbe 7d8h
- 078C 80 F9 10 cmp cl,10h
- 078F 72 0C jb 79dh
- 0791 88 FC mov ah,bh
- 0793 89 D3 mov bx,dx
- 0795 BA FF FF mov dx,0ffffh
- 0798 80 E9 10 sub cl,10h
- 079B EB EF jmp 78ch
- 079D 80 F9 08 cmp cl,8h
- 07A0 72 0F jb 7b1h
- 07A2 88 DC mov ah,bl
- 07A4 88 FB mov bl,bh
- 07A6 88 D7 mov bh,dl
- 07A8 88 F2 mov dl,dh
- 07AA B6 FF mov dh,0ffh
- 07AC 80 E9 08 sub cl,8h
- 07AF EB EC jmp 79dh
- 07B1 80 F9 00 cmp cl,0h
- 07B4 74 0B je 7c1h
- 07B6 F9 stc
- 07B7 D1 DA rcr dx,1h
- 07B9 D1 DB rcr bx,1h
- 07BB D0 DC rcr ah,1h
- 07BD FE C9 dec cl
- 07BF 75 F5 jne 7b6h
- 07C1 21 FA and dx,di
- 07C3 21 F3 and bx,si
- 07C5 20 EC and ah,ch
- 07C7 5F pop di
- 07C8 89 05 mov word ptr [di],ax
- 07CA 89 5D 02 mov word ptr [di+2h],bx
- 07CD 89 55 04 mov word ptr [di+4h],dx
- 07D0 5F pop di
- 07D1 5E pop si
- 07D2 5A pop dx
- 07D3 5B pop bx
- 07D4 89 EC mov sp,bp
- 07D6 5D pop bp
- 07D7 C3 ret
- 07D8 B0 00 mov al,0h
- 07DA EB EB jmp 7c7h
|