Updated VC4 docs.
--HG-- branch : dtrg-videocore
This commit is contained in:
parent
fd2360be0f
commit
2be811bac2
45
man/vc4_as.6
Normal file
45
man/vc4_as.6
Normal file
|
@ -0,0 +1,45 @@
|
||||||
|
.\" $Header$
|
||||||
|
.TH VC4_AS 1
|
||||||
|
.ad
|
||||||
|
.SH NAME
|
||||||
|
vc4_as \- assembler for Broadcom VideoCore IV
|
||||||
|
|
||||||
|
.SH SYNOPSIS
|
||||||
|
/usr/em/lib/vc4_as [options] argument ...
|
||||||
|
|
||||||
|
.SH DESCRIPTION
|
||||||
|
This assembler is made with the general framework
|
||||||
|
described in \fIuni_ass\fP(6).
|
||||||
|
|
||||||
|
.SH SYNTAX
|
||||||
|
The assembler uses a modified version of the syntax described in
|
||||||
|
https://github.com/hermanhermitage/videocoreiv/wiki/VideoCore-IV-Programmers-Manual:
|
||||||
|
condition codes must be prefixed with a full stop. Vector instructions are not
|
||||||
|
yet supported.
|
||||||
|
|
||||||
|
.SH "SEE ALSO"
|
||||||
|
uni_ass(6),
|
||||||
|
ack(1),
|
||||||
|
.br
|
||||||
|
https://github.com/hermanhermitage/videocoreiv
|
||||||
|
.SH EXAMPLE
|
||||||
|
.nf
|
||||||
|
.ta 8n 16n 24n 32n 40n 48n
|
||||||
|
An example of VideoCore IV assembly language:
|
||||||
|
|
||||||
|
ldb r0, __uart_status
|
||||||
|
b.eq r0, #0, 1b
|
||||||
|
|
||||||
|
! receive 1 byte (returned in r0)
|
||||||
|
mov r1, #AUX_MU_LSR_REG
|
||||||
|
mov r2, #AUX_MU_IO_REG
|
||||||
|
! loop until char available
|
||||||
|
recvwait:
|
||||||
|
ld r3, (r1)
|
||||||
|
and r3, #0x1
|
||||||
|
b.ne r3, #0x1, recvwait
|
||||||
|
|
||||||
|
ldb r0, (r2)
|
||||||
|
1:
|
||||||
|
b lr
|
||||||
|
.fi
|
|
@ -5,6 +5,9 @@ This is a fairly crude port of the ACK to produce VideoCore IV machine
|
||||||
code, suitable for use on the Raspberry Pi. It produces terrible but
|
code, suitable for use on the Raspberry Pi. It produces terrible but
|
||||||
working code. The resulting binaries can be used either bare metal or
|
working code. The resulting binaries can be used either bare metal or
|
||||||
loaded as a GPU kernel and executed using a modified mailbox.c (see below).
|
loaded as a GPU kernel and executed using a modified mailbox.c (see below).
|
||||||
|
Currently floating point support is present but incomplete; and as the
|
||||||
|
VideoCore IV does not have double-precision float support, the C compiler
|
||||||
|
treats doubles as single precision.
|
||||||
|
|
||||||
As much of the standard C library as is relevant works; if
|
As much of the standard C library as is relevant works; if
|
||||||
you're running in bare-metal mode, you can hook stdin/stdout up to the
|
you're running in bare-metal mode, you can hook stdin/stdout up to the
|
||||||
|
|
Loading…
Reference in a new issue