aboutsummaryrefslogtreecommitdiffstats
path: root/tests/t_96/t_96.asm
blob: a98eef5c819200315bb715cc45711991bc605cb1 (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
146
147
148
149
150
151
152
153
154
155
156
157
158
159
160
161
162
163
164
165
166
167
168
169
170
171
172
173
174
175
176
177
178
179
180
181
182
183
184
185
186
187
188
189
190
191
192
193
194
195
196
197
198
199
200
201
202
203
204
205
206
207
208
209
210
211
212
213
214
215
216
217
		cpu	80196

                include reg96

ax		equ	20h
al		equ	ax
ah		equ	ax+1
eax		equ	ax
bx		equ	24h
bl		equ	bx
bh		equ	bx+1
ebx		equ	bx
cx		equ	28h
cl		equ	cx
ch		equ	cx+1
ecx		equ	cx
dx		equ	2ch
dl		equ	dx
dh		equ	dx+1
edx		equ	dx

		CLRC
		CLRVT
		DI
		EI
		NOP
		POPF
		PUSHF
		RET
		RSC
		SETC
		TRAP
                PUSHA
                POPA
                EPTS
                DPTS

targ:
		JC 	targ
		JE	targ
		JGE	targ
		JGT	targ
		JH	targ
		JLE	targ
		JLT	targ
		JNC	targ
		JNE	targ
		JNH	targ
		JNST	targ
		JNV	targ
		JNVT	targ
		JST	targ
		JV	targ
		JVT	targ

                bmov	eax,cx
                bmovi	eax,cx

		add	ax,bx
		add	ax,2000h
		add	ax,[bx]
		add	ax,[bx]+
		add	ax,2[bx]
		add	ax,-15[bx]
		add	ax,700[bx]
		add	ax,-300[bx]
		add	ax,#1234h

		add	ax,cx,bx
		add	ax,cx,2000h
		add	ax,cx,[bx]
		add	ax,cx,[bx]+
		add	ax,cx,2[bx]
		add	ax,cx,-15[bx]
		add	ax,cx,700[bx]
		add	ax,cx,-300[bx]
		add	ax,cx,#1234h

		addb	al,bl
		addb	al,2000h
		addb	al,[bx]
		addb	al,[bx]+
		addb	al,2[bx]
		addb	al,-15[bx]
		addb	al,700[bx]
		addb	al,-300[bx]
		addb	al,#12h

		addb	al,cl,bl
		addb	al,cl,2000h
		addb	al,cl,[bx]
		addb	al,cl,[bx]+
		addb	al,cl,2[bx]
		addb	al,cl,-15[bx]
		addb	al,cl,700[bx]
		addb	al,cl,-300[bx]
		addb	al,cl,#12h

		and	dx,300h
		mulu	eax,bx,cx
		mulb	ax,cl,ch
		subb	cl,#5

		addc	ax,bx
		addcb	al,[bx]
		cmp	ax,[bx]+
		cmpb	al,2[bx]
                cmpl	ecx,edx
		div	eax,-15[bx]
		divb	ax,200[bx]
		divu	eax,-300[bx]
		divub	ax,200
		ld	ax,#2345h
		ldb	al,#16
		st	ax,bx
		stb	al,[bx]
		subc	ax,[bx]+
		subcb	al,2[bx]
		xor	ax,-15[bx]
		xorb	al,200[bx]

		push	ax
		push	[bx]
		push	#1234h
		pop	2000h
		pop	10[cx]

                xch	ax,bx
                xch	ax,[bx]
                xch	ax,10[bx]
                xch	ax,-150[bx]
                xch	ax,[bx]+
                xch	ax,2000h
                xchb	bl,al
                xchb	[bx],al
                xchb	10[bx],al
                xchb	-150[bx],al
                xchb	[bx]+,al
                xchb	2000h,al

		clr	ax
		clrb	al
		dec	bx
		decb	bh
		ext	eax
		extb	ax
		inc	cx
		incb	cl
		neg	dx
		negb	dh
		not	ax
		notb	al

		scall	targ
		lcall	targ
		call	targ

		sjmp	targ
		ljmp	targ
		br	targ
		br	[dx]

		djnz	cl,$
                djnzw	cx,$

		jbc	dh,3,$
		jbs	al,1,$

                tijmp	bx,ax,#127

		ldbse	ax,#-1
		ldbze	cx,[bx]+

		norml	eax,cl

		shl	ax,#5
		shl	ax,cl
		shlb	al,#6
		shlb	al,cl
		shll	eax,#7
		shll	eax,cl
		shr	ax,#5
		shr	ax,cl
		shrb	al,#6
		shrb	al,cl
		shrl	eax,#7
		shrl	eax,cl
		shra	ax,#5
		shra	ax,cl
		shrab	al,#6
		shrab	al,cl
		shral	eax,#7
		shral	eax,cl

		skip	dl

                idlpd	#2


                ldb	al,100h		; lang
                ldb	al,0c0h		; kurz
                ldb	al,000h		; kurz
                ldb	al,140h		; lang
                ldb     al,[0c0h]
                ldb     al,[000h]

                assume	wsr:24h		; =100h..13fh auf 0c0h..0ffh

                ldb	al,100h		; jetzt kurz
                ldb	al,0c0h		; jetzt lang
                ldb	al,000h		; immmer noch kurz
                ldb	al,140h		; immer noch lang
                ldb     al,[100h]
                ldb     al,[000h]

                bne     2000h
                bc      2000h