スライド 1

Similar documents
スライド 1

スライド 1

スライド 1

PowerPoint プレゼンテーション

スライド 1

Taro11-…e…L…X…g.jtd

PowerPoint プレゼンテーション

Microsoft PowerPoint - 工学ゼミⅢLED1回_2018

スライド 1

1.1 ラベル ラベルはカラム 1 から始まらなければならない ラベルの後にはコロン スペース タブ 改行が続いてよい ラベルはアルファベットかアンダーバーで始まり 英数字 アンダーバー クエスチョンマークを含んでよい ラベルは 32 文字までである デフォルトではこれらは大文字と小文字を区別するが

untitled

余白 : 上下 25.4mm, 左右 19mm (Word2012 での やや狭い 設定 ) マイコンプログラミング演習 I レポート 1 実験日 提出日 回路構築 /LED を用いた I/O 制御 [16pt] 班員と担当責任者第 0 班レポート作成

PIC18 Istructios PIC16, PIC x Microchip Techology Icorporated. All Rights Reserved. PICmicro PIC18 52

スライド 1

2. アーキテクチャ 概 要 PIC16F8x ファミリは 命 令 語 長 14bit の RISC[1]で 命 令 は35 種 類 である 1 命 令 は4クロックで 実 行 されるが 実 際 にはパイプライン 処 理 [2]されている ノイマン 型 コンピュータ[3]と 違 いプログラムとデータ

も 常に 2 つのコイルに電圧を印加する 2 層励磁方式や 1 つのコイルと 2 つのコイルに交互に電圧を印 2

,, ( ) 5 ma ( ) 5V V 5 6 A B C D E F G H I J , LED LED, LED, 7 LED,, 7 LED ( ) V LED VCC 5V 7 LED VCC f g f a g b a b c e d e d c dp dp VCC (

Microsoft Word - 組込みプログラミング2018テキスト

ソフトウェア基礎技術研修

スライド 1

スライド 1

スライド 1

ex04_2012.ppt

Microsoft Word - 工学ゼミ3_テキスト

BANK1 MOVLW b' ' PIC16F648A独自 MOVWF CMCON コンパレータ OFF BCF INTCON,PEIE 周辺割り込み OFF PIC16F648A独自 MOVLW B' ' RB2/TX, RB1/RX PIC16F648A独自 MOVW

前付(念).indd

実習内容 PIC18C242 のポート B に接続した LED を点滅させます ( 他の実習と同じ内容です ) 8 個の LED に表示される値が +3 ずつインクリメントします MPLAB を使って MPASM アセンブラのソース ファイルをアセンブルします MPLAB とソース ファイルは配布し

untitled

問 2. タイミングチャート以下に示す VHDL コードで記述されている回路に関するタイミングチャートを完成させよ ) レジスタの動作 use IEEE.std_logic_64.all; entity RegN is generic (N : integer := 8 port ( CLK, EN

3 1EEPROMElectrically Erasable PROM PROMProgrammable ROM 2 EEPROM 3

また RLF 命令は 図 2 示す様に RRF 命令とは逆に 各ビットを一つずつ 左方向に回転 ( ローテイト ) する命令である 8 ビット変数のアドレスを A とし C フラグに 0 を代入してから RLF A,1 を実行すると 変数の内容が 左に 1 ビットシフトし 最下位ビット (LSB)

BSF PORTA BCF PORTA MOVLWB MOVLWB MOVLWB MOVLWB , E=1, E=0 8 ビット 行表示 ディスプレイ制御 表示クリア エントリーモード CALLDSP MAIN BCF PORTA,3 R

PowerPoint プレゼンテーション

2ALU 以下はデータ幅 4ビットの ALU の例 加算, 減算,AND,OR の4つの演算を実行する 実際のプロセッサの ALU は, もっと多種類の演算が可能 リスト 7-2 ALU の VHDL 記述 M use IEEE.STD_LOGIC_1164.ALL; 00 : 加算 use IEE

PowerPoint プレゼンテーション

第117期報告書

卒 業 研 究 報 告

C に必要なコンピュータ知識 C はコンピュータの力を引き出せるように設計 コンピュータの知識が必要

PIC (, 2, 3 ) PIC ( 1, 2, 3 ) 1 2 (, 2 ) PIC ( 1, 2 ) 2.1 (p.34) define #define (define ) (p.61) 1 30 (RD 7 /P SP 7 ) 32 (V DD ) IC

Microsoft Word - 工学ゼミ3_テキスト

Microsoft PowerPoint - Sol7 [Compatibility Mode]

ソフトウェア基礎技術研修

PowerPoint プレゼンテーション

本日の範囲 ファイルとその中身 コンピュータにおける情報の表現 ファイルとフォルダ コンピュータの仕組み 通信 ネットワーク, インターネット 情報の符号化, その限界 コマンドライン プログラムの仕組み 通信の符号化, その限界 暗号 簡単なプログラムの作成 実行 Excel で計算 データの可視

Microsoft Word - 4章.doc

PowerPoint プレゼンテーション

計算機アーキテクチャ

Microsoft PowerPoint - 第8α章.ppt [互換モード]

スライド 1

ソフトウェア基礎技術研修

目次

1. 購入物品リスト 電子部品名 用途 規格 単価 数量 合計 購入先 PIC16F84A-20/P PIC16F 秋月電子通商 カーボン抵抗 1/4W R0,R1 10kΩ 秋月電子通商 カーボン抵抗 1/4W R2,R2 追加分 300Ω 秋月



Microsoft PowerPoint ppt

PowerPoint Presentation

DS30430C-J2-page 2 : 1998 Microchip Technology Inc.

C プログラミング 1( 再 ) 第 5 回 講義では C プログラミングの基本を学び演習では やや実践的なプログラミングを通して学ぶ

Microsoft PowerPoint - 7.Arithmetic.ppt

スライド 1

正転時とは反対に回転する これが逆転である 図 2(d) の様に 4 つのスイッチ全てが OFF の場合 DC モータには電流が流れず 停止する ただし 元々 DC モータが回転していた場合は 惰性でしばらく回転を続ける 図 2(e) の様に SW2 と SW4 を ON SW1 と SW3 を O

コンピュータ工学Ⅰ

コンピュータ工学Ⅰ

Microsoft PowerPoint - H2.ppt [互換モード]

ディジタル回路 第1回 ガイダンス、CMOSの基本回路

COMET II のプログラミング ここでは機械語レベルプログラミングを学びます 1

key

5-1_a-kanaoka_JPNICSecSemi_Phish_Tech_ _3.PDF



「東京こどもネット・ケータイヘルプデスク(こたエール)」平成22年度相談実績の概要

スライド 1

スライド 1

PowerPoint プレゼンテーション



untitled

<4D F736F F D2081A193B98BE EA97708CFB8DC08B4B92E D8D878CFB8DC0817A B4B816A81798A6D92E894C5817A2E646F63>


untitled

橡okamura-ppt.PDF

2


( )


1

夏目小兵衛直克

nenkin.PDF

-1-

Microsoft Word - HW06K doc

-2 外からみたプロセッサ GND VCC CLK A0 A1 A2 A3 A4 A A6 A7 A8 A9 A10 A11 A12 A13 A14 A1 A16 A17 A18 A19 D0 D1 D2 D3 D4 D D6 D7 D8 D9 D10 D11 D12 D13 D14 D1 MEMR

Microsoft Word - テキスト.docx

コンピュータの仕組み(1)ハードウェア

Microsoft PowerPoint - NxLecture ppt [互換モード]

Microsoft PowerPoint - 3.2組み合わせ回路BL.pptx

計算機アーキテクチャ

PowerPoint プレゼンテーション

ex05_2012.pptx

命令セットの構成例 a) 算術 演算命令 例 )ADD dest, source : dest dest + source SUB dest, source : dest dest - source AND dest, source : dest dest AND source SHR reg, c

TLCS-870/C1シリーズ命令セット

Transcription:

3. 演算命令を学ぼう 本稿の Web ページ http://www.mybook-pub-site.sakura.ne.jp/pic/index.html 1

; ADD このソースファイルを各自打ち込んで下さい. EQU 0x0C ; at 0C 足し算を実行するプログラムの例です. MOVLW B 00000001 ; Load 0x01 to W ADDLW B'00000011' ; W + 0x03 ->W MOVWF ; Move w to MOVLW B'00000010' ; Load 0x02 to W ADDWF, 0 ; W + -> W ADDWF, 1 ; W + -> GOTO END 2

8 デ制御 信号RA4~RA0 RB7~RB0 1024 14 ビット プログラムメモリ ( フラッシュメモリ ) 13 プログラムカウンタ (PC) 14 命令レジスタ 8レベルスタック 13ビット 5 直接アドレス ファイルレジスタ 8 ビット 7 MUX 68 7 間接アドレス FSR レジスタ STATUS レジスタ 8 MUX 命令デコーダコントローラ ALU 8 ータバスPIC16F84A の構成 W レジスタ 入出力ポート 3

; ADD 電源を入れると の次から始まる. EQU 0x0C ; at 0C へジャンプする. MOVLW B 00000001 ; Load 0x01 to W ADDLW B'00000011' ; W + 0x03 ->W MOVWF ; Move w to MOVLW B'00000010' ; Load 0x02 to W ADDWF, 0 ; W + -> W ADDWF, 1 ; W + -> GOTO END 4

; ADD EQU 0x0C w レジスタに 00000001 という数を転送せよという命令 MOVLW B 00000001 ADDLW B'00000011 W レジスタ MOVWF MOVLW B'00000010 00000001 ADDWF, 0 ADDWF, 1 GOTO END 5

; ADD EQU 0x0C MOVLW B 00000001 ADDLW B'00000011 w レジスタの内容に 00000011 という数を足してその結果を w レジスタに転送せよという命令です. Add Literal to W の略です. W レジスタ MOVWF MOVLW B'00000010 ADDWF, 0 ADDWF, 1 END 00000001 + 00000011 00000100 6

; ADD EQU 0x0C ファイルレジスタ 00000100 MOVLW B 00000001 ADDLW B'00000011 W レジスタ MOVWF MOVLW B'00000010 ADDWF, 0 ADDWF, 1 w レジスタの内容をファイルレジスタの に転送せよという命令 00000100 END 7

; ADD EQU 0x0C ファイルレジスタ 00000100 MOVLW B 00000001 ADDLW B'00000011 W レジスタ MOVWF MOVLW B'00000010 00000010 ADDWF, 0 ADDWF, 1 GOTO wレジスタに00000010 という数をロードせよという命令 END 8

; ADD EQU 0x0C ファイルレジスタ 00000100 MOVLW B 00000001 ADDLW B'00000011 + = 00000110 W レジスタ MOVWF MOVLW B'00000010 00000010 ADDWF, 0 ADDWF, 1 GOTO wレジスタの内容とファイルレジスタの内容を足してその結果をw レジスタに転送せよという命令 END 9

; ADD EQU 0x0C ファイルレジスタ 00000100 MOVLW B 00000001 ADDLW B'00000011 + = 00000110 W レジスタ MOVWF MOVLW B'00000010 00000110 ADDWF, 0 ADDWF, 1 GOTO 0 は行き先が w レジスタであることを示す. END 10

; ADD CONFIG _HS_OSC & _WDT_OFF & _PWRTE_OFF & _CP_OFF EQU 0x0C ファイルレジスタ 00000100 MOVLW B 00000001 ADDLW B'00000011 + = 00001010 W レジスタ MOVWF MOVLW B'00000010 00000110 ADDWF, 0 ADDWF, 1 GOTO wレジスタの内容とファイルレジスタの内容を足してその結果をファイルレジスタに転送せよという命令 END 11

; ADD EQU 0x0C ファイルレジスタ 00001010 MOVLW B 00000001 ADDLW B'00000011 + = 00001010 W レジスタ MOVWF MOVLW B'00000010 00000110 ADDWF, 0 ADDWF, 1 1は行き先がファイルレジスタ ( この場合は) であることを示す. END 12

; ADD EQU 0x0C ファイルレジスタ 00001010 MOVLW B 00000001 ADDLW B'00000011 へジャンプする. W レジスタ MOVWF MOVLW B'00000010 00000110 ADDWF, 0 ADDWF, 1 GOTO END 13

演習問題 2. に 0xFF を転送し, これに 0x01 を足し, 結果を MEM2 に転送するプログラムを作成せよ. 演習問題 3.W に 0x01 を転送し,0x02 から W の内容を引いて (SUBLW 命令 ), 結果を に転送せよ. SUBLW 0x02 0x02 から w レジスタの内容を引いてその結果を w レジスタに転送せよという命令です. Sub W from Literal の略です. 14

演習問題 4. に 0x01 を転送し, これから 0x02 を引いて, 結果を に転送せよ. また, 結果が 2 の補数表現の -1 となっていることを確認せよ. 2 の補数表現とは 10 進数 2 進数 (2 の補数表現 ) 3 00000011 2 00000010 1 00000001 0 00000000-1 11111111-2 11111110-3 11111101 15

10 進数において 2 の符号を反転させて -2 とすることは,2 の補数表現では 00000010 11111101 + 1 11111110 とすることで得られる. 10 進数における 2 と -1 の足し算は 2 + (-1) = 1 となる.2 の補数表現では 00000010 +11111111 00000001 となる. 1/0 を反転させる 1 を足す 16

10 進数における 1 から 3 を引く計算は, まず 00000011 11111100 + 1 11111101 と,-3 に対応する 2 の補数表現を求める. つぎに 1 と -3 を足して 00000001 + 11111101 11111110 と実行されます. 1/0 を反転させる 1 を足す 2の補数表現を用いれば, 引き算は1/0 反転と足し算により実行されます. 17

演習問題 5.Increment, Decrement 命令の動作を確認するプログラムを作成せよ. INCF f, d ファイルレジスタの f に 1 を加えた結果を d に転送する命令です.d = 0 のとき転送先は w レジスタ,d=1 のとき転送先は f レジスタです. Increment file の略です. 例 )INCF, 1 ファイルレジスタの に 1 を加えた結果を に転送する命令です. DECF,1 ファイルレジスタの から 1 を引いた結果を に転送する命令です. Decrement file の略です. 18

演習問題 6.Complement 命令を用いて,2 の補数を求めるプログラムを作成せよ. COMF f, d ファイルレジスタの f の値を 1/0 反転した結果を d に転送する命令です.d = 0 のとき転送先は w レジスタ, d=1 のとき転送先は f レジスタです. Complement file の略です. 19

演習問題 2. 解答例 に 0xFF を転送し, これに 0x01 を足し, 結果を MEM2 に転送するプログラムを作成せよ. ; Problem 2 EQU 0x0C ; at 0C MEM2 EQU 0x0C+1 ; at 0D MOVLW 0xFF ; Load 0xFF to W MOVWF ; Move W to ADDLW 0x01 ; W + 0x01 ->W MOVWF MEM2 ;Move W to MEM2 END 20

演習問題 3. 解答例 W に 0x01 をロードし,0x02 から W の内容を引いて (SUBLW 命令 ), 結果を に転送せよ. ; Problem 3 EQU 0x0C ; at 0C MOVLW 0x01 ; Load 0x01 to W SUBLW 0x02 ; 0x02 - W ->W MOVWF ; Move W to GOTO END 21

演習問題 4. 解答例 に 0x01 を転送し, これから 0x02 を引いて, 結果を に転送せよ. また, 結果が 2 の補数表現の -1 となっていることを確認せよ. ; Problem 4 EQU 0x0C ; at 0C MOVLW 0x01 ; Load 0x01 to W MOVWF ; Move W to MOVLW 0x02 ; Load 0x02 to W SUBWF, 1 ; - W -> GOTO END 22

演習問題 5. 解答例 Increment, Decrement 命令の動作を確認するプログラムを作成せよ. ; Problem 5 EQU 0x0C ; at 0C INCF,1 ; + 1 -> INCF,0 ; + 1 -> W DECF,1 ; - 1 -> DECF,0 ; -1 -> W GOTO END 23

演習問題 6. 解答例 Complement 命令を用いて,2 の補数を求めるプログラムを作成せよ. ; Problem 6 EQU 0x0C ; at 0C MOVLW 0x01 MOVWF ; Load 0x01 to W ; Move W to COMF,1 ;Complement -> INCF,1 ; + 1 -> GOTO END 2 の補数を求める計算 24

2004 年 8 月 25