File: req.s

package info (click to toggle)
binutils-m68hc1x 1%3A2.35.1-3
  • links: PTS, VCS
  • area: main
  • in suites: bullseye
  • size: 335,580 kB
  • sloc: ansic: 1,187,755; asm: 674,290; cpp: 130,744; exp: 70,774; makefile: 56,048; sh: 22,128; yacc: 14,459; lisp: 13,803; perl: 2,112; ada: 1,681; lex: 1,649; pascal: 1,446; cs: 879; sed: 195; xml: 95; awk: 25
file content (41 lines) | stat: -rw-r--r-- 1,028 bytes parent folder | download | duplicates (20)
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
	.text
	.global test_dot_req_and_unreq
test_dot_req_and_unreq:

	# Check that builtin register alias 'r0' works.
	add r0, r0, r0

	# Create an alias for r0.
	foo .req r0

	# Check that it works.
	add foo, foo, foo

	# Now remove the alias.
        .unreq foo

	# And make sure that it no longer works.
	add foo, foo, foo

	# Attempt to remove the builtin alias for r0.
        .unreq r0
	
	# That is ignored, so this should still work.
	add r0, r0, r0

	# Now attempt to re-alias foo.  There used to be a bug whereby the
	# first creation of an alias called foo would also create an alias
	# called FOO, but the .unreq of foo would not delete FOO.  Thus a
	# second attempt at aliasing foo (to something different than
	# before) would fail because the assembler would complain that FOO
	# already existed.
	foo .req r1

	add foo, foo, foo

	# Check that the upper case alias was also recreated.
	add FOO, FOO, FOO

	# Check that a second attempt to alias foo, using a mixed case
	# version of the name, will fail.
	Foo .req r2