On Fri, 23 Dec 2022 15:54:28 +0000
"Kerr-Mudd, John" <admin@127.0.0.1> wrote:
[[unix]]
$ more bin/rot13
#!/bin/sh
tr '[A-Za-z]' '[N-ZA-Mn-za-m]'
tr.com: uses DOS int 21 for fileIO
[100 byte version]
Only example I've tested:
tr 'A-Za-z' 'N-ZA-Mn-za-m' {<con}
example text to unrot:
Onebarff Znetnerg Gungpure!
Better^w Smaller version (94 bytes):
Now allows >1 space between the strings! (but no error checking)
d 100 l5A1637:0100 99 BF 5A 01-AA FE C0 75-FB B3 83 B0-20 89 DF F2 ..Z....u.... ... 1637:0110 AE F3 AE 89-FE 80 F2 01-74 04 88 86-5A 01 95 87 ........t...Z... 1637:0120 DE 80 3C 2D-75 08 40 3A-44 01 76 E9-46 46 AC 3C ..<-u.@:D.v.FF.< 1637:0130 27 75 E2 BA-5A 02 31 DB-89 D6 89 F7-B9 A5 FD B4 'u..Z.1......... 1637:0140 3F CD 21 91-E3 13 BB 5A-01 51 AC D7-AA E2 FB 59 ?.!....Z.Q.....Y 1637:0150 BB 01-00 B4 40 CD-21 EB DD C3 ....@.!...
q
u 100 l5A1637:0100 99 cwd
On Fri, 30 Dec 2022 10:24:29 +0000
"Kerr-Mudd, John" <admin@127.0.0.1> wrote:
On Fri, 23 Dec 2022 15:54:28 +0000
"Kerr-Mudd, John" <admin@127.0.0.1> wrote:
[[unix]]
$ more bin/rot13
#!/bin/sh
tr '[A-Za-z]' '[N-ZA-Mn-za-m]'
tr.com: uses DOS int 21 for fileIO
[100 byte version]
Only example I've tested:
tr 'A-Za-z' 'N-ZA-Mn-za-m' {<con}
example text to unrot:
Onebarff Znetnerg Gungpure!
Now allows >1 space between the strings! (but no error checking)
Now 90 bytes, assumes that at start ax=0,bh=0 and that cx > lth of parameters.
I think that's as small as I can manage.
d 100 l5A1637:0100 99 BF 5A 01-AA FE C0 75-FB B3 83 B0-20 89 DF F2 ..Z....u.... ... 1637:0110 AE F3 AE 89-FE 80 F2 01-74 04 88 85-5A 01 97 87 ........t...Z... 1637:0120 DE 80 3C 2D-75 08 40 3A-44 01 76 E9-46 46 AC 3C ..<-u.@:D.v.FF.< 1637:0130 27 75 E2 BA-5A 02 31 DB-89 D6 89 F7-B9 A5 FD B4 'u..Z.1......... 1637:0140 3F CD 21 91-E3 13 BB 5A-01 51 AC D7-AA E2 FB 59 ?.!....Z.Q.....Y 1637:0150 BB 01-00 B4 40 CD-21 EB DD C3 ....@.!...
q
Wolfgang, would you like it in asm? here it is -change bp to di in the next 2 lines:
u 100 l5A1637:0100 99 cwd
1637:0101 BF 5A 01 mov di,015A
1637:0104 AA stosb
1637:0105 FE C0 inc al
1637:0107 75 FB jnz 0104
1637:0109 B3 83 mov bl,83
1637:010B B0 20 mov al,20
1637:010D 89 DF mov di,bx
1637:010F F2 AE repnz scasb
1637:0111 F3 AE repz scasb
1637:0113 89 FE mov si,di
1637:0115 80 F2 01 xor dl,01
1637:0118 74 04 jz 011E
1637:011A 88 86 5A 01 mov [bp+015A],al
1637:011E 95 xchg ax,bp
1637:011F 87 DE xchg bx,si
1637:0121 80 3C 2D cmp byte [si],2D
1637:0124 75 08 jnz 012E
1637:0126 40 inc ax
1637:0127 3A 44 01 cmp al,[si+01]
1637:012A 76 E9 jbe 0115
1637:012C 46 inc si
1637:012D 46 inc si
1637:012E AC lodsb
1637:012F 3C 27 cmp al,27
1637:0131 75 E2 jnz 0115
1637:0133 BA 5A 02 mov dx,025A
1637:0136 31 DB xor bx,bx
1637:0138 89 D6 mov si,dx
1637:013A 89 F7 mov di,si
1637:013C B9 A5 FD mov cx,FDA5
1637:013F B4 3F mov ah,3F
1637:0141 CD 21 int 21
1637:0143 91 xchg ax,cx
1637:0144 E3 13 jcxzw 0159
1637:0146 BB 5A 01 mov bx,015A
1637:0149 51 push cx
1637:014A AC lodsb
1637:014B D7 xlat [bx]
1637:014C AA stosb
1637:014D E2 FB loopw 014A
1637:014F 59 pop cx
1637:0150 BB 01 00 mov bx,0001
1637:0153 B4 40 mov ah,40
1637:0155 CD 21 int 21
1637:0157 EB DD jmp 0136
1637:0159 C3 ret
--
Bah, and indeed Humbug.
example text to unrot:
Onebarff Znetnerg Gungpure!
Now allows >1 space between the strings! (but no error checking)Now 90 bytes, assumes that at start ax=0,bh=0 and that cx > lth of
parameters.
I think that's as small as I can manage.
[duff code dump]
I see no-one (including me,til now!) has tested it. it works under grdb because bp is 0 at start. Not in native DOS/XP cmd box though.
Fix by using di instead of bp.
d 100 l5A1637:0100 99 BF 5A 01-AA FE C0 75-FB B3 83 B0-20 89 DF F2 ..Z....u.... ... 1637:0110 AE F3 AE 89-FE 80 F2 01-74 04 88 85-5A 01 97 87 ........t...Z... 1637:0120 DE 80 3C 2D-75 08 40 3A-44 01 76 E9-46 46 AC 3C ..<-u.@:D.v.FF.< 1637:0130 27 75 E2 BA-5A 02 31 DB-89 D6 89 F7-B9 A5 FD B4 'u..Z.1......... 1637:0140 3F CD 21 91-E3 13 BB 5A-01 51 AC D7-AA E2 FB 59 ?.!....Z.Q.....Y 1637:0150 BB 01-00 B4 40 CD-21 EB DD C3 ....@.!...
q
Wolfgang, would you like it in asm? here it is -
__change bp to di in the next 2 lines:u 100 l5A1637:0100 99 cwd
1637:0101 BF 5A 01 mov di,015A
1637:0104 AA stosb
1637:0105 FE C0 inc al
1637:0107 75 FB jnz 0104
1637:0109 B3 83 mov bl,83
1637:010B B0 20 mov al,20
1637:010D 89 DF mov di,bx
1637:010F F2 AE repnz scasb
1637:0111 F3 AE repz scasb
1637:0113 89 FE mov si,di
1637:0115 80 F2 01 xor dl,01
1637:0118 74 04 jz 011E
1637:011A 88 86 5A 01 mov [bp+015A],al
1637:011E 95 xchg ax,bp
1637:011A 88 85 5A 01 mov [di+015A],al
1637:011E 97 xchg ax,di
1637:011F 87 DE xchg bx,si
1637:0121 80 3C 2D cmp byte [si],2D
1637:0124 75 08 jnz 012E
1637:0126 40 inc ax
1637:0127 3A 44 01 cmp al,[si+01]
1637:012A 76 E9 jbe 0115
1637:012C 46 inc si
1637:012D 46 inc si
1637:012E AC lodsb
1637:012F 3C 27 cmp al,27
1637:0131 75 E2 jnz 0115
1637:0133 BA 5A 02 mov dx,025A
1637:0136 31 DB xor bx,bx
1637:0138 89 D6 mov si,dx
1637:013A 89 F7 mov di,si
1637:013C B9 A5 FD mov cx,FDA5
1637:013F B4 3F mov ah,3F
1637:0141 CD 21 int 21
1637:0143 91 xchg ax,cx
1637:0144 E3 13 jcxzw 0159
1637:0146 BB 5A 01 mov bx,015A
1637:0149 51 push cx
1637:014A AC lodsb
1637:014B D7 xlat [bx]
1637:014C AA stosb
1637:014D E2 FB loopw 014A
1637:014F 59 pop cx
1637:0150 BB 01 00 mov bx,0001
1637:0153 B4 40 mov ah,40
1637:0155 CD 21 int 21
1637:0157 EB DD jmp 0136
1637:0159 C3 ret
On 31/12/2022 21:52, Kerr-Mudd, John wrote:
example text to unrot:
Onebarff Znetnerg Gungpure!
Now allows >1 space between the strings! (but no error checking)Now 90 bytes, assumes that at start ax=0,bh=0 and that cx > lth of
parameters.
I think that's as small as I can manage.
Wolfgang, would you like it in asm? here it is -
:) Happy New Year!
I actually had no idea what this is supposed to do...
if it is something like ROT13 I dunno the required algo. but
code parts look suspicious as if compiled by good old BASIC.
u 100 l5A1637:0100 99 cwd
1637:0101 BF 5A 01 mov di,015A ; Xlat Table after code
1637:0104 AA stosb
1637:0105 FE C0 inc al ; full range 0-255
1637:0107 75 FB jnz 0104
1637:0109 B3 83 mov bl,83 ; pt to PSP parms, after 1st string's initial quote
1637:010B B0 20 mov al,20
1637:010D 89 DF mov di,bx
1637:010F F2 AE repnz scasb ; find gap
1637:0111 F3 AE repz scasb ;;; skip intermediate spaces
1637:0113 89 FE mov si,di ; after 1st quote of 2nd string
1637:0115 80 F2 01 xor dl,01
1637:0118 74 04 jz 011E
1637:011A 88 85 5A 01 mov [di+015A],al
1637:011E 97 xchg ax,di
1637:011F 87 DE xchg bx,si
1637:0121 80 3C 2D cmp byte [si],2D ; processing a range? >> 1637:0124 75 08 jnz 012E
1637:0126 40 inc ax
1637:0127 3A 44 01 cmp al,[si+01]
1637:012A 76 E9 jbe 0115
1637:012C 46 inc si
1637:012D 46 inc si
1637:012E AC lodsb
1637:012F 3C 27 cmp al,27 ; end of string
1637:0131 75 E2 jnz 0115
1637:0133 BA 5A 02 mov dx,025A ; IO area
1637:0136 31 DB xor bx,bx
1637:0138 89 D6 mov si,dx
1637:013A 89 F7 mov di,si
1637:013C B9 A5 FD mov cx,FDA5 ; remainder of seg as IO area
1637:013F B4 3F mov ah,3F ; read from STDIN
1637:0141 CD 21 int 21
1637:0143 91 xchg ax,cx
1637:0144 E3 13 jcxzw 0159 ; no more input
1637:0146 BB 5A 01 mov bx,015A
1637:0149 51 push cx
1637:014A AC lodsb
1637:014B D7 xlat [bx]
1637:014C AA stosb
1637:014D E2 FB loopw 014A
1637:014F 59 pop cx
1637:0150 BB 01 00 mov bx,0001
1637:0153 B4 40 mov ah,40 ; write to STDOUT
1637:0155 CD 21 int 21
1637:0157 EB DD jmp 0136
1637:0159 C3 ret
On Mon, 2 Jan 2023 11:53:55 +0100
wolfgang kern <nowhere@nospicedham.nevernet.at> wrote:
On 31/12/2022 21:52, Kerr-Mudd, John wrote:
[] it's an implementation of unix's
'tr' utility that unix users use to do rot13.
rot13:
tr '[A-Za-z]' '[N-ZA-Mn-za-m]'
or
tr 'A-Za-z' 'N-ZA-Mn-za-m'
(luckily both work as the square brackets are translated to themselves!)
d 100 l9416AB:0100 BE 94 01 88-18 FE C3 75-FA B3 83 B0-20 89 DF F2 .......u.... ... 16AB:0110 AE F3 AE 89-C5 30 CD 74-02 88 02 95-87 FB 80 3D .....0.t.......= 16AB:0120 2D 75 07 40-3A 45 01 76-EC AF 8A 05-47 3C 5C 74 -u.@:E.v....G<\t 16AB:0130 26 3C 27 75-E0 B6 03 B4-3F 31 DB 89-C1 CD 21 89 &<'u....?1....!. 16AB:0140 D7 91 E3 C2-89 F3 51 8A-05 D7 AA E2-FA 59 B4 40 ......Q......Y.@ 16AB:0150 BB 01 00 CD-21 EB E0 8A-05 47 3C 78-75 13 8A 05 ....!....G<xu... 16AB:0160 47 24 4F D4-37 92 30 CF-75 F4 92 88-D4 D5 10 EB G$O.7.0.u....... 16AB:0170 A4 51 57 BF-84 01 B9 08-00 F2 AE 75-03 8A 45 07 .QW........u..E. 16AB:0180 5F 59 EB 91-61 62 65 66-6E 72 74 76-07 08 1B 0C _Y..abefnrtv.... 16AB:0190-0A 0D 09 0B ....
q
example text to unrot:
Onebarff Znetnerg Gungpure!
u 100 l2E1637:0100 B6 02 mov dh,02
d 100 l2E1637:0100 B6 02 B4 3F-89 C1 CD 21-89 D6 91 E3-20 51 AC 24 ...?...!.... Q.$ 1637:0110 DF 2C 41 3C-1A 18 E4 3C-0D D6 25 1A-F3 00 E0 00 .,A<...<..%..... 1637:0120 44 FF-E2 EA 59 43-B4 40 CD 21-4B EB D5 C3 D...YC.@.!K...
q
Finally, a rot13 program for DOS that's smaller than the standard version with jumps:
u 100 l2E1637:0100 B6 02 mov dh,02
1637:0102 B4 3F mov ah,3F
1637:0104 89 C1 mov cx,ax
1637:0106 CD 21 int 21
1637:0108 89 D6 mov si,dx
1637:010A 91 xchg ax,cx
1637:010B E3 20 jcxzw 012D
1637:010D 51 push cx
1637:010E AC lodsbFolding to lowercase ascii
; main rot13 rtn
1637:010F 24 DF and al,DF
1637:0111 2C 41 sub al,41Checking that it was in-range
1637:0113 3C 1A cmp al,1A
1637:0115 18 E4 sbb ah,ah
1637:0117 3C 0D cmp al,0D
1637:0119 D6 salc
1637:011A 25 1A F3 and ax,F31A
1637:011D 00 E0 add al,ah
1637:011F 00 44 FF add [si-01],al
1637:0122 E2 EA loopw 010E
1637:0124 59 pop cx
1637:0125 43 inc bx
1637:0126 B4 40 mov ah,40
1637:0128 CD 21 int 21
1637:012A 4B dec bx
1637:012B EB D5 jmp 0102
1637:012D C3 ret
d 100 l2E1637:0100 B6 02 B4 3F-89 C1 CD 21-89 D6 91 E3-20 51 AC 24 ...?...!.... Q.$ 1637:0110 DF 2C 41 3C-1A 18 E4 3C-0D D6 25 1A-F3 00 E0 00 .,A<...<..%..... 1637:0120 44 FF-E2 EA 59 43-B4 40 CD 21-4B EB D5 C3 D...YC.@.!K...
q
Kerr-Mudd, John wrote:
Finally, a rot13 program for DOS that's smaller than the standard version with jumps:
;dirty save of 1 byte by not fully specifying the IOAREAu 100 l2E1637:0100 B6 02 mov dh,02
;dirty save of 1 byte by not fully specifying the IOAREA_Lth1637:0102 B4 3F mov ah,3F
1637:0104 89 C1 mov cx,ax
1637:0106 CD 21 int 21
1637:0108 89 D6 mov si,dx
1637:010A 91 xchg ax,cx
1637:010B E3 20 jcxzw 012D
1637:010D 51 push cx
The loop starts here of course!
1637:010E AC lodsbFolding to lowercase ascii
; main rot13 rtn
1637:010F 24 DF and al,DF
1637:0111 2C 41 sub al,41Checking that it was in-range
1637:0113 3C 1A cmp al,1A
1637:0115 18 E4 sbb ah,ah
1637:0117 3C 0D cmp al,0D
Very nice, handling plus/minus for upper and lower case!
1637:0119 D6 salc
1637:011A 25 1A F3 and ax,F31A
1637:011D 00 E0 add al,ah
1637:011F 00 44 FF add [si-01],al
1637:0122 E2 EA loopw 010E
1637:0124 59 pop cx
1637:0125 43 inc bx
1637:0126 B4 40 mov ah,40
1637:0128 CD 21 int 21
1637:012A 4B dec bx
1637:012B EB D5 jmp 0102
1637:012D C3 ret
d 100 l2E1637:0100 B6 02 B4 3F-89 C1 CD 21-89 D6 91 E3-20 51 AC 24 ...?...!.... Q.$ 1637:0110 DF 2C 41 3C-1A 18 E4 3C-0D D6 25 1A-F3 00 E0 00 .,A<...<..%..... 1637:0120 44 FF-E2 EA 59 43-B4 40 CD 21-4B EB D5 C3 D...YC.@.!K...
q
u 100 l2E1637:0100 BA 0D 1A mov dx,1A0D
d 100 l2E1637:0100 BA 0D 1A B4-3F 89 C1 CD-21 89 D6 91-E3 1F 51 AC ....?...!.....Q. 1637:0110 24 DF 2C 41-38 D0 18 E4-38 F0 D6 21-D0 28 C4 00 $.,A8...8..!.(.. 1637:0120 64 FF E2 EB-59 43 B4 40-CD 21 4B EB-D6 C3 d...YC.@.!K...
q
On Wed, 25 Jan 2023 15:03:26 +0100
Terje Mathisen <terje.mathisen@nospicedham.tmsw.no> wrote:
Kerr-Mudd, John wrote:
Finally, a rot13 program for DOS that's smaller than the standard version with jumps:
simpler? version; hardcoded IOAREA, rotamt in dl
u 100 l2E1637:0100 BA 0D 1A mov dx,1A0D
1637:0103 B4 3F mov ah,3F
1637:0105 89 C1 mov cx,ax
u 100 l2E1637:0100 BA 0D 1A mov dx,1A0D
d 100 l2E1637:0100 BA 0D 1A B4-3F B5 E4 CD-21 89 D6 91-E3 1F 51 AC ....?...!.....Q. 1637:0110 24 DF 2C 41-38 D0 18 E4-38 F0 D6 21-D0 28 C4 00 $.,A8...8..!.(.. 1637:0120 64 FF-E2 EB 59 43-B4 40 CD 21-4B EB D6 C3 d...YC.@.!K...
q--
On Wed, 25 Jan 2023 17:02:43 +0000
"Kerr-Mudd, John" <admin@nospicedham.127.0.0.1> wrote:
Kerr-Mudd, John wrote:
Finally, a rot13 program for DOS that's smaller than the standard version
with jumps:
[]simpler? version; hardcoded IOAREA, rotamt in dl
u 100 l2E1637:0100 BA 0D 1A mov dx,1A0D
1637:0103 B4 3F mov ah,3F
1637:0105 89 C1 mov cx,ax
Nasty hack gave poor use of seg for R/W buffer; replace with
mov ch,E4 ; (ie. FF-1A-1)
[]
u 100 l2D1637:0100 BA 0D 1A mov dx,1A0D
d 100 l2D1637:0100 BA 0D 1A B4-3F B5 C3 CD-21 89 D6 91-E3 F8 51 AC ....?...!.....Q. 1637:0110 24 DF 2C 41-38 D0 18 E4-38 F0 D6 21-D0 28 C4 00 $.,A8...8..!.(.. 1637:0120 64-FF E2 EB 59-43 B4 40 CD-21 4B EB D6 d...YC.@.!K..
q
On Fri, 27 Jan 2023 09:57:22 +0000
"Kerr-Mudd, John" <admin@nospicedham.127.0.0.1> wrote:
On Wed, 25 Jan 2023 17:02:43 +0000
"Kerr-Mudd, John" <admin@nospicedham.127.0.0.1> wrote:
[]
Kerr-Mudd, John wrote:
Finally, a rot13 program for DOS that's smaller than the standard version
with jumps:
'Better' still use C3 (embedded 'ret') to reduce prog to 45 bytes.[]
u 100 l2D16AD:0100 BA E6 0D mov dx,0DE6
d 100 l2D16AD:0100 BA E6 0D B4-3F B5 C3 CD-21 91 E3 FA-89 D6 51 AC ....?...!.....Q. 16AD:0110 24 DF 2C 41-2C 1A 18 E4-00 F0 D6 21-D0 00 E0 00 $.,A,......!.... 16AD:0120 64-FF E2 EB 59-43 B4 40 CD-21 4B EB D6 d...YC.@.!K..
q
u 100 l4016AD:0100 BA E6 0D mov dx,0DE6
d 100 l4016AD:0100 BA E6 0D BE-82 00 AD 2D-30 30 72 04-86 E0 D5 0A .......-00r..... 16AD:0110 3C 00 72 02-88 C6 B4 3F-B5 C3 CD 21-91 E3 FA 89 <.r....?...!.... 16AD:0120 D6 51 AC 24-DF 2C 41 2C-1A 18 E4 00-F0 D6 21 D0 .Q.$.,A,......!. 16AD:0130 00 E0 00 44-FF E2 EB 59-43 B4 40 CD-21 4B EB D6 ...D...YC.@.!K..
q
And a version that allows the rot amount as a parameter in 64 bytes:
example usage:
rot 3<input.txt
u 100 l40
16AD:0100 BA E6 0D mov dx,0DE6Instead of
16AD:0103 BE 82 00 mov si,0082use:
16AD:0106 AD lodsw
16AD:0107 2D 30 30 sub ax,3030
16AD:010A 72 04 jb 0110
16AD:010C 86 E0 xchg ah,al
16AD:010E D5 0A aad 0A
16AD:0110 3C 00 cmp al,00
16AD:0112 72 02 jb 0116
16AD:0114 88 C6 mov dh,al
16AD:0116 B4 3F mov ah,3F
16AD:0118 B5 C3 mov ch,C3
16AD:011A CD 21 int 21
16AD:011C 91 xchg ax,cx
16AD:011D E3 FA jcxzw 0119
16AD:011F 89 D6 mov si,dx
16AD:0121 51 push cx
16AD:0122 AC lodsb
16AD:0123 24 DF and al,DF
16AD:0125 2C 41 sub al,41
16AD:0127 2C 1A sub al,1A
16AD:0129 18 E4 sbb ah,ah
16AD:012B 00 F0 add al,dh
16AD:012D D6 salc
16AD:012E 21 D0 and ax,dx
16AD:0130 00 E0 add al,ah
16AD:0132 00 44 FF add [si-01],al
16AD:0135 E2 EB loopw 0122
16AD:0137 59 pop cx
16AD:0138 43 inc bx
16AD:0139 B4 40 mov ah,40
16AD:013B CD 21 int 21
16AD:013D 4B dec bx
16AD:013E EB D6 jmp 0116
d 100 l4016AD:0100 BA E6 0D BE-82 00 AD 2D-30 30 72 04-86 E0 D5 0A .......-00r..... 16AD:0110 3C 00 72 02-88 C6 B4 3F-B5 C3 CD 21-91 E3 FA 89 <.r....?...!.... 16AD:0120 D6 51 AC 24-DF 2C 41 2C-1A 18 E4 00-F0 D6 21 D0 .Q.$.,A,......!. 16AD:0130 00 E0 00 44-FF E2 EB 59-43 B4 40 CD-21 4B EB D6 ...D...YC.@.!K..
q
--
Bah, and indeed Humbug.
On Fri, 27 Jan 2023 13:30:13 +0000Oh bother, make that al:
"Kerr-Mudd, John" <admin@nospicedham.127.0.0.1> wrote:
On Fri, 27 Jan 2023 09:57:22 +0000
"Kerr-Mudd, John" <admin@nospicedham.127.0.0.1> wrote:
On Wed, 25 Jan 2023 17:02:43 +0000
"Kerr-Mudd, John" <admin@nospicedham.127.0.0.1> wrote:
[]
Kerr-Mudd, John wrote:
Finally, a rot13 program for DOS that's smaller than the standard version
with jumps:
[]
'Better' still use C3 (embedded 'ret') to reduce prog to 45 bytes.[]
One that works even if the rot amount isn't 13 (ie the older version
didn't!) also 45 bytes:
u 100 l2D16AD:0100 BA E6 0D mov dx,0DE6
16AD:0103 B4 3F mov ah,3F
16AD:0105 B5 C3 mov ch,C3
16AD:0107 CD 21 int 21
16AD:0109 91 xchg ax,cx
16AD:010A E3 FA jcxzw 0106
16AD:010C 89 D6 mov si,dx
16AD:010E 51 push cx
16AD:010F AC lodsb
16AD:0110 24 DF and al,DF
16AD:0112 2C 41 sub al,41
16AD:0114 2C 1A sub al,1A
16AD:0116 18 E4 sbb ah,ah
16AD:0118 00 F0 add al,dh
16AD:011A D6 salc
16AD:011B 21 D0 and ax,dx
16AD:011D 00 E0 add al,ah
16AD:011F 00 64 FF add [si-01],ah
16AD:0122 E2 EB loopw 010F-----------^44
16AD:0124 59 pop cx
16AD:0125 43 inc bx
16AD:0126 B4 40 mov ah,40
16AD:0128 CD 21 int 21
16AD:012A 4B dec bx
16AD:012B EB D6 jmp 0103
d 100 l2D16AD:0100 BA E6 0D B4-3F B5 C3 CD-21 91 E3 FA-89 D6 51 AC ....?...!.....Q. 16AD:0110 24 DF 2C 41-2C 1A 18 E4-00 F0 D6 21-D0 00 E0 00 $.,A,......!.... 16AD:0120 64-FF E2 EB 59-43 B4 40 CD-21 4B EB D6 d...YC.@.!K..
q
Sysop: | Keyop |
---|---|
Location: | Huddersfield, West Yorkshire, UK |
Users: | 308 |
Nodes: | 16 (2 / 14) |
Uptime: | 93:20:34 |
Calls: | 6,923 |
Calls today: | 1 |
Files: | 12,382 |
Messages: | 5,434,161 |