Compare commits

..

2 commits

Author SHA1 Message Date
53b4945844 1-3 complete 2026-01-28 17:19:32 +01:00
873159c5ee 1-3: All arithmetics complete 2026-01-28 16:00:42 +01:00
12 changed files with 1154 additions and 7 deletions

View file

@ -1,3 +1,4 @@
#! /usr/bin/env bash #! /usr/bin/env bash
SCRIPT_LOC=$( dirname -- $( readlink -f -- "$0"; ))
gcc 1-1/decoder.c -O0 -g -gdwarf -o 1-1/8086coded gcc $SCRIPT_LOC/decoder.c -O0 -g -gdwarf -o $SCRIPT_LOC/8086coded

View file

@ -1,4 +1,5 @@
#! /usr/env/bin bash #! /usr/bin/env bash
SCRIPT_LOC=$( dirname -- $( readlink -f -- "$0"; ))
nasm -f bin 1-1/listing-38.asm -o 1-1/listing-37 nasm -f bin $SCRIPT_LOC/listing-39.asm -o $SCRIPT_LOC/listing-39
nasm -f bin 1-1/listing-38.asm -o 1-1/listing-38 nasm -f bin $SCRIPT_LOC/listing-40.asm -o $SCRIPT_LOC/listing-40

View file

@ -1,3 +1,4 @@
#! /usr/bin/env bash #! /usr/bin/env bash
SCRIPT_LOC=$( dirname -- $( readlink -f -- "$0"; ))
gcc 1-2/decoder.c -O0 -g -gdwarf -o 1-2/8086coded gcc $SCRIPT_LOC/decoder.c -O0 -g -gdwarf -o $SCRIPT_LOC/8086coded

Binary file not shown.

View file

@ -1,4 +1,5 @@
#! /usr/bin/env bash #! /usr/bin/env bash
SCRIPT_LOC=$( dirname -- $( readlink -f -- "$0"; ))
nasm -f bin 1-2/listing-39.asm -o 1-2/listing-39 nasm -f bin $SCRIPT_LOC/listing-39.asm -o $SCRIPT_LOC/listing-39
nasm -f bin 1-2/listing-40.asm -o 1-2/listing-40 nasm -f bin $SCRIPT_LOC/listing-40.asm -o $SCRIPT_LOC/listing-40

BIN
1-3/8086coded Executable file

Binary file not shown.

4
1-3/compile.sh Executable file
View file

@ -0,0 +1,4 @@
#! /usr/bin/env bash
SCRIPT_LOC=$( dirname -- $( readlink -f -- "$0"; ))
gcc $SCRIPT_LOC/decoder.c -O0 -g -gdwarf -o $SCRIPT_LOC/8086coded

1004
1-3/decoder.c Normal file

File diff suppressed because it is too large Load diff

1
1-3/listing-41 Normal file
View file

@ -0,0 +1 @@
uu<><EFBFBD><E580A2>|<7C><EFBFBD><E4BE94><EFBFBD><EFBFBD><EFBFBD><EFBFBD>黌鑿諚舍窕珞゙矇獺聒

103
1-3/listing-41.asm Normal file
View file

@ -0,0 +1,103 @@
;bits 16
;
;add bx, [bx+si]
;add bx, [bp]
;add si, 2
;add bp, 2
;add cx, 8
;add bx, [bp + 0]
;add cx, [bx + 2]
;add bh, [bp + si + 4]
;add di, [bp + di + 6]
;add [bx+si], bx
;add [bp], bx
;add [bp + 0], bx
;add [bx + 2], cx
;add [bp + si + 4], bh
;add [bp + di + 6], di
;add byte [bx], 34
;add word [bp + si + 1000], 29
;add ax, [bp]
;add al, [bx + si]
;add ax, bx
;add al, ah
;add ax, 1000
;add al, -30
;add al, 9
;sub bx, [bx+si]
;sub bx, [bp]
;sub si, 2
;sub bp, 2
;sub cx, 8
;sub bx, [bp + 0]
;sub cx, [bx + 2]
;sub bh, [bp + si + 4]
;sub di, [bp + di + 6]
;sub [bx+si], bx
;sub [bp], bx
;sub [bp + 0], bx
;sub [bx + 2], cx
;sub [bp + si + 4], bh
;sub [bp + di + 6], di
;sub byte [bx], 34
;sub word [bx + di], 29
;sub ax, [bp]
;sub al, [bx + si]
;sub ax, bx
;sub al, ah
;sub ax, 1000
;sub al, -30
;sub al, 9
;cmp bx, [bx+si]
;cmp bx, [bp]
;cmp si, 2
;cmp bp, 2
;cmp cx, 8
;cmp bx, [bp + 0]
;cmp cx, [bx + 2]
;cmp bh, [bp + si + 4]
;cmp di, [bp + di + 6]
;cmp [bx+si], bx
;cmp [bp], bx
;cmp [bp + 0], bx
;cmp [bx + 2], cx
;cmp [bp + si + 4], bh
;cmp [bp + di + 6], di
;cmp byte [bx], 34
;cmp word [4834], 29
;cmp ax, [bp]
;cmp al, [bx + si]
;cmp ax, bx
;cmp al, ah
;cmp ax, 1000
;cmp al, -30
;cmp al, 9
test_label0:
jnz test_label1
jnz test_label0
test_label1:
jnz test_label0
jnz test_label1
label:
je label
jl label
jle label
jb label
jbe label
jp label
jo label
js label
jne label
jnl label
jg label
jnb label
ja label
jnp label
jno label
jns label
loop label
loopz label
loopnz label
jcxz label

5
1-3/nasm-compile.sh Executable file
View file

@ -0,0 +1,5 @@
#! /usr/bin/env bash
SCRIPT_LOC=$( dirname -- $( readlink -f -- "$0"; ))
nasm -f bin $SCRIPT_LOC/listing-41.asm -o $SCRIPT_LOC/listing-41
# nasm -f bin $SCRIPT_LOC/listing-42.asm -o $SCRIPT_LOC/listing-42

26
1-3/output.asm Normal file
View file

@ -0,0 +1,26 @@
bits 16
jne $+2+2
jne $+2-4
jne $+2-6
jne $+2-4
jz $+2-2
jl $+2-4
jle $+2-6
jb $+2-8
jbe $+2-10
jp $+2-12
jo $+2-14
js $+2-16
jne $+2-18
jnl $+2-20
jnle $+2-22
jnb $+2-24
jnbe $+2-26
jnp $+2-28
jno $+2-30
jns $+2-32
loop $+2-34
loopz $+2-36
loopnz $+2-38
jcxz $+2-40