Compare commits
No commits in common. "356e7c9055ae27c3acca298f9f6dce303f8add8a" and "b0f6d15cacee84991223e6e2962b3a4857d9ef6e" have entirely different histories.
356e7c9055
...
b0f6d15cac
|
@ -26,9 +26,3 @@
|
||||||
|
|
||||||
# QEMU Virtual Hard Disks
|
# QEMU Virtual Hard Disks
|
||||||
/**/*.qcow2
|
/**/*.qcow2
|
||||||
|
|
||||||
# MIPS compiled
|
|
||||||
/**/*.hex
|
|
||||||
/**/*.elf
|
|
||||||
/**/*.map
|
|
||||||
/**/*.o
|
|
||||||
|
|
Binary file not shown.
|
@ -1,292 +0,0 @@
|
||||||
\part{Lógica de Primeira Ordem e Demonstração Automática}
|
|
||||||
\label{part:1lpo}
|
|
||||||
|
|
||||||
\chapter{Interpretação}
|
|
||||||
\label{chap:1-interpretacao}
|
|
||||||
|
|
||||||
\section{Proposição}
|
|
||||||
\label{sec:1-interpretacao-proposicao}
|
|
||||||
|
|
||||||
\subsection{Definição}
|
|
||||||
São proposições as afirmações que podem ser classificadas como verdadeiras ou falsas mas não ambas.
|
|
||||||
|
|
||||||
\subsection{Exemplos}
|
|
||||||
\begin{enumerate}
|
|
||||||
\item O sol é uma estrela.
|
|
||||||
\item Deus existe.
|
|
||||||
\item D. Pedro I foi o primeiro imperador do Brasil.
|
|
||||||
\end{enumerate}
|
|
||||||
|
|
||||||
Afirmações com o seu valor lógico:
|
|
||||||
\begin{enumerate}
|
|
||||||
\item Para todo o $n \in N$, $2n$ é múltiplo de $2$. $\rightarrow$ Proposição \textbf{Verdadeira}.
|
|
||||||
\item Para todo o $n \in Z$, $2n \geq n$. $\rightarrow$ Afirmação \textbf{Ambígua}: \textbf{Verdadeira} para $n > 0$ e \textbf{Falsa} para $n \leq 0$.
|
|
||||||
\item Para todo o $n \in N$, $3n \geq 4n$. $\rightarrow$ Proposição \textbf{False}.
|
|
||||||
\end{enumerate}
|
|
||||||
|
|
||||||
\subsection{Tipos de Proposições}
|
|
||||||
|
|
||||||
\begin{itemize}
|
|
||||||
\item \textbf{Atómica}: Não pode ser decomposta em proposições mais simples.
|
|
||||||
\item \textbf{Composta}: É formada a partir da combinação de proposições atómicas usando conectivos lógicos.
|
|
||||||
\end{itemize}
|
|
||||||
|
|
||||||
\section{Conectivos Lógicos}
|
|
||||||
\label{sec:1-interpretacao-conectivos}
|
|
||||||
|
|
||||||
\subsection{Negação}
|
|
||||||
|
|
||||||
\subsubsection{Símbolo}
|
|
||||||
O símbolo da negação é $\neg$.
|
|
||||||
|
|
||||||
\subsubsection{Tabela de Verdade}
|
|
||||||
\begin{table}[H]
|
|
||||||
\begin{tabular}{|c|c|}
|
|
||||||
\hline
|
|
||||||
$p$ & $\neg p$ \\
|
|
||||||
\hline
|
|
||||||
1 & 0 \\
|
|
||||||
0 & 1 \\
|
|
||||||
\hline
|
|
||||||
\end{tabular}
|
|
||||||
\end{table}
|
|
||||||
|
|
||||||
\subsection{Conjunção}
|
|
||||||
|
|
||||||
\subsubsection{Símbolo}
|
|
||||||
O símbolo da conjunção é $\land$.
|
|
||||||
|
|
||||||
\subsubsection{Tabela de Verdade}
|
|
||||||
\begin{table}[H]
|
|
||||||
\begin{tabular}{|c|c|c|}
|
|
||||||
\hline
|
|
||||||
$p$ & $q$ & $p \land q$ \\
|
|
||||||
\hline
|
|
||||||
1 & 1 & 1 \\
|
|
||||||
1 & 0 & 0 \\
|
|
||||||
0 & 1 & 0 \\
|
|
||||||
0 & 0 & 0 \\
|
|
||||||
\hline
|
|
||||||
\end{tabular}
|
|
||||||
\end{table}
|
|
||||||
|
|
||||||
\subsection{Disjunção}
|
|
||||||
|
|
||||||
\subsubsection{Símbolo}
|
|
||||||
O símbolo da conjunção é $\lor$.
|
|
||||||
|
|
||||||
\subsubsection{Tabela de Verdade}
|
|
||||||
\begin{table}[H]
|
|
||||||
\begin{tabular}{|c|c|c|}
|
|
||||||
\hline
|
|
||||||
$p$ & $q$ & $p \lor q$ \\
|
|
||||||
\hline
|
|
||||||
1 & 1 & 1 \\
|
|
||||||
1 & 0 & 1 \\
|
|
||||||
0 & 1 & 1 \\
|
|
||||||
0 & 0 & 0 \\
|
|
||||||
\hline
|
|
||||||
\end{tabular}
|
|
||||||
\end{table}
|
|
||||||
|
|
||||||
\subsection{Implicação}
|
|
||||||
|
|
||||||
\subsubsection{Símbolo}
|
|
||||||
O símbolo da conjunção é $\rightarrow$.
|
|
||||||
|
|
||||||
\subsubsection{Tabela de Verdade}
|
|
||||||
\begin{table}[H]
|
|
||||||
\begin{tabular}{|c|c|c|}
|
|
||||||
\hline
|
|
||||||
$p$ & $q$ & $p \rightarrow q$ \\
|
|
||||||
\hline
|
|
||||||
1 & 1 & 1 \\
|
|
||||||
1 & 0 & 1 \\
|
|
||||||
0 & 1 & 0 \\
|
|
||||||
0 & 0 & 1 \\
|
|
||||||
\hline
|
|
||||||
\end{tabular}
|
|
||||||
\end{table}
|
|
||||||
|
|
||||||
\subsection{Equivalência}
|
|
||||||
|
|
||||||
\subsubsection{Símbolo}
|
|
||||||
O símbolo da conjunção é $\leftrightarrow$.
|
|
||||||
|
|
||||||
\subsubsection{Tabela de Verdade}
|
|
||||||
\begin{table}[H]
|
|
||||||
\begin{tabular}{|c|c|c|}
|
|
||||||
\hline
|
|
||||||
$p$ & $q$ & $p \leftrightarrow q$ \\
|
|
||||||
\hline
|
|
||||||
1 & 1 & 1 \\
|
|
||||||
1 & 0 & 0 \\
|
|
||||||
0 & 1 & 0 \\
|
|
||||||
0 & 0 & 1 \\
|
|
||||||
\hline
|
|
||||||
\end{tabular}
|
|
||||||
\end{table}
|
|
||||||
|
|
||||||
\subsection{Exemplos}
|
|
||||||
|
|
||||||
\subsubsection{Exemplo 1}
|
|
||||||
Ou o José foi ao supermercado ou está sem ovos em casa.
|
|
||||||
|
|
||||||
\begin{itemize}
|
|
||||||
\item $\phi$ = "O José foi ao supermercado"
|
|
||||||
\item $\psi$ = "O José está sem ovos em casa"
|
|
||||||
\end{itemize}
|
|
||||||
|
|
||||||
\textbf{Resultado}: $\phi \lor \psi$
|
|
||||||
|
|
||||||
\subsubsection{Exemplo 2}
|
|
||||||
A Beatriz decidiu emigrar e não tenciona regressar.
|
|
||||||
|
|
||||||
\begin{itemize}
|
|
||||||
\item $\phi$ = "A Beatriz decidiu emigrar"
|
|
||||||
\item $\psi$ = "A Beatriz não tenciona regressar"
|
|
||||||
\end{itemize}
|
|
||||||
|
|
||||||
\textbf{Resultado}: $\phi \land \psi$
|
|
||||||
|
|
||||||
\subsubsection{Exemplo 3}
|
|
||||||
|
|
||||||
Ou o meu pai está em casa e a minha mãe não ou o meu pai não está em casa mas a minha mão está.
|
|
||||||
|
|
||||||
\begin{itemize}
|
|
||||||
\item $\phi$ = "O meu pai está em casa"
|
|
||||||
\item $\psi$ = "A minha mão não está em casa"
|
|
||||||
\end{itemize}
|
|
||||||
|
|
||||||
\textbf{Resultado}: $(\psi \land \neg \phi) \lor (\neg \psi \land \phi)$
|
|
||||||
|
|
||||||
\subsubsection{Exemplo 4}
|
|
||||||
|
|
||||||
Ficarei milionário se ganhar o euromilhões
|
|
||||||
|
|
||||||
\begin{itemize}
|
|
||||||
\item $\phi$ = "Ficar milionário"
|
|
||||||
\item $\psi$ = "Ganhar o euromilhões"
|
|
||||||
\end{itemize}
|
|
||||||
|
|
||||||
\textbf{Resultado}: $\psi \rightarrow \phi$
|
|
||||||
|
|
||||||
\section{Validade de Fórmulas}
|
|
||||||
|
|
||||||
\subsection{Tautologia}
|
|
||||||
\subsubsection{Definição}
|
|
||||||
Uma fórmula diz-se \textbf{Tautologia} quando tem valor lógico \textbf{1} para todas as suas interpretações.
|
|
||||||
|
|
||||||
Representa-se com $\top$.
|
|
||||||
|
|
||||||
\subsubsection{Exemplos}
|
|
||||||
\begin{enumerate}
|
|
||||||
\item $\neg \psi \lor \psi$
|
|
||||||
\item $(\psi \land \phi) \rightarrow \psi$
|
|
||||||
\end{enumerate}
|
|
||||||
|
|
||||||
\begin{table}[H]
|
|
||||||
\begin{tabular}{|c|c|c|c|}
|
|
||||||
\hline
|
|
||||||
$p$ & $q$ & $p \land q$ & $(p \land q) \rightarrow q$ \\
|
|
||||||
\hline
|
|
||||||
0 & 0 & 0 & 1 \\
|
|
||||||
0 & 1 & 0 & 1 \\
|
|
||||||
1 & 0 & 0 & 1 \\
|
|
||||||
1 & 1 & 1 & 1 \\
|
|
||||||
\hline
|
|
||||||
\end{tabular}
|
|
||||||
\end{table}
|
|
||||||
|
|
||||||
\subsection{Consistente}
|
|
||||||
\subsubsection{Definição}
|
|
||||||
Uma fórmula diz-se \textbf{Consistente} quando tem valor lógico \textbf{1} para alguma das suas interpretações.
|
|
||||||
|
|
||||||
\subsection{Inconsistente ou Contradição}
|
|
||||||
\subsubsection{Definição}
|
|
||||||
Uma fórmula diz-se \textbf{Inconsistente} ou \textbf{Contradição} quando tem valor lógico \textbf{0} para todas as suas interpretações.
|
|
||||||
|
|
||||||
Representa-se com $\bot$.
|
|
||||||
|
|
||||||
\subsubsection{Exemplo}
|
|
||||||
\begin{enumerate}
|
|
||||||
\item $\neg \psi \land \psi$
|
|
||||||
\end{enumerate}
|
|
||||||
|
|
||||||
\section{Fórmulas Equivalentes}
|
|
||||||
\subsection{Definição}
|
|
||||||
As fórmulas $\phi$ e $\psi$ dizem-se equivalentes quando a fórmula $\phi \leftrightarrow \psi$ é uma tautologia.
|
|
||||||
|
|
||||||
\subsubsection{Demonstação}
|
|
||||||
\begin{table}[H]
|
|
||||||
\begin{tabular}{|c|c|c||c|c|c|}
|
|
||||||
\hline
|
|
||||||
$p$ & $q$ & $p \rightarrow q$ & $\neg p$ & $\neg p \lor q$ & $(p \rightarrow q) \leftrightarrow (\neg p \lor q)$ \\
|
|
||||||
\hline
|
|
||||||
0 & 0 & 1 & 1 & 1 & 1 \\
|
|
||||||
0 & 1 & 1 & 1 & 1 & 1 \\
|
|
||||||
1 & 0 & 0 & 0 & 0 & 1 \\
|
|
||||||
1 & 1 & 1 & 0 & 1 & 1 \\
|
|
||||||
\hline
|
|
||||||
\end{tabular}
|
|
||||||
\end{table}
|
|
||||||
|
|
||||||
\subsection{Exemplos}
|
|
||||||
\noindent Equivalências:
|
|
||||||
\begin{enumerate}
|
|
||||||
\item $p \land q \equiv q \land p$
|
|
||||||
\item $p \lor q \equiv q \lor p$
|
|
||||||
\item $p \land (q \land r) \equiv (p \land q) \land r$
|
|
||||||
\item $p \lor (q \lor r) \equiv (p \lor q) \lor r$
|
|
||||||
\item $p \land p \equiv p$
|
|
||||||
\item $p \lor p \equiv p$
|
|
||||||
\item $p \land \top \equiv p$
|
|
||||||
\item $p \lor \top \equiv \top$
|
|
||||||
\item $p \land \bot \equiv \bot$
|
|
||||||
\item $p \lor \bot \equiv p$
|
|
||||||
\end{enumerate}
|
|
||||||
Distributividade:
|
|
||||||
\begin{enumerate}
|
|
||||||
\item $p \land (q \lor r) \equiv (p \land q) \lor (p \land r)$
|
|
||||||
\item $p \lor (q \land r) \equiv (p \lor q) \land (p \lor r)$
|
|
||||||
\end{enumerate}
|
|
||||||
Leis de Morgan:
|
|
||||||
\begin{enumerate}
|
|
||||||
\item $\neg (p \land q) \equiv \neg p \lor \neg q$
|
|
||||||
\item $\neg (p \lor q) \equiv \neg p \land \neg q$
|
|
||||||
\end{enumerate}
|
|
||||||
Contraposição e dupla negação:
|
|
||||||
\begin{enumerate}
|
|
||||||
\item $p \rightarrow q \equiv \neg q \rightarrow \neg p$
|
|
||||||
\item $p \rightarrow q \equiv \neg p \lor q$
|
|
||||||
\item $\neg \neg p \equiv p$
|
|
||||||
\end{enumerate}
|
|
||||||
|
|
||||||
\section{Formas Normais}
|
|
||||||
\label{sec:1-interpretacao-formas-normais}
|
|
||||||
|
|
||||||
\subsection{Literais}
|
|
||||||
\subsubsection{Definição}
|
|
||||||
Um literal é uma proposição atómica ou a negação de uma proposição atómica.
|
|
||||||
|
|
||||||
\subsubsection{Exemplos}
|
|
||||||
\begin{enumerate}
|
|
||||||
\item $p$, $q$, $\neg r$ são literais.
|
|
||||||
\item $\neg \neg p$, $p \rightarrow q$ não são literais.
|
|
||||||
\end{enumerate}
|
|
||||||
|
|
||||||
\subsection{Forma Normal Conjuntiva (FNC)}
|
|
||||||
Uma fórmula está na \textbf{Forma Normal Conjuntiva} se é uma conjunção de disjunção de literais.
|
|
||||||
|
|
||||||
\subsection{Forma Normal Disjuntiva (FND)}
|
|
||||||
Uma fórmula está na \textbf{Forma Normal Disjuntiva} se é uma disjunção de conjunções de literais.
|
|
||||||
|
|
||||||
\subsection{Exemplos}
|
|
||||||
\begin{enumerate}
|
|
||||||
\item $p \land q \land \neg r$ está na FNC e na FND.
|
|
||||||
\item $(p \lor \neg q) \land (q \lor r)$ está na FNC.
|
|
||||||
\item $(p \land \neg q) \lor (q \land r)$ está na FND.
|
|
||||||
\item $(p \land q) \lor (p \land \neg q) \lor (q \land r)$ não está na FNC nem na FND.
|
|
||||||
\end{enumerate}
|
|
||||||
|
|
||||||
|
|
|
@ -1,3 +0,0 @@
|
||||||
\part{Princípios de Enumeração Combinatória}
|
|
||||||
\label{prt:2pec}
|
|
||||||
|
|
|
@ -1,3 +0,0 @@
|
||||||
\part{Agrupamentos e Identidades Combinatórias}
|
|
||||||
\label{prt:3aic}
|
|
||||||
|
|
|
@ -1,3 +0,0 @@
|
||||||
\part{Recorrência e Funções Geradoras}
|
|
||||||
\label{prt:4rfg}
|
|
||||||
|
|
|
@ -1,3 +0,0 @@
|
||||||
\part{Elementos de Teoria dos Grafos}
|
|
||||||
\label{prt:5etg}
|
|
||||||
|
|
|
@ -1,11 +0,0 @@
|
||||||
.PHONY: all compile clean
|
|
||||||
|
|
||||||
all: compile clean
|
|
||||||
|
|
||||||
compile: main.tex
|
|
||||||
pdflatex main.tex
|
|
||||||
pdflatex main.tex
|
|
||||||
mv main.pdf ../md-tiagorg.pdf
|
|
||||||
|
|
||||||
clean:
|
|
||||||
rm -f *.aux *.blg *.bbl *.toc *.log *.lof *.lot *.log.xml *.bcf *.out *.run.xml *.gz
|
|
Binary file not shown.
Before Width: | Height: | Size: 58 KiB |
Binary file not shown.
|
@ -1,98 +0,0 @@
|
||||||
%! Author = TiagoRG
|
|
||||||
%! GitHub = https://github.com/TiagoRG
|
|
||||||
|
|
||||||
\documentclass[15pt]{report}
|
|
||||||
\usepackage[T1]{fontenc}
|
|
||||||
\usepackage[utf8]{inputenc}
|
|
||||||
\usepackage{csquotes}
|
|
||||||
\usepackage[portuguese]{babel}
|
|
||||||
\usepackage[printonlyused]{acronym}
|
|
||||||
\usepackage[hidelinks]{hyperref}
|
|
||||||
\usepackage{graphicx}
|
|
||||||
\usepackage{indentfirst}
|
|
||||||
\usepackage{float}
|
|
||||||
\usepackage{fancyhdr}
|
|
||||||
\usepackage{geometry}
|
|
||||||
\usepackage{titlesec}
|
|
||||||
\usepackage{titletoc}
|
|
||||||
\usepackage{tocloft}
|
|
||||||
\usepackage{listings}
|
|
||||||
\usepackage{array}
|
|
||||||
\usepackage{tabularx}
|
|
||||||
\usepackage{amsmath}
|
|
||||||
\usepackage{amssymb}
|
|
||||||
\usepackage{enumitem}
|
|
||||||
\usepackage{multirow}
|
|
||||||
\usepackage{multicol}
|
|
||||||
\usepackage{setspace}
|
|
||||||
\renewcommand{\familydefault}{\sfdefault}
|
|
||||||
|
|
||||||
\geometry{
|
|
||||||
paper=a4paper,
|
|
||||||
margin=45pt,
|
|
||||||
includefoot
|
|
||||||
}
|
|
||||||
\setcounter{tocdepth}{1}
|
|
||||||
|
|
||||||
\begin{document}
|
|
||||||
%%%%%% CAPA %%%%%%
|
|
||||||
\begin{titlepage}
|
|
||||||
\begin{center}
|
|
||||||
\vspace*{60pt}
|
|
||||||
{\fontsize{10\textwidth}{0}\selectfont{\textbf{MATEMÁTICA\\\vspace*{10pt}DISCRETA\\}}}
|
|
||||||
\vspace*{40pt}
|
|
||||||
\Huge
|
|
||||||
\textbf{Tiago Rocha Garcia}\\
|
|
||||||
\vspace*{20pt}
|
|
||||||
\Large
|
|
||||||
\textbf{\href{mailto:tiago.rgarcia@ua.pt}{tiago.rgarcia@ua.pt}}\\
|
|
||||||
\vspace*{5pt}
|
|
||||||
\textbf{\href{https://tiagorg.pt}{https://tiagorg.pt}}\\
|
|
||||||
\vspace*{30pt}
|
|
||||||
\huge
|
|
||||||
\textbf{2023/2024}\\
|
|
||||||
\vspace*{200pt}
|
|
||||||
\includegraphics[width=0.2\textwidth]{images/ua}\\
|
|
||||||
\vspace*{10pt}
|
|
||||||
\huge
|
|
||||||
\textbf{Universidade de Aveiro}\\
|
|
||||||
\end{center}
|
|
||||||
\end{titlepage}
|
|
||||||
|
|
||||||
\renewcommand{\headrulewidth}{0pt}
|
|
||||||
\renewcommand{\footrulewidth}{0.1pt}
|
|
||||||
\fancypagestyle{plain}{
|
|
||||||
\fancyhf{}% Clear header/footer
|
|
||||||
\fancyfoot[L]{Matemática Discreta\\Universidade de Aveiro\\2023/2024}
|
|
||||||
\fancyfoot[C]{\\{\huge\thepage}}
|
|
||||||
\fancyfoot[R]{Tiago Garcia\\\href{https://tiagorg.pt}{https://tiagorg.pt}\\\href{mailto:tiago.rgarcia@ua.pt}{tiago.rgarcia@ua.pt}}
|
|
||||||
}
|
|
||||||
\pagestyle{plain}
|
|
||||||
|
|
||||||
\renewcommand{\thepart}{Capítulo \arabic{part}}
|
|
||||||
\titleformat{\part}[display]{\bfseries\centering}{\Huge\thepart}{2em}{\Huge}
|
|
||||||
|
|
||||||
\renewcommand{\thechapter}{Tópico \arabic{chapter}}
|
|
||||||
\titleformat{\chapter}[display]{\bfseries}{\LARGE\thechapter}{1em}{\huge}
|
|
||||||
\dottedcontents{chapter}[7.2em]{\bfseries\vspace{0.6em}}{5em}{0.65pc}
|
|
||||||
|
|
||||||
\renewcommand{\thesection}{\arabic{chapter}.\arabic{section}}
|
|
||||||
\titleformat{\section}[block]{\bfseries}{\Large\thesection}{1em}{\Large}
|
|
||||||
\dottedcontents{section}[9.2em]{\vspace{0.6em}}{2em}{0.65pc}
|
|
||||||
|
|
||||||
\renewcommand{\contentsname}{Índice}
|
|
||||||
\tableofcontents
|
|
||||||
%\listoftables % descomentar se necessário
|
|
||||||
%\listoffigures % descomentar se necessário
|
|
||||||
|
|
||||||
\input{1lpo}
|
|
||||||
\input{2pec}
|
|
||||||
\input{3aic}
|
|
||||||
\input{4rfg}
|
|
||||||
\input{5etg}
|
|
||||||
|
|
||||||
\chapter*{Acrónimos}
|
|
||||||
\begin{acronym}
|
|
||||||
\end{acronym}
|
|
||||||
|
|
||||||
\end{document}
|
|
Binary file not shown.
|
@ -1,23 +0,0 @@
|
||||||
.equ READ_CORE_TIMER, 11
|
|
||||||
.equ RESET_CORE_TIMER, 12
|
|
||||||
|
|
||||||
.data
|
|
||||||
.text
|
|
||||||
|
|
||||||
timedone:
|
|
||||||
li $t0, 0
|
|
||||||
timedone_if:
|
|
||||||
blez $a1, timedone_else
|
|
||||||
li $v0, RESET_CORE_TIMER
|
|
||||||
syscall
|
|
||||||
j timedone_return
|
|
||||||
timedone_else:
|
|
||||||
li $v0, READ_CORE_TIMER
|
|
||||||
syscall
|
|
||||||
move $t1, $v0
|
|
||||||
mul $t2, $a0, 20000
|
|
||||||
ble $t1, $t2, timedone_return
|
|
||||||
div $t0, $t1, 20000
|
|
||||||
timedown_return:
|
|
||||||
move $v0, $t0
|
|
||||||
jr $ra
|
|
|
@ -1,4 +1,3 @@
|
||||||
.equ INKEY, 1
|
|
||||||
.equ READ_CORE_TIMER, 11
|
.equ READ_CORE_TIMER, 11
|
||||||
.equ RESET_CORE_TIMER, 12
|
.equ RESET_CORE_TIMER, 12
|
||||||
.equ PUT_CHAR, 3
|
.equ PUT_CHAR, 3
|
||||||
|
@ -12,12 +11,10 @@
|
||||||
# cnt1: $s0
|
# cnt1: $s0
|
||||||
# cnt5: $s1
|
# cnt5: $s1
|
||||||
# cnt10: $s2
|
# cnt10: $s2
|
||||||
# factor: $s3
|
|
||||||
|
|
||||||
main: li $s0, 0
|
main: li $s0, 0
|
||||||
li $s1, 0
|
li $s1, 0
|
||||||
li $s2, 0
|
li $s2, 0
|
||||||
li $s3, 100
|
|
||||||
|
|
||||||
while: li $a0, '\r'
|
while: li $a0, '\r'
|
||||||
li $v0, PUT_CHAR
|
li $v0, PUT_CHAR
|
||||||
|
@ -52,39 +49,21 @@ while: li $a0, '\r'
|
||||||
li $v0, PRINT_INT
|
li $v0, PRINT_INT
|
||||||
syscall
|
syscall
|
||||||
|
|
||||||
li $v0, INKEY
|
|
||||||
syscall
|
|
||||||
move $t0, $v0
|
|
||||||
beq $t0, 'A', increase_speed
|
|
||||||
beq $t0, 'N', decrease_speed
|
|
||||||
beq $t0, 'S', suspend
|
|
||||||
j continue
|
|
||||||
|
|
||||||
increase_speed:
|
|
||||||
div $s3, $s3, 2
|
|
||||||
j continue
|
|
||||||
decrease_speed:
|
|
||||||
li $s3, 100
|
|
||||||
j continue
|
|
||||||
suspend:
|
|
||||||
li $v0, INKEY
|
|
||||||
syscall
|
|
||||||
beq $v0, 'R', continue
|
|
||||||
j suspend
|
|
||||||
continue:
|
|
||||||
addu $sp, $sp, -4
|
addu $sp, $sp, -4
|
||||||
sw $ra, 0($sp)
|
sw $ra, 0($sp)
|
||||||
move $a0, $s3
|
li $a0, 100
|
||||||
jal delay
|
jal delay
|
||||||
|
|
||||||
rem $t0, $s2, 10
|
remi $t0, $s0, 10
|
||||||
bnez $t0, ignore1
|
bnez $t0, ignore1
|
||||||
addi $s0, $s0, 1
|
addi $s0, $s0, 1
|
||||||
|
li $s3, 0
|
||||||
|
|
||||||
ignore1:
|
ignore1:
|
||||||
rem $t0, $s2, 2
|
remi $t0, $s1, 2
|
||||||
bnez $t0, ignore5
|
bnez $t0, ignore5
|
||||||
addi $s1, $s1, 1
|
addi $s1, $s1, 1
|
||||||
|
li $s4, 0
|
||||||
|
|
||||||
ignore5:
|
ignore5:
|
||||||
addi $s2, $s2, 1
|
addi $s2, $s2, 1
|
||||||
|
|
Binary file not shown.
|
@ -1,23 +0,0 @@
|
||||||
#include <detpic32.h>
|
|
||||||
|
|
||||||
void delay(int ms) {
|
|
||||||
resetCoreTimer();
|
|
||||||
while (readCoreTimer() < ms * 20000);
|
|
||||||
}
|
|
||||||
|
|
||||||
int main() {
|
|
||||||
// Configure RB14 as output
|
|
||||||
TRISCbits.TRISC14 = 0;
|
|
||||||
|
|
||||||
while (1) {
|
|
||||||
// Wait 0.5s
|
|
||||||
delay(500);
|
|
||||||
// Update value
|
|
||||||
LATCbits.LATC14 = !LATCbits.LATC14;
|
|
||||||
|
|
||||||
// Print current value
|
|
||||||
printStr("RB14: ");
|
|
||||||
printInt10(LATCbits.LATC14);
|
|
||||||
putChar('\r');
|
|
||||||
}
|
|
||||||
}
|
|
|
@ -1,22 +0,0 @@
|
||||||
#include <detpic32.h>
|
|
||||||
|
|
||||||
void delay(int ms) {
|
|
||||||
resetCoreTimer();
|
|
||||||
while (readCoreTimer() < ms * 20000);
|
|
||||||
}
|
|
||||||
|
|
||||||
int main() {
|
|
||||||
// Configure RE6-RE3 as output
|
|
||||||
TRISE = TRISE & 0xFF87;
|
|
||||||
// Initialize the counter
|
|
||||||
unsigned int counter = 0;
|
|
||||||
|
|
||||||
while (1) {
|
|
||||||
// Update value
|
|
||||||
LATE = (LATE & 0xFF87) // Reset bits 6-3
|
|
||||||
| counter << 3; // Merge with counter
|
|
||||||
|
|
||||||
delay(460);
|
|
||||||
counter = (counter + 1) % 10;
|
|
||||||
}
|
|
||||||
}
|
|
|
@ -1,22 +0,0 @@
|
||||||
#include <detpic32.h>
|
|
||||||
|
|
||||||
void delay(int ms) {
|
|
||||||
resetCoreTimer();
|
|
||||||
while (readCoreTimer() < ms * 20000);
|
|
||||||
}
|
|
||||||
|
|
||||||
int main() {
|
|
||||||
// Configure RE6-RE3 as output
|
|
||||||
TRISE = TRISE & 0xFF87;
|
|
||||||
// Initialize the counter
|
|
||||||
unsigned int counter = 0;
|
|
||||||
|
|
||||||
while (1) {
|
|
||||||
// Update value
|
|
||||||
LATE = (LATE & 0xFF87) // Reset bits 6-3
|
|
||||||
| counter << 3; // Merge with counter
|
|
||||||
|
|
||||||
delay(370);
|
|
||||||
counter = (counter + 9) % 10;
|
|
||||||
}
|
|
||||||
}
|
|
Loading…
Reference in New Issue