6800_as.6 1.3 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354
  1. .\" $Id$
  2. .TH 6800_AS 6 "$Revision$"
  3. .ad
  4. .SH NAME
  5. 6800_as \- assembler for Motorola 6800
  6. .SH SYNOPSIS
  7. ~em/lib.bin/6800/as [options] argument ...
  8. .SH DESCRIPTION
  9. This assembler is made with the general framework
  10. described in \fIuni_ass\fP(6). It is an assembler generating relocatable
  11. object code in \fIAck.out\fP(5) format.
  12. .SH SYNTAX
  13. .IP registers
  14. The 6800 has two accumulator registers, A and B. An instruction that refers
  15. to accumulator A, has an "a" as last character. In the same way a "b" means
  16. that the instruction uses B as accumulator.
  17. .IP "addressing modes"
  18. .nf
  19. .ta 8n 16n 24n 32n 40n 48n
  20. syntax meaning (name)
  21. #expr with cpx, ldx, lds a 2-byte value,
  22. otherwise a 1-byte value (immediate)
  23. <expr 1-byte address. Not allowed with:
  24. asl, asr, clr, com, dec, inc, lsl, lsr,
  25. neg, rol, ror, tst (base page direct)
  26. expr 2-byte address (extended direct)
  27. expr, x 1-byte expr + contents of x
  28. yields address (indexed)
  29. .fi
  30. .SH "SEE ALSO"
  31. uni_ass(6),
  32. ack(1),
  33. ack.out(5)
  34. .br
  35. A. Osborne, 6800 programming for logic design,
  36. Adam Osborne and Associates Inc., 1977
  37. .SH EXAMPLE
  38. An example of Motorola 6800 assembly code.
  39. .sp 2
  40. .nf
  41. .ta 8n 16n 32n 40n 48n 56n 64n
  42. .sect .text; .sect .data
  43. val: 0
  44. .sect .text
  45. ldx <val
  46. com val, x
  47. bhs someplace ! branch on carry clear
  48. sta <val
  49. adda #18 ! add 18 to accumulator A
  50. .fi