8086 মেশিন কোড, 27 বাইট
unassembled:
STLOOP:
AC LODSB ; load byte from SI into AL, advance SI
8B D0 MOV DX, AX ; save original char in DL
0C 20 OR AL, 020H ; lowercase the char
3C 61 CMP AL, 'a' ; is char less than 'a'?
7C 0F JL STCHR ; if so, do not rotate
3C 7A CMP AL, 'z' ; is char greater than 'z'?
7F 0B JG STCHR ; if so, do not rotate
B6 0D MOV DH, 'n'-'a' ; add or subtract 13
3C 6E CMP AL, 'n' ; is char less than 'n'?
7C 02 JL ADD13 ; if so, add positive 13
F6 DE NEG DH ; otherwise add -13
ADD13:
92 XCHG AX, DX ; original char back to AL
02 C4 ADD AL, AH ; add 13 or -13 to original char
STCHR:
AA STOSB ; store converted byte into DI, advance DI
E2 E5 LOOP STLOOP ; continue loop through string
ইনপুট স্ট্রিং ইন SI
, দৈর্ঘ্য CX
। আউটপুট স্ট্রিং বাফার এ DI
।
আইবিএম পিসি ডস প্রোগ্রাম আউটপুট পরীক্ষা করুন:
ডাউনলোড করুন R13.COM পরীক্ষা প্রোগ্রাম (পিসি ডস)।