79 lines
1.6 KiB
Plaintext
79 lines
1.6 KiB
Plaintext
/*
|
|
Forum post
|
|
Originally posted at: http://www.lingubender.com/forum/index.php
|
|
Forum Path: Index\Programming\Assembly
|
|
Author: Jakash3
|
|
Date: Tue July 20, 2010 3:09 pm (Pacific Time)
|
|
*/
|
|
It took me 2 days, but I've managed to make a program in ascii.
|
|
Using pure characters between 0x20 and 0x7E this program source is made of
|
|
pure human readable ascii. This is a hello world program, paste to notepad
|
|
and save with .com extension (the following code contains no line breaks):
|
|
|
|
X5))%@IP5YI5Y@5P!%PAP[55!5e 5O!54(P^)7CC)7SZBBXPSRABCABCABCABCABCABCABCABCABCZ[XH+H*hello world!$
|
|
|
|
Assembly de-compilation (fasm):
|
|
--------------------
|
|
org 100h
|
|
use16
|
|
pop ax
|
|
xor ax,2929h
|
|
and ax,4940h ;AX=0900
|
|
push ax
|
|
xor ax,4959h
|
|
xor ax,4059h ;AX=0
|
|
xor ax,2150h
|
|
and ax,4150h ;AX=150
|
|
push ax
|
|
pop bx ;BX=150
|
|
xor ax,2135h
|
|
xor ax,2065h ;AX=0
|
|
xor ax,214fh
|
|
xor ax,2834h ;AX=097B
|
|
push ax
|
|
pop si ;SI=097B
|
|
sub [bx],si ;[150] = int 21
|
|
inc bx ;BX=151
|
|
inc bx ;BX=152
|
|
sub [bx],si ;[152] = int 20
|
|
push bx
|
|
pop dx ;DX=152
|
|
inc dx ;DX=153
|
|
inc dx ;DX=154
|
|
pop ax ;AX=0900
|
|
push ax
|
|
push bx
|
|
push dx ;Save AX,BX, and DX
|
|
inc cx ;The rest are just memory fillers
|
|
inc dx
|
|
inc bx
|
|
inc cx
|
|
inc dx
|
|
inc bx
|
|
inc cx
|
|
inc dx
|
|
inc bx
|
|
inc cx
|
|
inc dx
|
|
inc bx
|
|
inc cx
|
|
inc dx
|
|
inc bx
|
|
inc cx
|
|
inc dx
|
|
inc bx
|
|
inc cx
|
|
inc dx
|
|
inc bx
|
|
inc cx
|
|
inc dx
|
|
inc bx
|
|
inc cx
|
|
inc dx
|
|
inc bx
|
|
pop dx ;DX=0154
|
|
pop bx ;BX=0150
|
|
pop ax ;AX=0900
|
|
db 48h,2bh,48h,2ah ;for int 21 and int 20
|
|
db "hello world!$" ;your message goes here
|