GMS34112-XXXDT [HYNIX]

Microcontroller, 4-Bit, MROM, 4MHz, CMOS, PDSO20, SOP-20;
GMS34112-XXXDT
型号: GMS34112-XXXDT
厂家: HYNIX SEMICONDUCTOR    HYNIX SEMICONDUCTOR
描述:

Microcontroller, 4-Bit, MROM, 4MHz, CMOS, PDSO20, SOP-20

时钟 微控制器 光电二极管 外围集成电路
文件: 总106页 (文件大小:347K)
中文:  中文翻译
下载:  下载PDF数据表文档文件
JUNE. 2001  
Rev. 3.0  
4-BIT SINGLE CHIP MICROCOMPUTERS  
GMS340 SERIES  
USER`S MANUAL  
• GMS34004  
• GMS34012  
• GMS34112  
• GMS34120  
• GMS34140  
• GMS30000 EVA  
INTRODUCTION  
We hereby introduce the manual for CMOS 4-bit  
microcomputer GMS340 Series.  
This manual is prepared for the users who should  
understand fully the functions and features of  
GMS340 Series so that you can utilize this  
product to its fullest capacity. A detailed explana-  
tions of the specifications and applications regard-  
ing the hardware is hereby provided.  
The contents of this user`s manual are subject to  
change for the reasons of later improvement of  
the features.  
The information, diagrams, and other data in this  
user`s manual are correct and reliable; however,  
HYNIX Semiconductor Inc. is in no way responsible  
for any violations of patents or other rights of  
the third party generated by the use of this  
manual  
Table of Contents  
Table of Contents  
Chapter 1  
Introduction . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .  
Outline of Characteristics . . . . . . . . . . . . . . . . . . . . .  
1-1  
1-1  
1-2  
1-3  
1-7  
1-10  
Block Diagram . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .  
Pin Assignment and Dimension . . . . . . . . . . . . . . . . . . . .  
I/O circuit types and options . . . . . . . . . . . . . . . . . . . . . . .  
Electrical Characteristics of GMS300 Series . . . . . . . . . .  
Chapter 2  
Architecture . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .  
Block Description . . . . . . . . . . . . . . . . . . . . . . . . . . .. . .. . .  
2-1  
2-1  
Program Memory (ROM). . . . . . . . . . . . . . . . . . . . . . . . .  
ROM Address Register . . . . . . . . . . . . . . . . . . . . . . . . .  
Data Memory (RAM) . . . . . . . . . . . . . . . . . . . . . . . . . . .  
X-Register (X) . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .  
Y-Register (Y) . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .  
Accumulator (Acc) . . . . . . . . . . . . . . . . . . . . . . . . . . . . .  
State Counter (SC) . . . . . . . . . . . .. . . . . . . . . . . . . . . . .  
Clock Generator . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .  
Pulse Generator . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .  
Initial Reset Circuit . . . . . . . . . . . . . . . . . . . . . . . . . . . .  
Internal Power On Reset . . . . . . . . . . . . . . . . . . . . . . . .  
Watch Dog Timer (WDT) . . . . . . . . . . . . . . . . . . . . . . . .  
Stop Function . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .  
Masked Options . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .  
2-1  
2-2  
2-3  
2-3  
2-4  
2-4  
2-5  
2-6  
2-7  
2-8  
2-8  
2-8  
2-10  
2-10  
Chapter 3  
Instruction . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .  
3-1  
Instruction format . . . . . . . . . . . . . . . . . . . . . . . . . . . . .  
Instruction Table . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .  
Details of Instruction System . . . . . . . . . . . . . . . . . . . .  
Detailed Description . . . . . . . . . . . . . . . . . . . . . . .  
3-1  
3-2  
3-5  
3-6  
Table of Contents  
Chapter 4  
Evaluation Board . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .  
4-1  
Outline . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .  
Product Specification . . . . . . . . . . . . . . . . . . . . . . . . . . .  
Connection . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .  
Optional Setting . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .  
Caution of Operation . . . . . . . . . . . . . . . . . . . . . .. . . . .  
4-1  
4-1  
4-2  
4-3  
4-6  
Chapter 5  
Software . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .  
5-1  
Configuration of Assembler . . . . . . . . . . . . . . . . . . . . . .  
Booting up Assembler . . . . . . . . . . . . . . . . . . . . . . . . .  
Configuration of Simulator . . . . . . . . . . . . . . . . . . . . . . .  
Booting up Simulator . . . . . . . . . . . . . . . . . . . . . . . . . . . .  
Simulator commands . . . . . . . . . . . . . . . . . . . . . . . . . . .  
Description of commands . . . . . . . . . . . . . . . . . . . . . . . .  
File types used in the simulator . . . . . . . . . . . . . . . . . . .  
Error message and troubleshooting . . . . . . . . . . . . . . . .  
5-1  
5-1  
5-2  
5-2  
5-15  
5-18  
5-48  
5-49  
Appendix  
Mask option list  
INTRODUCTION  
ARCHITECTURE  
INSTRUCTION  
EVALUATION BOARD  
SOFTWARE  
1
2
3
4
5
6
APPENDIX  
Chapter 1. Introduction  
CHAPTER 1. Introduction  
OUTLINE OF CHARACTERISTICS  
The GMS340 series are remote contol transmitter which uses CMOS technology.  
This enables transmission code outputs of different configurations, multiple custom  
code output, and double push key output for easy fabrication.  
The GMS340 sereis are suitable for remote control of TV, VCR, FANS, Air-  
conditioners, Audio Equipments, Toys and Games etc.  
Characteristics  
¡ Ü Program memory : 512 bytes for GMS34004/012  
1024 bytes for GMS34112/120/140  
¡ ¿  
¡ Ü Data memory : 32  
4 bits  
¡ Ü 43 types of instruction set  
¡ Ü 3 levels of subroutine nesting  
¡ Ü 1 bit output port for a large current (REMOUT signal)  
¡ Ü Operating frequency : 300~500KHz or 2.4~4MHz for 300~500KHz operation  
(Masked option)  
¡ Ü Instruction cycle : fOSC/6 (at 300~500KHz)  
fOSC/48 (at 2.4~4MHz)  
¡ Ü CMOS process (Single 3.0V power supply)  
¡ Ü Stop mode (Through internal instruction)  
¡ Ü Released stop mode by key input (Masked option)  
¡ Ü Built in capacitor for ceramic oscillation circuit (Masked option)  
¡ Ü Built in a watch dog timer (WDT)  
¡ Ü Low operating voltage : 2.0~4.0V (at 300~500KHz)  
2.2~4.0V (at 2.4~4MHz)  
Series  
GMS34004 GMS34012 GMS34112 GMS34120 GMS34140  
¡ ç  
¡ ç  
4
¡ ç  
¡ ç  
¡ ç  
¡ ç  
¡ ç  
¡ ç  
Program memory  
Data memory  
I/O ports  
512  
1024  
¡ ç  
¡ ¿  
32  
4
¡ ç  
-
¡ ç  
¡ ç  
¡ ç  
¡ ç  
Input ports  
Output ports  
Package  
4
6
6
6
8
10  
D0 ~ D5  
D0 ~ D5  
D0 ~ D5  
D0 ~ D7  
D0 ~ D9  
¡ ç  
¡ ç  
16DIP/SOP  
20DIP/SOP  
24DIP/SOP  
Table 1-1 GMS340 series members  
1 - 1  
Chapter 1. Introduction  
Block Diagram  
RESET  
1
VDD  
24  
GND  
2
Reset  
ROM  
10  
Watchdog  
timer  
Stack  
¡ ¿  
64word  
16page  
¡ ¿  
Program counter  
10  
8bit  
8
4
4
8
4
Instruction  
Decoder  
4
ALU  
MUX  
4
4
RAM  
Word  
Selector  
Control Signal  
2
16  
RAM  
16word x  
2page x 4bit  
X-Reg  
Y-Reg  
ST  
4
ACC  
4
10  
4
R-Latch  
D-Latch  
10  
OSC  
Pluse  
Generator  
4
4
4
23 22  
7
8
9
10  
3
4
5
6
11 12 13 14 15 16 17 18 19 20  
D0 ~ D9  
21  
OSC1 OSC2  
K0 ~ K3  
R0 ~ R3  
REMOUT  
Fig 1-1 Block Diagram (In case of GMS34140)  
1 - 2  
Chapter 1. Introduction  
Pin Assignment and terminals  
Pin Assignment  
1
2
3
4
5
6
7
8
16  
1
2
3
4
5
6
7
8
9
10  
20  
RESET  
GND  
VDD  
K0  
K1  
R3  
15 OSC1  
19 R2  
14  
13  
12  
11  
10  
9
18  
17  
16  
15  
14  
13  
12  
11  
K0  
K1  
K2  
K3  
D0  
D1  
OSC2  
K2  
K3  
D0  
D1  
D2  
D3  
D4  
D5  
R1  
REMOUT  
D5  
R0  
GND  
D4  
RESET  
VDD  
D3  
D2  
OSC1  
OSC2  
REMOUT  
Fig 1-2 GMS34004 Pin Assignment  
Fig 1-3 GMS34012/112 Pin Assignment  
1
24  
1
24  
RESET  
GND  
VDD  
RESET  
GND  
VDD  
2
23 OSC1  
2
23 OSC1  
3
22  
21  
20  
19  
18  
17  
16  
15  
14  
13  
3
22  
21  
20  
19  
18  
17  
16  
15  
14  
13  
R0  
R1  
R2  
R3  
K0  
K1  
K2  
K3  
D0  
NC  
OSC2  
R0  
R1  
R2  
R3  
K0  
K1  
K2  
K3  
D0  
D8  
OSC2  
4
4
REMOUT  
D7  
REMOUT  
D7  
5
5
6
6
D6  
D6  
7
7
D5  
D5  
8
8
D4  
D4  
9
9
D3  
D3  
10  
11  
12  
10  
11  
12  
D2  
D2  
D1  
D1  
NC  
D9  
Fig 1-5 GMS34120 Pin Assignment  
Fig 1-6 GMS34140 Pin Assignment  
1 - 3  
Chapter 1. Introduction  
Pin Dimension  
16 15 14 13 12 11 10  
9
1
2
3
4
5
6
7
8
0.300BSC  
0.280MAX  
0.240MIN  
0.785MAX  
0.745MIN  
0.065MAX  
0.050MIN  
0.100BSC  
0.014MAX  
0~15¡ Ç  
0.022MAX  
0.015MIN  
¡ æ ¡ ç  
¡ æ ¡ ç  
0.008MIN  
0.040MAX  
0.020MIN  
Outline (Unit:Inch)  
Fig 1-7 16PDIP Pin Dimension  
16 15 14 13 12 11 10  
9
1
2
3
4
5
6
7
8
0.244MAX  
0.230MIN  
0.157MAX  
0.150MIN  
0.392MAX  
0.386MIN  
Base Plane  
Seating Plane  
0.035MAX  
0.016MIN  
0.050BSC  
¡ æ  
¡ ç  
0.0200MAX  
Outline (Unit : Inch)  
Fig 1-8 16SOP Pin Dimension (150Mil)  
1 - 4  
Chapter 1. Introduction  
20 19 18 17 16 15 14 13 12 11  
1
2
3
4
5
6
7
8
9
10  
0.3TYP  
0.270MAX  
0.250MIN  
0.984MAX  
0.968MIN  
0.1TYP  
0.012MAX  
0.065MAX  
0.055MIN  
0.022MAX  
0.015MIN  
0~15¡ Ç  
¡ æ ¡ ç  
¡ æ ¡ ç  
0.008MIN  
Outline (Unit : Inch)  
Fig 1-10 20PDIP Pin Dimension  
20 19 1 8 17 16 15 14 13 12 11  
1
2
3
4
5
6
7
8
9
10  
0.419MAX  
0.398MIN  
0.5118MAX  
0.4961MIN  
0.299MAX  
0.292MIN  
0.042MAX  
0.016MIN  
¡ æ  
¡ ç  
0.125MAX  
0.0091MIN  
0.05TYP  
0.020MAX  
0.014MIN  
Outline (Unit : Inch)  
Fig 1-11 20SOP Pin Dimension  
1 - 5  
Chapter 1. Introduction  
13  
12  
24 23 22 21 20 19 18 17 16 15 14  
1
2
3
4
5
6
7
8
9
10 11  
0.3TYP  
0.270MAX  
0.250MIN  
1.255MAX  
1.245MIN  
0.1TYP  
0.022MAX  
0.015MIN  
0.012MAX  
0.065MAX  
0.055MIN  
0~15¡ Ç  
¡ æ ¡ ç  
¡ æ ¡ ç  
0.008MIN  
Outline (Unit : Inch)  
Fig 1-12 24PDIP Pin Dimension  
13  
24 23 22 21 20 19 18 17 16 15 14  
1
2
3
4
5
6
7
8
9
10 11 12  
0.419MAX  
0.396MIN  
0.618MAX  
0.595MIN  
0.299MAX  
0.292MIN  
0.042MAX  
0.016MIN  
¡ æ  
¡ ç  
0.05TYP  
0.125MAX  
0.0091MIN  
0.020MAX  
0.014MIN  
0.018MAX  
0.004MIN  
Outline (Unit : Inch)  
Fig 1-13 24SOP Pin Dimension  
1 - 6  
Chapter 1. Introduction  
I/O circuit types and options  
GMS340 series I/O port types  
Pin  
I/O  
Function  
Connected to 2.0~4.0V power supply.  
Connected to 0V power supply.  
VDD  
-
-
GND  
¡ È ¡ È  
L , the  
Used to input a manual reset. When the pin goes  
RESET  
Input  
D-output ports and REMOUT-output port are initialized to  
¡ È ¡ È  
L
, and ROM address is set to address 0 on page 0.  
4-bit input port.  
Released STOP mode built in pull-up resistor by each pin as  
masked option.  
K0~K3  
D0~D9  
Input  
¡ È ¡ È  
L input at STOP)  
(It is released by  
Each can be set and reset independently. The output is in  
the form of N-channel-open-drain.  
Output  
4-bit I/O port. (Input mode is set only when each of them  
¡ È ¡ È  
output  
H
.)  
In outputting, each can be set and reset independently(or at  
once.)  
R0~R3  
I/O  
The output is in the form of N-channel-open-drain.  
Pull-up resistor and STOP release mode can be respectively  
selected as masked option for each bit. (It is released by  
¡ È ¡ È  
L
input at STOP.)  
High current output port.  
The output is in the form of C-MOS.  
REMOUT  
Output  
¡ È ¡ È  
The state of large current on is  
H
.
Oscillator input. Input to the oscillator circuit and connection  
point for ceramic resonator.  
Internal capacitors available as masked option.  
A feedback resistor is connected between this pin and OSC2  
OSC1  
OSC2  
Input  
Output  
Connect a ceramic resonator between this pin and OSC1.  
1 - 7  
Chapter 1. Introduction  
I/O circuit types and options  
Pin  
I/O  
I/Ocircuit  
Note  
Hysteresis Input Type  
Built in pull-up-  
¡ æ  
¡ ç  
§Ú  
resistor Typical 400  
Reset  
I
¡ æ  
¡ ç  
(option)  
Built in pull-up  
resistor  
§Ú  
Typical 800  
Open drain output  
¡ È ¡ È  
¡ æ  
¡ æ  
H
output at reset  
¡ æ  
¡ ç  
R0~R3  
I/O  
(Option)  
Built in MOS Tr for  
§Ú  
pull-up About 120  
¡ æ  
K0~K3  
I
¡ æ  
¡ ç  
Built in MOS Tr for  
§Ú  
pull-up About 120  
D0~D9  
Open drain output  
¡ È ¡ È  
O
¡ ç  
L
output at reset  
CMOS output  
¡ È ¡ È  
High current source  
output  
¡ æ  
¡ ç  
L
output at reset  
REMOUT  
O
1 - 8  
Chapter 1. Introduction  
Pin  
I/O  
I/Ocircuit  
Note  
Built in feedback-  
OSCSTB  
§Û  
Resister About 1  
OSC2  
O
¡ æ  
¡ ç  
OSC1  
OSC2  
Rd  
Built in dumping-Resister  
[No resistor in MHz  
operation]  
¡ æ  
¡ ç  
(Option)  
Built in resonance  
Capacitor  
C1/C2 = 100pF  
N%  
¡ è  
¡ è  
¡ ¾  
OSC1  
I
C1  
C2  
Rf  
[C1/C2 are not  
available for MHz  
operation]  
: Masked option  
*. Recommendable circuit  
C1  
OSC1  
C2  
OSC2  
Frequency  
455KHz  
ResonatorMaker  
Part Name  
Load Capacitor OperatingVoltage  
Murata  
Kyocera  
TDK  
CSB455E  
KBR-455BKTL70  
FCR455K3  
C1=C2=Open  
C1=C2=Open  
C1=C2=Open  
C1=C2=Open  
C1=C2=Open  
C1=C2=30pF  
C1=C2=Open  
C1=C2=Open  
C1=C2=30pF  
C1=C2=Open  
C1=C2=Open  
2.0 ~ 4.0V  
2.0 ~ 4.0V  
2.0 ~ 4.0V  
2.0 ~ 4.0V  
2.0 ~ 4.0V  
2.2 ~ 4.0V  
2.2 ~ 4.0V  
2.2 ~ 4.0V  
2.2 ~ 4.0V  
2.2 ~ 4.0V  
2.2 ~ 4.0V  
Murata  
TDK  
CSB480E  
480KHz  
FCR480K3  
Murata  
Murata  
TDK  
CSA3.64MG  
CST3.64MGW  
FCR3.64MC5  
CSA3.84MG  
CST3.84MGW  
FCR3.84MC5  
3.64MHz  
Murata  
Murata  
TDK  
3.84MHz  
¡ Ø  
CST type is building in load capacitior  
1 - 9  
Chapter 1. Introduction  
Electrical Characteristics for GMS300 series  
¡ É  
Absolute maximum ratings (Ta = 25  
)
Parameter  
Symbol  
Max. rating  
Unit  
Supply Voltage  
VDD  
PD  
-0.3 ~ 5.0  
V
¡ É  
700  
Power dissipation  
mW  
¡ É  
Storage temperature range  
Tstg  
-55 ~ 125  
Input voltage  
VIN  
-0.3 ~ VDD+0.3  
-0.3 ~ VDD+0.3  
V
V
Output voltage  
VOUT  
¡ É  
* Thermal derating above 25  
¡ É  
rise in temperature.  
: 6mW per degree  
Recommended operation condition  
Parameter  
Symbol  
Condition  
Rating  
Unit  
300 ~ 500KHz  
2.0 ~ 4.0  
VDD  
V
Supply Voltage  
2.4 ~ 4MHz  
-
2.2 ~ 4.0  
-20 ~ +70  
Topr  
¡ É  
Operating temperature  
1 - 10  
Chapter 1. Introduction  
Electrical characteristics (Ta=25 , VDD=3V)  
Limits  
Parameter  
Symbol  
Unit  
Condition  
Min. Typ. Max.  
1
uA  
uA  
VI=VDD  
IIH  
-
-
Input H current  
-16  
VI=GND  
IIL2  
-2  
-7.5  
RESET input L current  
VI=GND, Output  
off, Pull-Up resistor  
provided.  
-50  
uA  
K, R input L current  
IIL1  
-9  
-25  
-
V
V
-
VIH1  
VIL1  
VIH2  
VIL2  
VOL2  
2.1  
-
K, R input H voltage  
K, R input L voltage  
0.9  
-
-
-
-
V
-
2.25  
-
RESET input H voltage  
RESET input L voltage  
0.75  
0.4  
0.4  
-17  
0.9  
-
V
V
-
-
V
IOL=1mA  
IOL=100uA  
VOH1=0V  
IOL=70uA  
-
0.15  
0.15  
-23  
0.4  
2.5  
-
D. R output L voltage  
REMOUT output L voltage  
V
VOL1  
-
-32  
-
*1  
OH1  
mA  
V
I
REMOUT output H current  
OSC2 output L voltage  
VOL3  
VOH3  
IOL  
V
IOH=70uA  
2.1  
-
OSC2 output H voltage  
D, R output leakage  
current  
1
uA  
uA  
mA  
mA  
KHz  
MHz  
V0=VDD, Output off  
At STOP mode  
fOSC=455KHz  
1
ISTOP  
-
-
Current on STOP mode  
*2  
DD1  
1.0  
1.5  
500  
4
I
-
0.3  
0.5  
-
Operating supply current 1  
*2  
fOSC=4MHz  
IDD2  
fOSC  
fOSC  
-
Operating supply current 2  
fOSC/6  
300  
2.4  
System  
clock  
frequency  
f
OSC/48  
-
*1 Refer to  
Fig.1-14 IOH1 vs. VOH1 Graph  
*2 IDD1, IDD2, is measured at RESET mode.  
1 - 11  
Chapter 1. Introduction  
Fig 1-14. IOH1 vs VOH1 Graph (REMOUT Port)  
1 - 12  
INTRODUCTION  
ARCHITECTURE  
INSTRUCTION  
EVALUATION BOARD  
SOFTWARE  
1
2
3
4
5
6
APPENDIX  
Chapter 2. Architecture  
CHAPTER 2. Architecture  
BLOCK DESCRIPTION  
Characteristics  
¡ ¿  
The GMS340 series can incorporate maximum 1024 words (64 words  
16  
¡ ¿  
pages  
8bits) for program memory. Program counter PC (A0~A5) and page  
address register (A6~A9) are used to address the whole area of program  
memory having an instruction (8bits) to be next executed.  
The program memory consists of 64 words on each page, and thus each page  
can hold up to 64 steps of instructions.  
The program memory is composed as shown below.  
Program capacity (pages)  
0
1
2
3
4
8
5
6
7
Page 0  
Page 1  
Page 2  
Page 15  
63  
0
1
2
15  
A0~A5  
A6~A9  
Program counter (PC)  
6
Page address register (PA)  
Page buffer (PB)  
4
¡ È ¡ È  
)
Stack register  
(Level  
(Level  
(Level  
1
¡ È ¡ È  
2
)
¡ È ¡ È  
3 )  
(SR)  
(PRS)  
Fig 2-1 Configuration of Program Memory  
2 - 1  
Chapter 2. Architecture  
ROM Address Register  
The following registers are used to address the ROM.  
• Page address register (PA) :  
Holds ROM`s page number (0~Fh) to be addressed.  
• Page buffer register (PB) :  
Value of PB is loaded by an LPBI command when newly addressing a page.  
Then it is shifted into the PA when rightly executing a branch instruction (BR)  
and a subroutine call (CAL).  
• Program counter (PC) :  
Available for addressing word on each page.  
• Stack register (SR) :  
Stores returned-word address in the subroutine call mode.  
(1) Page address register and page buffer register :  
Address one of pages #0 to #15 in the ROM by the 4-bit binary counter.  
Unlike the program counter, the page address register is usually unchanged  
so that the program will repeat on the same page unless a page changing  
command is issued. To change the page address, take two steps such as  
(1) writing in the page buffer what page to jump to (execution of LPBI) and  
(2) execution of BR or CAL, because and instruction code is of eight bits so  
that page and word cannot be specified at the same time.  
In case a return instruction (RTN) is executed within the subroutine that has  
been called in the other page, the page address will be changed at the  
same time.  
(2) Program counter :  
This 6-bit binary counter increments for each fetch to address a word in the  
currently addressed page having an instruction to be next executed.  
For easier programming, at turning on the power, the program counter is  
¡ È ¡ È  
. Then the program  
reset to the zero location. The PA is also set to  
0
counter specifies the next ROM address in random sequence.  
When BR, CAL or RTN instructions are decoded, the switches on each step  
are turned off not to update the address. Then, for BR or CAL, address  
data are taken in from the instruction operands (a0 to a5), or for RTN, and  
address is fetched from stack register No. 1.  
(3) Stack register :  
This stack register provides two stages each for the program counter (6  
bits) and the page address register (4bits) so that subroutine nesting can be  
mode on two levels.  
2 - 2  
Chapter 2. Architecture  
Data memory (RAM)  
¡ ¿  
¡ ¿  
4bits) is incorporated for storing data.  
Up to 32 nibbles (16 words  
2pages  
The whole data memory area is indirectly specified by a data pointer (X,Y). Page  
number is specified by zero bit of X register, and words in the page by 4 bits in  
Y-register. Data memory is composed in 16 nibbles/page. Figure 2.2 shows the  
configuration.  
D0  
D9 R0 R3 REMOUT  
Data memory page (0~1)  
Output port  
0
1
2
3
Page 0  
Page 1  
15  
4
A0~A3  
0
1
Y-register (Y)  
X-register (X)  
4
2
Fig 2-2 Composition of Data Memory  
X-register (X)  
X-register is consist of 2bit, X0 is a data pointer of page in the RAM, X1 is only  
used for selecting of D8~D9 with value of Y-register  
X1=0  
D0  
X1=1  
D8  
Y=0  
Y=1  
D1  
D9  
Table 2-1 Mapping table between X and Y register  
2 - 3  
Chapter 2. Architecture  
Y-register (Y)  
Y-register has 4 bits. It operates as a data pointer or a general-purpose register.  
Y-register specifies and address (a0~a3) in a page of data memory, as well as it  
is used to specify an output port. Further it is used to specify a mode of carrier  
signal outputted from the REMOUT port. It can also be treated as a general-  
purpose register on a program.  
Accumulator (ACC  
)
The 4-bit register for holding data and calculation results.  
Arithmetic and Logic Unit (ALU)  
In this unit, 4bits of adder/comparator are connected in parallel as it`s main  
components and they are combined with status latch and status logic (flag.)  
(1) Operation circuit (ALU) :  
The adder/comparator serves fundamentally for full addition and data  
comparison. It executes subtraction by making a complement by processing  
an inversed output of ACC (ACC+1)  
(2) Status logic :  
This is to bring an ST, or flag to control the flow of a program. It occurs when  
a specified instruction is executed in two cases such as overflow in operation  
and two inputs unequal.  
2 - 4  
Chapter 2. Architecture  
State Counter (SC)  
A fundamental machine cycle timing chart is shown below. Every instruction is  
one byte length. Its execution time is the same. Execution of one instruction  
takes 6 clocks for fetch cycle and 6 clocks for execute cycle (12 clocks in total).  
Virtually these two cycles proceed simultaneously, and thus it is apparently  
completed in 6 clocks (one machine cycle). Exceptionally BR, CAL and RTN  
instructions is normal execution time since they change an addressing  
sequencially. Therefore, the next instruction is prefetched so that its execution  
is completed within the fetch cycle.  
T1 T2 T3 T4 T5 T6 T1 T2 T3 T4 T5 T6  
Fetch cycle N  
Execute cycle N  
Fetch cycle N-1  
Execute cycle N-1  
¥°  
Phase  
¥±  
Phase  
¥²  
Phase  
Machine  
Cycle  
Machine  
Cycle  
Fig. 2-3 Fundamental timing chart  
2 - 5  
Chapter 2. Architecture  
Clock Generator  
The GMS340 series has an internal clock oscillator. The oscillator circuit is  
designed to operate with an external ceramic resonator. Internal capacitors are  
available as a masked option. Oscillator circuit is able to organize by connecting  
ceramic resonator to outside. (In order to built in capacitor for oscillation as  
masked option.)  
* It is necessary to connect capacitor to outside in order to change ceramic  
resonator, You must examine refer to a manufacturer`s  
OSC1  
OSC2  
OSC1  
23  
OSC2  
22  
23  
22  
C1  
C2  
<Circuit 1>  
<Circuit 2>  
Operating Frequency  
Oscillation Circuit  
Circuit 1  
fOSC = 2.4 ~ 4MHz  
Internal capacitor option  
No Internal capacitor option  
Circuit 2  
fOSC = 300 ~ 500KHz  
Circuit 1  
2 - 6  
Chapter 2. Architecture  
Pulse generator  
The following frequency and duty ratio are selected for carrier signal outputted  
from the REMOUT port depending on a PMR (Pulse Mode Register) value set in  
a program.  
T
T1  
PMR  
REMOUT signal  
0
1
2
3
4
5
6
T=1/fPUL = 12/fOSC [96/fOSC],  
T1/T = 1/2  
T1/T = 1/3  
T1/T = 1/2  
T1/T = 1/4  
T1/T = 4/11  
T=1/fPUL = 12/fOSC [96/fOSC],  
T=1/fPUL = 8/fOSC [64/fOSC],  
T=1/fPUL = 8/fOSC [64/fOSC],  
T=1/fPUL = 11/fOSC [88/fOSC],  
No Pulse (same to D0~D9)  
T=1/fPUL = 12/fOSC [96/fOSC],  
T1/T = 1/4  
¡ È ¡ È  
0
* Default value is  
¡ È ¡ È  
T , when Instruction cycle is fOSC/48  
* [ ] means the value of  
Table 2-2 PMR selection table  
2 - 7  
Chapter 2. Architecture  
Initial Reset Circuit  
¡ È ¡ È  
more than 4 machine cycle by outside  
RESET pin must be down to  
L
capacitor or other for power on reset.  
The mean of 1 machine cycle is below. 1 machine cycle is 6/fOSC, however,  
operating voltage must be in recommended operating conditions, and clock  
oscillating stability.  
* It is required to adjust C value depending on rising time of power supply.  
(Example shows the case of rising time shorter than 10ms.)  
1
RESET  
0.1uF  
Watch Dog Timer (WDT)  
Watch dog timer is organized binary of 14 steps. By the selected oscillation  
option, the signal of fOSC/6 cycle comes in the first step of WDT. If this counter  
was overflowed, come out reset signal automatically, internal circuit is initialized.  
¡ ¿  
The overflow time is 6  
8
2
13/fOSC (108.026ms at fOSC=455KHz.)  
13  
¡ ¿ ¡ ¿  
6
2 /fOSC (108.026ms at fOSC = 3.64MHz)  
Normally, the binary counter must be reset before the overflow by using reset  
instruction (WDTR) or / and REMOUT port (Y-reg=8, So instruction execution) at  
masked option.  
* It is constantly reset in STOP mode. When STOP is released, counting is  
restarted. (Refer to 2-10 STOP function>)  
Binary counter  
(14 steps)  
RESET (edge-trigger)  
CPU reset  
fOSC/6 or fOSC/48  
Reset  
by instruction  
REMOUT  
output  
Mask Option  
2 - 8  
Chapter 2. Architecture  
STOP Function  
Stop mode can be achieved by STOP instructions.  
In stop mode :  
1. Oscillator is stopped, the operating current is low.  
2. Watch dog timer is reset, D8~D9 output and REMOUT output are  
¡ È ¡ È  
L
.
3. Part other than WDT, D8~D9 output and REMOUT output have a value before  
come into stop mode.  
¡ È  
But, the state of D0~D7 output in stop mode is able to choose as masked  
¡ È ¡ È  
output or same level before come into stop mode.  
option.  
L
The function to release stop mode is able to choose each bit of K or R input.  
¡ È ¡ È  
Stop mode is released when one of K or R input is going to  
L
.
1. State of D0~D7 output and REMOUT output is return to state of before stop mode  
is achieved.  
¡ ¿  
2. After 1024 8 enable clocks for stable oscillating. First instruction start to operate.  
3. In return to normal operation, WDT is counted from zero again.  
¡ È ¡ È  
, stop  
But, at executing stop instruction, if one of K or R input is chosen to  
instruction is same to NOP instruction.  
L
Masked options  
The GMS340 series offer the following optional features.  
These options are masked.  
1. Watch dog timer reset by REMOUT output signal.  
2. Input terminals having STOP release mode : K0~K3, R0~R3.  
3. I/O terminals having pull-up resistor : R0~R3  
4. Ceramic oscillation circuit contained (or not contained).  
[This option is not available for MHz Ceramic oscillator]  
5. Output form at stop mode  
¡ È ¡ È  
or keep before stop mode  
D0~D7 :  
L
6. Instruction cycle selection:  
T=48/fOSC or T=6/fOSC  
2 - 9  
INTRODUCTION  
ARCHITECTURE  
INSTRUCTION  
EVALUATION BOARD  
SOFTWARE  
1
2
3
4
5
6
APPENDIX  
Chapter 3. Instruction  
CHAPTER 3. Instruction  
INSTRUCTION FORMAT  
All of the 43 instruction in GMS340 series is format in two fields of OP code and  
operand which consist of eight bits. The following formats are available with  
different types of operands.  
¥°  
Format  
All eight bits are for OP code without operand.  
¥±  
Format  
Two bits are for operand and six bits for OP code.  
Two bits of operand are used for specifying bits of RAM and X-register (bit 1 and  
¡ È ¡ È  
0 )  
bit 7 are fixed at  
¥²  
Format  
Four bits are for operand and the others are OP code.  
Four bits of operand are used for specifying a constant loaded in RAM or Y-  
register, a comparison value of compare command, or page addressing in ROM.  
¥³  
Format  
Six bits are for operand and the others are OP code.  
Six bits of operand are used for word addressing in the ROM.  
3 - 1  
Chapter 3. Instruction  
INSTRUCTIONTABLE  
The GMS340 series provides the following 43 basic instructions.  
Category Mnemonic  
Function  
ST*1  
S
S
S
S
S
S
S
S
S
S
S
S
S
E
S
S
S
S
C
B
C
B
S
C
B
¡ ç  
¡ ç  
¡ ç  
1
LAY  
A
Y
A
Y
A
0
Register to  
LYA  
Register  
LAZ  
2
3
¡ ç  
¡ ç  
4
LMA  
M(X,Y)  
M(X,Y)  
A
¡ ç  
Y+1  
5
LMAIY  
A, Y  
RAM to  
LYM  
Register  
LAM  
¡ ç  
¡ ç  
¡ ê  
¡ ç  
6
Y
A
A
Y
M(X,Y)  
M(X,Y)  
M(X,Y)  
i
7
8
XMA  
LYI i  
9
¡ ç  
¡ ç  
Y+1  
10  
11  
12  
13  
14  
15  
16  
17  
18  
19  
20  
21  
22  
23  
24  
25  
LMIIY i  
LXI n  
SEM n  
REM n  
TM n  
BR a  
CAL a  
RTN  
LPBI i  
AM  
M(X,Y)  
i, Y  
Immediate  
¡ ç  
X
n
¡ ç  
¡ ç  
M(n)  
M(n)  
1
RAM Bit  
Manipulation  
0
TEST M(n) = 1  
if ST = 1 then Branch  
if ST = 1 then Subroutine call  
Return from Subroutine  
ROM  
Address  
¡ ç  
PB  
i
¡ ç  
A
A
A
A
A
Y
A
A + M(X,Y)  
¡ ç  
¡ ç  
¡ ç  
¡ ç  
¡ ç  
¡ ç  
SM  
M(X,Y) - A  
M(X,Y) + 1  
M(X,Y) - 1  
A + 1  
IM  
Arithmetic  
DM  
IA  
IY  
Y + 1  
DA  
A - 1  
3 - 2  
Chapter 3. Instruction  
Category Mnemonic  
Function  
ST*1  
B
¡ ç  
¡ ç  
¡ ç  
26  
27  
28  
29  
30  
31  
32  
33  
34  
35  
36  
37  
38  
39  
40  
41  
42  
43  
DY  
Y
A
A
Y - 1  
Arithmetic  
EORM  
A + M (X,Y)  
A + 1  
S
NEGA  
ALEM  
ALEI i  
MNEZ  
Z
¡ Â  
¡ Â  
TEST A  
TEST A  
M(X,Y)  
E
i
E
¡ Á  
TEST M(X,Y)  
0
N
N
N
N
N
S
Comparison  
¡ Á  
¡ Á  
¡ Á  
¡ Á  
YNEA  
YNEI i  
KNEZ  
RNEZ  
LAK  
TEST Y  
TEST Y  
TEST K  
TEST R  
A
i
0
0
¡ ç  
¡ ç  
A
A
K
R
LAR  
S
Input /  
Output  
1*2  
0*2  
S
¡ ç  
¡ ç  
SO  
Output(Y)  
Output(Y)  
RO  
S
WDTR  
STOP  
LPY  
Watch Dog Timer Reset  
Stop operation  
S
S
Control  
¡ ç  
PMR  
Y
S
NOP  
No operation  
S
Note) i = 0~f, n = 0~3, a = 6bit PC Address  
*1 Column ST indicates conditions for changing status. Symbols have the following  
meanings  
S : On executing an instruction, status is unconditionally set.  
C : Status is only set when carry or borrow has occurred in operation.  
B : Status is only set when borrow has not occurred in operation.  
E : Status is only set when equality is found in comparison.  
N : Status is only set when equality is not found in comparison.  
Z : Status is only set when the result is zero.  
3 - 3  
Chapter 3. Instruction  
*2 Operation is settled by a value of Y-register.  
Value of X-reg Value of Y-reg  
Operation  
¡ ç  
¡ ç  
0 or 1  
0~7  
SO : D(Y)  
1, RO : D(Y)  
0
¡ È ¡ È  
¡ È ¡ È  
REMOUT port repeats  
H
and  
L
in pulse  
¡ È ¡ È  
frequency. (when PMR = 5, it is fixed at  
H
)
0 or 1  
8
¡ ç  
¡ ç  
SO : REMOUT (PMR)  
RO : REMOUT (PMR)  
1
0
¡ ç  
¡ ç  
SO : D0 ~ D9  
R0 : D0 ~ D9  
1 (High-Z)  
0
0 or 1  
9
¡ ç  
¡ ç  
¡ ç  
0
0 or 1  
0 or 1  
A ~ D  
E
SO : R(Y-Ah)  
SO : R0 ~ R3  
1, RO : R(Y-Ah)  
1, RO : R0~R3  
¡ ç  
0
¡ ç  
¡ ç  
¡ ç  
¡ ç  
SO : D0 ~ D9  
R0 : D0 ~ D9  
1 (High-Z) R0~R3  
1
0
0 or 1  
F
0
R0~R3  
¡ ç  
¡ ç  
¡ ç  
¡ ç  
2 or 3  
2 or 3  
0
1
SO : D(8)  
SO : D(9)  
1, RO : D(8)  
1, RO : D(9)  
0
0
3 - 4  
Chapter 3. Instruction  
DETAILS OF INSTRUCTION SYSTEM  
All 43 basic instructions of the GMS340 Series are one by one described in detail  
below.  
Description Form  
Each instruction is headlined with its mnemonic symbol according to the  
instructions table given earlier.  
Then, for quick reference, it is described with basic items as shown below. After  
that, detailed comment follows.  
• Items :  
- Naming :  
- Status :  
- Format :  
- Operand :  
- Function  
Full spelling of mnemonic symbol  
Check of status function  
¥° ¥³  
to  
Categorized into  
¥°  
Omitted for Format  
3 - 5  
Chapter 3. Instruction  
Detailed Description  
(1) LAY  
Naming :  
Load Accumulator from Y-Register  
Status :  
Set  
Format :  
Function :  
<Comment>  
I
A
¡ ç  
Y
Data of four bits in the Y-register is unconditionally transferred  
to the accumulator. Data in the Y-register is left unchanged.  
(2) LYA  
Naming :  
Status :  
Format :  
Function :  
<Comment>  
Load Y-register from Accumulator  
Set  
I
¡ ç  
Y
A
Load Y-register from Accumulator  
(3) LAZ  
Naming :  
Status :  
Clear Accumulator  
Set  
Format :  
Function :  
<Comment>  
I
A
¡ ç  
0
Data in the accumulator is unconditionally reset to zero.  
(4) LMA  
Naming :  
Status :  
Format :  
Function :  
<Comment>  
Load Memory from Accumulator  
Set  
I
¡ ç  
M(X,Y)  
A
Data of four bits from the accumulator is stored in the RAM  
location addressed by the X-register and Y-register. Such data  
is left unchanged.  
(5) LMAIY  
Naming :  
Status :  
Load Memory from Accumulator and Increment Y-Register  
Set  
I
Format :  
¡ ç  
¡ ç  
Y+1  
Function :  
<Comment>  
M(X,Y)  
A, Y  
Data of four bits from the accumulator is stored in the RAM  
location addressed by the X-register and Y-register. Such data  
is left unchanged.  
3 - 6  
Chapter 3. Instruction  
(6) LYM  
Naming :  
Load Y-Register form Memory  
Status :  
Set  
Format :  
I
¡ ç  
M(X,Y)  
Function :  
<Comment>  
Y
Data from the RAM location addressed by the X-register and  
Y-register is loaded into the Y-register. Data in the memory is  
left unchanged.  
(7) LAM  
Naming :  
Status :  
Load Accumulator from Memory  
Set  
Format :  
I
¡ ç  
M(X,Y)  
Function :  
<Comment>  
A
Data from the RAM location addressed by the X-register and  
Y-register is loaded into the Y-register. Data in the memory is  
left unchanged.  
(8) XMA  
Naming :  
Status :  
Format :  
Exchanged Memory and Accumulator  
Set  
I
¡ ê  
A
Function :  
<Comment>  
M(X,Y)  
Data from the memory addressed by X-register and Y-register  
is exchanged with data from the accumulator. For example,  
this instruction is useful to fetch a memory word into the  
accumulator for operation and store current data from the  
accumulator into the RAM. The accumulator can be restored  
by another XMA instruction.  
(9) LYI i  
Naming :  
Status :  
Load Y-Register from Immediate  
Set  
¥²  
Format :  
¡  ¡   
15  
Operand :  
Function :  
<Purpose>  
Constant 0  
¡ ç  
i
Y
i
To load a constant in Y-register. It is typically used to specify  
Y-register in a particular RAM word address, to specify the  
address of a selected output line, to set Y-register for  
specifying a carrier signal outputted from OUT port, and to  
initialize Y-register for loop control. The accumulator can be  
restored by another XMA instruction.  
<Comment>  
Data of four bits from operand of instruction is transferred to  
the Y-register.  
3 - 7  
Chapter 3. Instruction  
(10) LMIIY i  
Naming :  
Status :  
Load Memory from Immediate and Increment Y-Register  
Set  
¥²  
Format :  
¡  ¡   
i, Y  
Operand :  
Function :  
<Comment>  
Constant 0  
¡ ç  
i
15  
¡ ç  
M(X,Y)  
Y + 1  
Data of four bits from operand of instruction is stored into the  
RAM location addressed by the X-register and Y-register.  
Then data in the Y-register is incremented by one.  
(11) LXI n  
Naming :  
Status :  
Load X-Register from Immediate  
Set  
¥±  
Format :  
¡  ¡   
3
Operand :  
Function :  
<Comment>  
X file address 0  
¡ ç  
n
X
n
A constant is loaded in X-register. It is used to set X-register in  
an index of desired RAM page. Operand of 1 bit of command  
is loaded in X-register.  
(12) SEM n  
Naming :  
Status :  
Set Memory Bit  
Set  
¥±  
Format :  
¡  ¡   
1
Operand :  
Function :  
<Comment>  
Bit address 0  
¡ ç  
n
3
M(X,Y,n)  
Depending on the selection in operand of operand, one of four  
bits is set as logic 1 in the RAM memory addressed in  
accordance with the data of the X-register and Y-register.  
(13) REM n  
Naming :  
Status :  
Reset Memory Bit  
Set  
¥±  
Format :  
¡  ¡   
0
Operand :  
Function :  
<Comment>  
Bit address 0  
¡ ç  
n
3
M(X,Y,n)  
Depending on the selection in operand of operand, one of four  
bits is set as logic 0 in the RAM memory addressed in  
accordance with the data of the X-register and Y-register.  
3 - 8  
Chapter 3. Instruction  
(14) TM n  
Naming :  
Test Memory Bit  
Status :  
Comparison results to status  
¥±  
Format :  
Operand :  
Function :  
¡  ¡   
1?  
1 when M(X,Y,n)=1, ST  
Bit address 0  
¡ ç  
n
3
M(X,Y,n)  
¡ ç  
¡ ç  
ST  
0 when M(X,Y,n)=0  
<Purpose>  
A test is made to find if the selected memory bit is logic. 1  
Status is set depending on the result.  
(15) BR a  
Naming :  
Status :  
Format :  
Operand :  
Function :  
Branch on status 1  
Conditional depending on the status  
¥³  
Branch address a (Addr)  
¡ ç  
¡ ç  
¡ ç  
When ST =1 , PA  
When ST = 0, PC  
PB, PC  
PC + 1, ST  
a(Addr)  
¡ ç  
1
Note : PC indicates the next address in a fixed sequence that  
is actually pseudo-random count.  
<Purpose>  
For some programs, normal sequential program execution can  
be change.  
A branch is conditionally implemented depending on the status  
of results obtained by executing the previous instruction.  
<Comment>  
• Branch instruction is always conditional depending on the  
status.  
a. If the status is reset (logic 0), a branch instruction is not  
rightly executed but the next instruction of the sequence is  
executed.  
b. If the status is set (logic 1), a branch instruction is executed  
as follows.  
• Branch is available in two types - short and long. The former  
is for addressing in the current page and the latter for  
addressing in the other page. Which type of branch to exeute  
is decided according to the PB register. To execute a long  
branch, data of the PB register should in advance be modified  
to a desired page address through the LPBI instruction.  
3 - 9  
Chapter 3. Instruction  
(16) CAL a  
Naming :  
Status :  
Subroutine Call on status 1  
Conditional depending on the status  
¥³  
Format :  
Operand :  
Function :  
Subroutine code address a(Addr)  
¡ ç  
¡ ç  
¡ ç  
¡ ç  
¡ ç  
PB  
When ST =1 , PC  
a(Addr)  
PC + 1,  
SR1  
PA  
¡ ç  
PA  
SR1  
SR2  
PSR1  
PSR2  
PSR3  
¡ ç  
¡ ç  
PSR1  
PSR2  
SR3  
SR2  
¡ ç  
¡ ç  
¡ ç  
PS ST 1  
When ST = 0 PC  
PC + 1  
PB  
Note : PC actually has pseudo-random count against the next  
instruction.  
<Comment>  
• In a program, control is allowed to be transferred to a mutual  
subroutine. Since a call instruction preserves the return  
address, it is possible to call the subroutine from different  
locations in a program, and the subroutine can return control  
accurately to the address that is preserved by the use of the  
call return instruction (RTN).  
Such calling is always conditional depending on the status.  
a. If the status is reset, call is not executed.  
b. If the status is set, call is rightly executed.  
The subroutine stack (SR) of three levels enables a subroutine  
to be manipulated on three levels. Besides, a long call (to call  
another page) can be executed on any level.  
• For a long call, an LPBI instruction should be executed before  
the CAL. When LPBI is omitted (and when PA=PB), a short  
call (calling in the same page) is executed.  
3 - 10  
Chapter 3. Instruction  
(17) RTN  
Naming :  
Return from Subroutine  
Status :  
Set  
¥°  
PC  
Format :  
Function :  
¡ ç  
¡ ç  
PSR1  
SR1  
PA, PB  
¡ ç  
¡ ç  
¡ ç  
¡ ç  
SR1  
SR2  
SR3  
SR2  
SR3  
SR3  
PSR1  
PSR2  
PSR3  
ST  
PSR2  
PSR3  
PSR2  
1
¡ ç  
¡ ç  
¡ ç  
<Purpose>  
Control is returned from the called subroutine to the calling  
program.  
<Comment>  
Control is returned to its home routine by transferring to the PC  
the data of the return address that has been saved in the stack  
register (SR1).  
At the same time, data of the page stack register (PSR1) is  
transferred to the PA and PB.  
(18) LPBI i  
Naming :  
Status :  
Load Page Buffer Register from Immediate  
Set  
¥²  
Format :  
¡  ¡   
15  
Operand :  
Function :  
<Purpose>  
ROM page address 0  
¡ ç  
i
PB  
i
A new ROM page address is loaded into the page buffer  
register (PB).  
This loading is necessary for a long branch or call instruction.  
The PB register is loaded together with three bits from 4 bit  
operand.  
<Comment>  
(19) AM  
Naming :  
Status :  
Add Accumulator to Memory and Status 1 on Carry  
Carry to status  
¥°  
A
Format :  
Function :  
¡ ç  
¡ ç  
¡ ç  
M(X,Y)+A, ST  
ST  
1(when total>15),  
¡ Â  
0 (when total 15)  
<Comment>  
Data in the memory location addressed by the X and Y-register  
is added to data of the accumulator. Results are stored in the  
accumulator. Carry data as results is transferred to status.  
¡ È ¡ È  
When the total is more than 15, a carry is caused to put  
in the status. Data in the memory is not changed.  
1
3 - 11  
Chapter 3. Instruction  
(20) SM  
Naming :  
Status :  
Subtract Accumulator to Memory and Status 1 Not Borrow  
Carry to status  
¥°  
A
Format :  
Function :  
¡ ç  
¡ ç  
¡ ç  
¡ Â  
1(when A M(X,Y))  
0(when A > M(X,Y))  
M(X,Y) - A  
ST  
ST  
<Comment>  
Data of the accumulator is, through a 2`s complemental  
addition, subtracted from the memory word addressed by the  
Y-register. Results are stored in the accumulator. If data of  
the accumulator is less than or equal to the memory word, the  
status is set to indicate that a borrow is not caused.  
If more than the memory word, a borrow occurs to reset the  
¡ È ¡ È  
0 .  
status to  
(21) IM  
Naming :  
Status :  
Increment Memory and Status 1 on Carry  
Carry to status  
¥°  
A
Format :  
Function :  
¡ ç  
¡ ç  
¡ ç  
¡ Ã  
1(when M(X,Y) 15)  
0(when M(X,Y) < 15)  
M(X,Y) + 1  
ST  
ST  
<Comment>  
Data of the memory addressed by the X and Y-register is  
fetched. Adding 1 to this word, results are stored in the  
accumulator. Carry data as results is transferred to the status.  
When the total is more than 15, the status is set. The memory  
is left unchanged.  
(22) DM  
Naming :  
Decrement Memory and Status 1 on Not Borrow  
Status :  
Carry to status  
¥°  
A
Format :  
Function :  
¡ ç  
¡ ç  
¡ ç  
¡ Ã  
M(X,Y) - 1  
ST  
ST  
1(when M(X,Y) 1)  
0 (when M(X,Y) = 0)  
<Comment>  
Data of the memory addressed by the X and Y-register is  
fetched, and one is subtracted from this word (addition of Fh)>  
Results are stored in the accumulator. Carry data as results is  
transferred to the status. If the data is more than or equal to  
one, the status is set to indicate that no borrow is caused. The  
memory is left unchanged.  
3 - 12  
Chapter 3. Instruction  
(23) IA  
Naming :  
Increment Accumulator  
Status :  
Set  
¥°  
Format :  
¡ ç  
A+1  
Function :  
<Comment>  
A
Data of the accumulator is incremented by one. Results are  
returned to the accumulator.  
A carry is not allowed to have effect upon the status.  
(24) IY  
Naming :  
Status :  
Increment Y-Register and Status 1 on Carry  
Carry to status  
¥°  
Y
Format :  
Function :  
¡ ç  
¡ ç  
¡ ç  
Y + 1  
ST  
ST  
1 (when Y = 15)  
0 (when Y < 15)  
<Comment>  
Data of the Y-register is incremented by one and results are  
returned to the Y-register.  
Carry data as results is transferred to the status. When the  
total is more than 15, the status is set.  
(25) DA  
Naming :  
Status :  
Decrement Accumulator and Status 1 on Borrow  
Carry to status  
¥°  
A
Format :  
Function :  
¡ ç  
¡ ç  
¡ ç  
¡ Ã  
A - 1  
ST  
ST  
1(when A 1)  
0 (when A = 0)  
<Comment>  
Data of the accumulator is decremented by one. As a result  
(by addition of Fh), if a borrow is caused, the status is reset to  
¡ È ¡ È  
0
by logic. If the data is more than one, no borrow occurs  
¡ È ¡ È  
1 .  
and thus the status is set to  
3 - 13  
Chapter 3. Instruction  
(26) DY  
Naming :  
Status :  
Decrement Y-Register and Status 1 on Not Borrow  
Carry to status  
¥°  
Y
Format :  
Function :  
¡ ç  
¡ ç  
¡ ç  
¡ Ã  
1 (when Y 1)  
0 (when Y = 0)  
Y -1  
ST  
ST  
<Purpose>  
<Comment>  
Data of the Y-register is decremented by one.  
Data of the Y-register is decremented by one by addition of  
minus 1 (Fh).  
Carry data as results is transferred to the status. When the  
results is equal to 15, the status is set to indicate that no  
borrow has not occurred.  
(27) EORM  
Naming :  
Status :  
Exclusive or Memory and Accumulator  
Set  
¥°  
Format :  
¡ ç  
M(X,Y) + A  
Function :  
<Comment>  
A
Data of the accumulator is, through a Exclusive OR,  
subtracted from the memory word addressed by X and Y-  
register. Results are stored into the accumulator.  
(28) NEGA  
Naming :  
Status :  
Negate Accumulator and Status 1 on Zero  
Carry to status  
¥°  
A
Format :  
Function :  
¡ ç  
¡ ç  
¡ ç  
A + 1  
ST  
ST  
1(when A = 0)  
0 (when A != 0)  
<Purpose>  
<Comment>  
The 2`s complement of a word in the accumulator is obtained.  
The 2`s complement in the accumulator is calculated by adding  
one to the 1`s complement in the accumulator. Results are  
stored into the accumulator. Carry data is transferred to the  
status. When data of the accumulator is zero, a carry is  
¡ È ¡ È  
1 .  
caused to set the status to  
3 - 14  
Chapter 3. Instruction  
(29) ALEM  
Naming :  
Accumulator Less Equal Memory  
Status :  
Carry to status  
¥°  
A
Format :  
Function :  
¡ Â  
¡ ç  
¡ ç  
¡ Â  
1 (when A M(X,Y))  
0 (when A > M(X,Y))  
M(X,Y)  
ST  
ST  
<Comment>  
Data of the accumulator is, through a complemental addition,  
subtracted from data in the memory location addressed by the  
X and Y-register. Carry data obtained is transferred to the  
¡ È ¡ È  
, it indicates that the data of  
status. When the status is  
1
the accumulator is less than or equal to the data of the  
memory word. Neither of those data is not changed.  
(30) ALEI  
Naming :  
Status :  
Accumulator Less Equal Immediate  
Carry to status  
¥²  
A
Format :  
Function :  
¡ Â  
¡ ç  
¡ ç  
¡ Â  
1 (when A i)  
0 (when A > i)  
i
ST  
ST  
<Purpose>  
Data of the accumulator and the constant are arithmetically  
compared.  
<Comment>  
Data of the accumulator is, through a complemental addition,  
subtracted from the constant that exists in 4bit operand. Carry  
data obtained is transferred to the status. The status is set  
when the accumulator value is less than or equal to the  
constant. Data of the accumulator is left unchanged.  
(31) MNEZ  
Naming :  
Memory Not Equal Zero  
Comparison results to status  
¥°  
Status :  
Format :  
Function :  
¡ Á  
¡ ç  
¡ ç  
¡ Á  
0)  
M(X,Y)  
0
ST  
ST  
1(when M(X,Y)  
0 (when M(X,Y) = 0)  
<Purpose>  
A memory word is compared with zero.  
<Comment>  
Data in the memory addressed by the X and Y-register is  
logically compared with zero. Comparison data is thransferred  
to the status. Unless it is zero, the status is set.  
3 - 15  
Chapter 3. Instruction  
(32) YNEA  
Naming :  
Status :  
Y-Register Not Equal Accumulator  
Comparison results to status  
¥°  
Format :  
Function :  
¡ Á  
¡ ç  
¡ ç  
¡ Á  
1 (when Y A)  
0 (when Y = A)  
Y
A
ST  
ST  
<Purpose>  
Data of Y-register and accumulator are compared to check if  
they are not equal.  
<Comment>  
Data of the Y-register and accumulator are logically compared.  
Results are transferred to the status. Unless they are equal,  
the status is set.  
(33) YNEI  
Naming :  
Status :  
Y-Register Not Equal Immediate  
Comparison results to status  
¥²  
Format :  
Operand :  
Function :  
¡  ¡   
15  
Constant 0  
¡ Á  
i
¡ ç  
¡ ç  
¡ Á  
1 (when Y i)  
0 (when Y = i)  
Y
i
ST  
ST  
<Comment>  
The constant of the Y-register is logically compared with 4bit  
operand. Results are transferred to the status. Unless the  
operand is equal to the constant, the status is set.  
(34) KNEZ  
Naming :  
Status :  
K Not Equal Zero  
The status is set only when not equal  
¥°  
Format :  
¡ Á  
¡ ç  
1
Function :  
<Purpose>  
<Comment>  
When K  
0, ST  
A test is made to check if K is not zero.  
Data on K are compared with zero. Results are transferred to  
the status. For input data not equal to zero, the status is set.  
(35) RNEZ  
Naming :  
Status :  
R Not Equal Zero  
The status is set only when not equal  
¥°  
Format :  
¡ Á  
¡ ç  
1
Function :  
<Purpose>  
<Comment>  
When R  
0, ST  
A test is made to check if R is not zero.  
Data on R are compared with zero. Results are transferred to  
the status. For input data not equal to zero, the status is set.  
3 - 16  
Chapter 3. Instruction  
(36) LAK  
Naming :  
Load Accumulator from K  
Status :  
Set  
¥°  
Format :  
¡ ç  
K
Function :  
<Comment>  
A
Data on K are transferred to the accumulator  
(37) LAR  
Naming :  
Status :  
Load Accumulator from R  
Set  
¥°  
Format :  
¡ ç  
R
Function :  
<Comment>  
A
Data on R are transferred to the accumulator  
(38) SO  
Naming :  
Status :  
Set Output Register Latch  
Set  
¥°  
D(Y)  
Format :  
Function :  
¡ ç  
¡  ¡   
Y 7  
1
0
¡ ç  
REMOUT  
1(PMR=5)  
1 (High-Z)  
Y = 8  
Y = 9  
¡ ç  
D0~D9  
¡ ç  
1
¡  ¡   
Y Dh  
Y = Eh  
Y = Fh  
R(Y)  
¡ ç  
1
Ah  
R
¡ ç  
D0~D9, R  
1
<Purpose>  
A single D output line is set to logic 1, if data of Y-register is  
between 0 to 7.  
Carrier frequency come out from REMOUT port, if data of  
Y-register is 8.  
All D output line is set to logic 1, if data of Y-register is 9.  
It is no operation, if data of Y-register between 10 to 15.  
When Y is between Ah and Dh, one of R output lines is set at  
logic 1.  
When Y is Eh, the output of R is set at logic 1.  
When Y is Fh, the output D0~D9 and R are set at logic 1.  
Data of Y-register is between 0 to 7, selects appropriate D  
output.  
<Comment>  
Data of Y-register is 8, selects REMOUT port.  
Data of Y-register is 9, selects all D port.  
Data in Y-register, when between Ah and Dh, selects an  
appropriate R output (R0~R3).  
Data in Y-register, when it is Eh, selects all of R0~R3.  
Data in Y-register, when it is Fh, selects all of D0~D9 and  
R0~R3.  
3 - 17  
Chapter 3. Instruction  
(39) RO  
Naming :  
Status :  
Reset Output Register Latch  
Set  
¥°  
D(Y)  
Format :  
Function :  
¡ ç  
¡  ¡   
Y 7  
0
0
¡ ç  
0
REMOUT  
0
Y = 8  
Y = 9  
¡ ç  
D0~D9  
¡ ç  
0
¡  ¡   
Y Dh  
Y = Eh  
Y = Fh  
R(Y)  
¡ ç  
0
Ah  
R
¡ ç  
D0~D9, R  
0
<Purpose>  
A single D output line is set to logic 0, if data of Y-register is  
between 0 to 9.  
REMOUT port is set to logic 0, if data of Y-register is 9.  
All D output line is set to logic 0, if data of Y-register is 9.  
When Y is between Ah and Dh, one of R output lines is set at  
logic 0.  
When Y is Eh, the output of R is set at logic 0  
When Y is Fh, the output D0~D9 and R are set at logic 1.  
Data of Y-register is between 0 to 7, selects appropriate D  
output.  
<Comment>  
Data of Y-register is 8, selects REMOUT port.  
Data of Y-register is 9, selects D port.  
Data in Y-register, when between Ah and Dh, selects an  
appropriate R output (R0~R3).  
Data in Y-register, when it is Eh, selects all of R0~R3.  
Data in Y-register, when it is Fh, selects all of D0~D9 and  
R0~R3.  
(40) WDTR  
Naming :  
Status :  
Watch Dog Timer Reset  
Set  
¥°  
Format :  
Function :  
<Purpose>  
Reset Watch Dog Timer (WDT)  
Normally, you should reset this counter before overflowed  
counter for dc watch dog timer. this instruction controls this  
reset signal.  
3 - 18  
Chapter 3. Instruction  
(41) STOP  
Naming :  
STOP  
Status :  
Set  
¥°  
Format :  
Function :  
<Purpose>  
Operate the stop function  
Stopped oscillator, and little current.  
(See 1-12 page, STOP function.)  
(42) LPY  
Naming :  
Status :  
Pulse Mode Set  
Set  
¥°  
Format :  
¡ ç  
Y
Function :  
<Comment>  
PMR  
Selects a pulse signal outputted from REMOUT port.  
(43) NOP  
Naming :  
Status :  
No Operation  
Set  
¥°  
Format :  
Function :  
No operation  
3 - 19  
INTRODUCTION  
ARCHITECTURE  
INSTRUCTION  
EVALUATION BOARD  
SOFTWARE  
1
2
3
4
5
6
APPENDIX  
Chapter 4. Evaluation Board  
CHAPTER 4. Evaluation Board  
OUTLINE  
The GMS 30000 EVA is an evaluation board for GMS340 series, 4-bit, 1-chip  
microcomputer. It is designed to evaluate and confirm the operations of the  
application system in the nearest possible form of final products while it is under  
development.  
The major features are as follows :  
• The GMS 30000 EVA is used for the evaluation chip.  
• The board is connected to the application system through an connection  
cable (DIP24).  
• EPROM of 2764, 27128, and 27256 are used for the program memory.  
• The instruction system and I/O specifications are basically the same as  
those of the GMS340 series.  
Product Specifications  
¡ ¿  
82 (mm)  
• GMS 30000 EVA board module  
Dimensions  
64  
Supply Voltage  
2.5 ~ 5.5 (V)  
¡ É  
Operating temperature 0~50 (  
DIP 24 cable  
)
• Connection cable  
4 - 1  
Chapter 4. Evaluation Board  
Connection  
Perform emulation with the following connectors.  
[User] Connection socket  
The cable for the target system is connected.  
Pin No.  
Signal  
Reset  
GND  
R0  
Pin No.  
13  
Signal  
D9  
1
2
14  
D1  
3
15  
D2  
4
R1  
16  
D3  
5
R2  
17  
D4  
6
R3  
18  
D5  
7
K0  
19  
D6  
8
K1  
20  
D7  
9
K2  
21  
Remout  
OSC2  
OSC1  
VDD  
10  
11  
12  
K3  
22  
D0  
23  
D8  
24  
[M1] Monitor pin  
Operations inside the GMS 30000 EVA can be monitored. Signals that can be  
monitored are as follows.  
AC0~AC3, X0, X1, Y0~Y3, REMDATA, CK2, CK5, WDTR, GND  
[M2] Oscillation monitoring pin  
The oscillation output signal can be monitored.  
[T1] D8 output monitoring pin  
The D8 output signal can be monitored.  
[T2] D9 output monitoring pin  
The D9 output signal can be monitored.  
4 - 2  
Chapter 4. Evaluation Board  
Optional setting  
The following optional setting in accordance with the application system  
specifications is required :  
[S1] Optional mask setting  
Optional masks available with GMS300 series units can be set by selecting  
short posts.  
1. Setting of K-input and R-Port for STOP release  
Shorting the KSR0 ~ KSR3 and RSR0 ~ RSR3 with the side of H can set the  
STOP releasing function by the corresponding KSR0 ~ KSR3 and RSR0 ~  
RSR3. If no STOP releasing function is desired, short them with the side of L.  
Setting pin  
Short post  
K0  
KSR0  
H
K1  
KSR1  
H
K2  
KSR2  
H
K3  
KSR3  
H
R0  
RSR0  
H
R1  
RSR1  
H
R2  
RSR2  
H
R3  
RSR3  
H
Setting of STOP  
No setting of STOP  
L
L
L
L
L
L
L
L
2. Setting of pull-up resistor built-in R-Port pull-up resistor can be built in the  
R-Port by shorting the corresponding RPU0 ~ RPU3 with the side of H.  
If installation of built-in pull-up resistor is not desired, short them with the  
side of L.  
Setting pin  
Short post  
R0  
RPU0  
H
R1  
RPU1  
H
R2  
RPU2  
H
R3  
RPU3  
H
Built-in pull-up resistor installation  
No built-in pull-up resistor installation  
L
L
L
L
4 - 3  
Chapter 4. Evaluation Board  
3. Setting of output condition of D0~D7 in STOP  
Shorting the DSC0~DSC7 with the side of H can set the output condition of  
¡ È ¡ È  
corresponding D-output in STOP at  
L
forcibly.  
To set the condition of usual output (the condition before STOP started is  
maintained), short them with the side of L.  
Setting pin  
D0  
D1  
D2  
D3  
D4  
D5  
D6  
D7  
Short post  
DSC0  
DSC1  
DSC2  
DSC3  
DSC4  
DSC5  
DSC6  
DSC7  
Forced setting at  
¡ È ¡ È  
L
in STOP  
release  
H
L
H
L
H
L
H
L
H
L
H
L
H
L
H
L
Usual output in  
STOP released  
4. Setting of watch dog timer release with REMOUT output  
The watch dog timer can be reset with REMOUT output signals by shorting  
the WDTM with the side of L.  
If the WDT resetting with REMOUT output signals is not desired, short it  
with the side of H.  
Short post  
Reset timer  
WDTM  
L
Do not reset timer  
H
[S2] External STOP setting  
STOP can be set from the outside by shorting the S2 toward the side of H.  
Usually, short it toward the side of L.  
[S3] Power supply connection  
This selection should be strapped to VDD  
.
4 - 4  
Chapter 4. Evaluation Board  
[S4] EPROM 2764/128, and 27256 can be installed by switching over the S4. For  
EPROM, however, right-justify ROM chip pin 1 from socket pin 3.  
Short post  
2764/128  
27256  
S4  
H
L
[S5, S6] Clock input selection  
Self-induced oscillation with the external clock input and oscillator can be set by  
switching over the S5 & S6  
Short post  
S5 & S6  
External clock input  
U
X
Internal self-induced oscillation  
For internal clock input, install an oscillator on the PCB. Since the oscillation  
circuit constant varies depending on the oscillator, adjust the constant by  
referring to the oscillator manufacture`s recommendable values.  
[S7, S8, JP] Clock input selection  
MHz and KHz oscillation can be selected by switching over the S7, S8 and JP.  
Short post  
MHz oscillation  
KHz oscillation  
S7 & S8 & JP  
M
K
4 - 5  
Chapter 4. Evaluation Board  
Caution on Operation  
• It is required to install a 24DIP IC socket in the application system. The  
connection cable is connected to the socket.  
• There is a possibility that the ceramic oscillator on the application system cannot  
oscillate properly due to the influence of connection cable wiring capacitor or other  
reasons. In such a case, install the oscillator on the evaluation board.  
• Since the GMS 30000 EVA is designed to evaluate the program operations, there  
is a case where the AC and DC characteristics differ from those of the mass-  
produced chips  
S3  
S4  
S5  
S7  
S6  
S8  
JP  
M K  
H
H
L
L
U
X
K
U
X
K
M
M
1
28  
GND  
CX3  
CX2  
X1  
X0  
E V A  
Connector  
M1  
AC3  
AC2  
AC1  
AC0  
Y3  
80  
1
(80QFP)  
Y2  
Y1  
Y0  
WDTR  
H
REM DATA  
RSR0  
H
L
S2  
S1  
GSEN  
EVA30000  
RSR1  
RSR2  
RSR3  
RPU0  
RPU1  
RPU2  
RPU3  
KSR0  
KSR1  
KSR2  
KSR3  
S1  
BKPOINT  
GND  
T2  
WDTM  
USER  
T1  
DSC7  
DSC6  
DSC5  
DSC4  
DSC3  
DSC2  
DSC1  
DSC0  
Connector  
(24Pin Socket)  
L
H
L
Fig 4-1 Layout Diagram  
4 - 6  
INTRODUCTION  
ARCHITECTURE  
INSTRUCTION  
EVALUATION BOARD  
SOFTWARE  
1
2
3
4
5
6
APPENDIX  
Chapter 5. Software  
CHAPTER 5. Software  
Configuration of Assembler  
Execute File  
GA80.EXE  
Description  
Assembler  
GMSLST.EXE  
GMSHEX.EXE  
GMSCRF.EXE  
GMSTST.EXE  
GMSROM.EXE  
GS.BAT  
Create assembler list file  
Create HEX.file  
Create cross reference file  
Create instruction check file  
Create ROM dump file  
Batch processing of the above  
Instruction library file  
GMS30K.LIB  
Boothing up Assembler  
Creating your own source file with the extension name of SRC and execute batch  
file (GS.BAT). This batch file converts the source code written in mnemonic into  
machine language and generate a kind of useful file.  
C> GS Source file (.SRC)  
Input File  
Output File  
Content  
EX.LST  
EX.RHX  
EX.CRF  
EX.TST  
EX.DMP  
EX.SYM  
List file  
Hexa file (for EPROM, simulator)  
Cross reference file  
Instruction check file  
ROM dump file (for masking data)  
Symbol file  
EX.SRC  
* HEX and PRN file is intermediate file  
5 - 1  
Chapter 5. Software  
Configuration of Simulator  
1. Overview  
The simulator is a program for GMS300 Series 4-bit one-chip microcomputer.  
The environment is organized based upon Hexa file of *.RHX and Cross Reference file  
of *.CRF generated by assembling the source program coded by programmer.  
Execution Environment  
System : IBM-PC/AT or higher (MS-DOS or PC-DOS)  
Video : Hercules, EGA or VGA color  
Organizing files  
GSSIM.EXE  
GMS30K.GSP  
:
:
Simulator execution file  
Store the simulator environment. It is  
generated automatically when executing  
the program initially (Selected CPU.  
Store the file names previously loaded.).  
Help file of simulator commands.  
Record the working history of users. Generated  
by LOG ON and LOG OFF commands.  
GMS30K.HLP  
GMS30K.LOG  
:
:
*.BAT  
:
:
List a set of simulator command. Generated by  
user.  
Provide the port input-value when executing  
the simulator. Generated by user.  
PORTIN.DAT  
Supporting CPU  
GMS30004, GMS30012, GMS30112, GMS30120, GMS30140  
5 - 2  
Chapter 5. Software  
2. Characteristics of Simulator  
- User-friendly pop-up window menu. Select the necessary command and display  
the screen in windows format so that users can know the execution results.  
- Display always the register window in the right side so that programmer can check  
easily the change of data memory value as program proceeds.  
- Maintain the previous simulator environment if user does not make the extra changes  
when re-executing after logging out completely from the simulator  
previously executed by loading the source program. In other words, the previously-  
executed file is automatically loaded when the simulator is executed (GMS30K.GSP  
file).  
- When trace command ([F8] or > T command) is executed, the changed values are  
noticed easily by displaying the highlighted changed values in register and memory  
windows, if the contents of each register or data memory is changed as command  
line is processed.  
- When trace command ([F8] or > T command) is executed, the current execution  
line is highlighted.  
- Out of the simulator commands, load or save commands is executable in pop-up  
windows. In-line command is executable as prompt command in the command  
window.  
5 - 3  
Chapter 5. Software  
3. Screen Organization of Simulator  
Screen is basically organized with four windows; Memory, Source, Command and  
Register. Source and Command windows can be enlarged up to the full screen  
size (CTRL-[F10]). Movement between windows is made by [F6].  
3.1 Memory Window  
Data memory contents of the currently selected micom is displayed. 32 nibble  
data values of 00~1F(h) addresses are displayed.  
3.2 Source Window  
The contents of *.RHX file called by load command is displayed in the state of  
being disassembled. Addresses are displayed randomly in the state of  
polynomial together with instruction code and mnemonic. If *.CRF file is  
called, label is displayed at the corresponding position. Display position of  
source program is adjustable with Up/Down arrow keys and Page Up/Down  
keys.  
3.3 Command Window  
All kinds of commands provided by simulator is executed by In-line command,  
and the execution results of the commands are displayed. Command window  
size is adjustable with [CTRL]-[F10].  
5 - 4  
Chapter 5. Software  
3.4 Register Window  
Display each register value inside micom, I/O port value and machine cycle  
altogether. When trace command is executed by function key [F8], the  
register value after the previous command before the current program counter  
is executed is displayed. All kinds of register and I/O ports displayed in  
register window are as follows.  
PC  
ACC  
PA  
:Program counter  
:Accumulator  
:Page address  
2digit 6bit  
1digit 4bit  
1digit 4bit  
1digit 4bit  
[Hexa]  
[Hexa]  
[Hexa]  
[Hexa]  
PB  
:Page buffer  
X
:X register  
1digit 1 or 2 [Hexa]  
Y
ST  
:Y register  
1digit 4bit  
1digit 1bit  
1digit  
1digit 14bit  
1digit  
4digit  
4digit  
4digit  
[Hexa]  
[Binary]  
[Hexa]  
{Hexa]  
:Status register  
:Pulse mode register  
:Watch dog timer  
:Stack pointer level  
:Stack level 0  
PMR  
WDT  
SP  
SR0  
SR1  
SR2  
OUT  
K
:Stack level 1  
:Stack level 2  
:Remocon out output  
:K port input register  
:R port input register  
:R port output register  
:output port  
[Binary]  
[Binary]  
[Binary]  
4bit  
Rin  
Rout  
D
[Binary]  
6or8 10bit [Binary]  
Machine Cycle :  
The number of command execution is displayed in decimal.  
5 - 5  
Chapter 5. Software  
4. Commands in Each Menu  
^stands for [CTRL] key, while @ stands for [ALT] key.  
4.1 File Menu  
Use the function key behind each command as a hot key or execute each  
command through selecting [ALT]-[F] key and pressing the highlighted  
character.  
Load RHX F2 : Load the file named *.RHX, analyze the selected Hexa file  
and disassemble it. Display the program address, assemble  
code and mnemonic. The order of displayed program  
addresses follows the POLYNOMIAL form. Even when the  
extention is not input in case of selection, .RHX extension is  
presumed to include.  
Load CRF @F2 : If Cross reference file of loaded file loads the *.CRF file,  
labels and variables assigned by programmer are displayed  
at accurate position of Source window so that programmer  
can read the program easily. Even when the extension is not  
input in case of file selection, .CRF extension is presumed to  
include.  
Write RHX F3 : When any modifications are made to source program or  
program memory after the simulator is loaded once, the  
modifications are stored in the same or new filename as  
loaded. It has the same command and function as > WP  
[filename] of In-line command.  
Log ON/OFF F4 : After the simulator is executed, all the input and results are  
stored in the filename GMS30K.LOG Once function key [F4]  
is pressed, log-in starts, and if the key is pressed one more  
time, log-in file is closed in a toggling way. The ON/OFF  
state of log-in is displayed in the upper-right corner. It has  
the same function as > LOGON and > LOGOFF of In-line  
commands.  
Os shell @S : When users want to work temporarily under DOS environment,  
this command is used. When users want to back to Windows  
environment, input > EXIT.  
Exit @X  
: Used when getting completely out of the simulator environment.  
5 - 6  
Chapter 5. Software  
4.2 Window Menu  
Use the function key behind each command as a hot key or execute each  
command through selecting [ALT]-[W] key and pressing the highlighted  
character. Function key [F6] provides the return function to each window.  
Command Box: Position the cursor in command window to make it possible to  
use In-line command provided by the simulator.  
Source Box : Position the cursor in source window to make it possible for  
programmer to see the disassembled source program. It is  
possible to use Up/Down arrow keys and Page Up/Down  
keys.  
Zoom ^F10 : Position the cursor in command or source window, and then  
select Zoom or press [CTRL]-[F10] key to enlarge the window  
to the full screen size.  
5 - 7  
Chapter 5. Software  
4.3 Run Menu  
Use the function key behind each command as a hot key or execute each  
command through selecting [ALT]-[R] key and pressing the highlighted  
character.  
MCU Reset ^F9 : Initialize the execution environment of the simulator. In  
other words, initialize the register value to 0 or 1, and  
machine cycle value is changed to 0. It has the same  
command and function as > CR command of In-line  
command.  
Go F5  
: Program executes from the current value of program counter.  
Press [ESC], [Enter] or [Space] key to stop execution, and  
display the current register value.  
Animate @5 : Program executes from the current value of program counter.  
The value of data memory or registers are highlighted in the  
corresponding window. Press [ESC], [Enter] or [Space] key to  
stop execution. Because of speed difference among system,  
the speed is adjustable from 0 to 40.  
(0 : fastest, 40 : slowest)  
Trace F8 : Program executes line by line from the current value of  
program counter. The changing values of registers and  
memory are highlighted in register window and memory window  
respectively.  
Execute Batch : When the batch filename consisted of a set of commands  
made by user using editor is input, each command executes  
automatically as In-line command is input. It has the same  
function as > BAT command of In-line command.  
5 - 8  
Chapter 5. Software  
4.4 Option Menu  
To execute each command, select [ALT]-[O] key and press the highlighted  
character in each command line. Or select the menu and press the [Enter]  
key.  
MCU Select : Select according to the kind of micom. Able to select on of  
GMS30004, 30012, 30112, 30120 or 30140 among GMS300  
series. Once the command is executed, the window  
indicating the characteristics of each micom is open. Press  
Left, Right, Up Down key to select the micom to work.  
Setup  
: Set the execution mode of selected micom. It has the same  
function as > SET command of In-line command. Once the  
function is executed, a small <Setup> window is open.  
Position the cursor in either of I/O Input and Output mode,  
Symbol, Execution Mode of Watch Dog Timer with the item to  
change. Assign the corresponding execution mode with Left,  
Right arrow key.  
Execution Mode to be Assigned in <Setup>  
I/O Input [pi] = [0] Port Input from I/O register  
[1] Port input from keyboard  
[2] Port input from file (PORTIN.DAT)  
I/O Output  
Symbol  
= [0] No display  
[1] Display  
[2] Display & Break  
= [0] Search  
[1] Unsearch  
Watch Dog Timer = [0] OFF  
[1] ON (No option)  
[2] ON (Option)  
5 - 9  
Chapter 5. Software  
5. Simulator Execution  
5.1 File Load  
Use one of three ways to load the file to run from the simulator. First execute  
the GSSIM.EXE file from DOS and name it as a parameter.  
>a:\GSSIM TEST.RHX (Here the extention needs not be input.)  
The following screen will be displayed.  
5 - 10  
Chapter 5. Software  
Second, execute the GSSIM.EXE file and then the Load RHX (Hot key is  
[F2]). The following small window is open at the center of screen waiting for  
user to input the Hexa filename to work.  
*
File Name  
*
A : \UNNAMED.RHX  
When no file is selected, Unnamed.rhx filename is displayed. When the  
filename to work is input immediately, the file from the current directory is  
called. If the specific directory is assigned, the file from the assigned directory  
is called.  
Third, call the file to work through using the >LP [filename] from command  
window by in-line command.  
Here for example, load the TEST.RHX file  
*
File Name  
*
A : \TEST.RHX  
TEST.RHX file is called and the contents of HEXA file is analyzed from the  
simulator. The source contents in the state of being disassembled is  
displayed from Source window. Incase of filename input, although RHX is not  
input, .RHX extension presumed to include by default.  
5 - 11  
Chapter 5. Software  
Also when there is Cross Reference File of working file, press Load CRF (Hot  
key [ALT]-[F2]). The following small window is open at the center of screen  
waiting for user to input *.CRF filename.  
*
File Name  
*
A : \TEST.CRF  
The filename called by Load RHX command is displayed by default as .CRF  
filename. When .CRF file is called, the label of source program created by  
programmer is displayed at the label position of Source window for easy  
reading of program by user.  
5 - 12  
Chapter 5. Software  
5.2 File Store  
When the specific part of source program is changed under the simulator  
environment by calling the working file, the corresponding Hexa file needs to  
be stored. Use one of the following two methods.  
First, when executing the pop-up command Save RHX (Hot key is [F3]), the  
following small window is open at the center of screen waiting for user to input  
the Hexa filename. The filename called by file load command by default is  
displayed. When the filename is not changed, hit just the [Enter] key. When  
user wants to change the filename to store, input the filename to change.  
*
File Name  
*
A : \TEST.RHX  
Second, store the processed Hexa file using > WP [filename] from command  
window with In-line command.  
Here when the same filename to store already exists in the disk, File  
Already Exist message comes up asking user by [YES/NO] if user overwrite  
or not.  
5 - 13  
Chapter 5. Software  
5.3 Closing the Simulator  
Using the pop-up command Exit (Hot key [ALT]-[X]) or In-line command > Q,  
exit from the simulator environment.  
When execute the command, the following message comes up for the check-  
up asking the user`s intention to store, if user does not store the changed file  
after changing the loaded file to work. Use Tab key or left, right direction key  
to select YES/NO.  
Program have changed. Save it ?  
Yes  
No  
Also for recording the work contents, even when exiting the simulator without  
Log OFF, Log OFF is done automatically and GMS30K.LOG file is stored.  
5 - 14  
Chapter 5. Software  
6. Simulator Commands  
6.1 Command Syntax  
1) A (Assemble)  
To assemble what is commanded for every line from the specified  
<address> and write in the memory.  
2) BAT (Batch)  
To execute what is commanded in the command file in a batch.  
When there is a format error, command error is issued and execution is  
stopped at the error point.  
3) BP (Break Point set), BL (Break point List)  
To set break point.  
To display the set break Point.  
4) BS (Break point set step)  
To set break point with No. of steps.  
5) BC (Break point Clear)  
To clear the specified No. break point.  
6) CR (CPU Reset)  
To reset the simulator to the initial state.  
7) DPP (Dump Program memory)  
To display the content of the memory in the area of the No. of pages  
specified with <In> from the specified <address> in hexadecimal. The  
address here is polynomial.  
8) DPS (Dump Program memory)  
To display the content of the memory in the area of the No. of pages  
specified with <In> from the specified <address> in hexadecimal.  
9) DD (Dump Data memory)  
To display all the data in Data Memory in hexadecimal.  
10) EPP (Exchange Program memory)  
To display and modify the specified data in the program memory.  
Address here is polynomial.  
5 - 15  
Chapter 5. Software  
11) EPS (Exchange Program memory)  
To display and modify the specified data in the program memory.  
12) ED (Exchange Data memory)  
To display or modify data in the specified data memory.  
13) FPP (Fill Program memory)  
To fill the area of the program memory specified with <In> from the specified  
<address> with the specified byte data. The address here is polynomial.  
14) FPS (Fill Program memory)  
To fill the area of the program memory specified with <In> from the specified  
<address> with the specified byte data.  
15) FD (Fill Data memory)  
To fill the area of the data memory specified with <In> from the specified  
<address> with the specified nibble data.  
16) G (Go)  
To execute the program in the specified program memory.  
17) H (Hex calculate)  
To add or subtract in hexadecimal.  
18) LOGON (LOGIN)  
To log the commands executed after this command.  
19) LOGOFF (LOGOUT)  
To end logging.  
20) LP (Load Program from MS-DOS* file)  
To load `files` on MS-DOS* to the memory.  
21) MPP ( Move Program memory)  
To transfer data in the memory area to another area.  
The address here is polynomial.  
5 - 16  
Chapter 5. Software  
22) MPS (Move Program memory)  
To transfer data in the memory area to another area.  
23) P (Port set)  
To set the specified data at the specified I/O register.  
24) Q (Quit)  
To return to MS-DOS*.  
25) R (Register dump or change)  
To display or modify the register data.  
26) SET (setup)  
To set the operation Mode for the simulator.  
27) SL (Symbol file Load)  
To load symbol tables from the specified symbol file.  
28) ST (Status)  
To display the simulator status.  
29) T (Trace)  
To execute the program in the specified program memory address a single step.  
30) TMT(Time)  
To obtain time from the No. of machine cycles and clock frequency.  
31) TMC (Time)  
To obtain No. of machine cycle from the time and clock frequency.  
32) U (Unassemble)  
To unassemble data in the area specified with <In> from the specified <address>  
and display in mnemonic.  
33) Wp (Write Program to MS-DOS* file)  
To read-out data in all the ROM area and write the Intel hexa data in the files  
specified with <file name>.  
34) ? (Help)  
To display the list of commands of this simulator  
5 - 17  
Chapter 5. Software  
6.3 Description of Commands  
The symbols used in this chapter are defined as in below.  
1) XXXX  
2)  
Indicates input from the keyboard.  
Indicates Return key.  
3) _  
4) In  
5) [ ]  
Indicates insertion of space characters.  
Indicates range.  
Indicates it is omittable.  
6) No. used on this system are hexadecimal. However, the machine cycles are  
decimal.  
(Common items on this simulator)  
1) This simulator accepts up to 132 characters per each line.  
Before pressing ` ` key, data can be modified in the following procedure.  
<BS> Key deletes one character and the cursor sets back by one character.  
2) Commands can be input both in block and small letters and both are treated  
as the same.  
3) Commands can be terminated by inputting `.`.  
4) Command history (recall)  
This simulator has 16 command buffers and each time `Control A` is  
pressed, command immediately before the current one is displayed.  
5) When `!XX` is executed to `*`, MS-DOS* commands can be executed  
temporarily.  
6) Regarding the omission indicated with [ ], when one [<address>] or [In] is  
omitted, the area may not be recognized. In this case, be careful as the  
current operation cannot be ensured.  
7) When `.XXXX` is specified, it is treated as a symbol. Therefore, before using  
this specification, specification of Symbol file should have been made.  
8) When `ESC` key is pressed, command execution is stopped and the system  
moves to `*` mode.  
9) When In is LXX< XX indicates No. of words and when there is no L, XX  
indicates an address.  
10) For command separator (indicated with_in this Manual), `_` or `,` can be  
used.  
11) When `Control C` is pressed, the system goes back to `MS-DOS*`.  
12) In case of both sequential and polynomial address, the first two digits of an  
<address> indicate No. of page and the latter two digits indicate the address.  
Hereunder is the explanation on each command used on this system.  
5 - 18  
Chapter 5. Software  
A (Assemble)  
[Function]  
To assemble commands for each line from the specified <address> and write  
them in the memory.  
[Format]  
> A_ [<address>]  
[Explanation]  
With this, the system assembles commands for each line from the specified  
<address> and writes them in the memory.  
When <address> is omitted, data is written from the current `PC` address.  
Assemble can be finished by keying in `.`.  
When `_` is keyed in, the system goes back the address just before the current  
one.  
[e.g.]  
>A 200  
0200  
0201  
0203  
0201  
0200  
>
40  
21  
77  
03  
0D  
LYI  
LAM  
ALEI  
LMA  
SO  
0
SO  
LMA  
-
-
.
14  
BAT (Batch)  
[Function]  
To execute commands in the command file in a batch. When there is a format  
error, execution is stopped there and command error is issued.  
[Format]  
BAT_<File Name>  
[Explanation]  
With this command, the system executes commands in the command file in a  
batch. When there is a format error, execution is stopped there and command  
error is issued. In order to execute this command, it is required to create the  
command file on the editor in advance.  
[e.g]  
>BAT test.bat  
>R PA  
0
>R PB 0BATCH END  
>
5 - 19  
Chapter 5. Software  
BP (Break Point set), BL (Break point List)  
[Function]  
BP  
To set the break point.  
BL  
BPS  
To display the set break point  
To set step break point.  
[Format]  
BP[n]_adr[_m]  
n :  
Set break No. 0~9.  
adr :  
m :  
Set address for setting break  
Valid only when n=0, setting No. of times to pass the break  
point. The m range is 1 m 255. m value should be set in  
hexadecimal.  
BPS_st  
st :  
Set No. of steps.  
st range is 1 st 2147483647.  
st value should be set in decimal.  
BPI  
BPO  
BL  
[Explanation]  
This command is used to the break point.  
Break on this simulator is to stop after executing the command on the specified  
address.  
When `BPS st` is specified, the system stops when the value on the machine  
cycle register becomes equal to st.  
When `BPI` is specified, the system stops before command execution every time  
command input is made.  
Unassemble displayed in this case is the address with input command.  
When `BPO` is specified, the system displays the value on that occasion on CRT  
and stops every time output command is made.  
When `BP` only or `BL` is specified, the state of the currently set break point is  
displayed.  
It is possible to used symbols for specifying adr.  
When `n` is omitted in break setting command, No. shall be allocated from 1 to all  
empty No.  
5 - 20  
Chapter 5. Software  
[e.g.]  
1) Example to occur break after passing page 1 address 0 three times.  
>BP0  
100  
3
2) Example to set a break point at page 5 address 0.  
>BP  
>BL  
0
500  
=
=
0100  
0500  
( 3)  
1
3) Example to occur break on the main label (in case the main label is at page 5  
address 0.)  
>BP  
>BL  
0
.main  
=
=
0100  
0500 .MAIN  
( 3)  
1
>
4) Example to occur break by No. of steps (50 steps).  
>BPS  
50  
>BL  
0
1
=
=
0100  
0500 .MAIN  
50  
( 3)  
S
>
5) Example to occur break with input command.  
>BPI  
>G  
RUN  
******** MC Step Break ********  
0004  
00  
NOP  
PC=00 PA=09 PB=00 A=0 X=0 Y=0 ST=1 PMR=0 WD=0000 MC=50  
>R  
>G  
R
00  
6) Example to occur break with output command.  
>BP0  
>G  
RUN  
Rout=1111  
******** Break AT Port Out !! ********  
002F 0D SO  
D=11111111  
OUT=0  
MC=125  
PC=00 PA=1E PB=00 A=0 X=0 Y=F ST=1 PMR=0 WD=0000 MC=125  
>G  
5 - 21  
Chapter 5. Software  
BC (Break Point Clear)  
[Function]  
To clear the break point at the specified No.  
[Format]  
BC_n  
[Explanation]  
With this, the system clear the break point at the specified No.  
When n is omitted, the state of the currently set break shall be displayed.  
When n is `*`, all the break points shall be cleared.  
[e.g]  
>BL  
0
=
0100  
0200  
0500  
(
3)  
1
=
2
=
S
50  
I
O
>BC  
>BC  
>BC  
>BC  
>BC  
0
1
S
I
O
=
=
0100  
0500  
(
3)  
2
>BC *  
>BL  
>
5 - 22  
Chapter 5. Software  
CR (CPU Reset)  
[Function]  
To set simulator to the initial state.  
[Format]  
CR  
[Explanation]  
When this command is executed, the simulator is set back to the initial state. In  
this case, the registers are also initialized according to each CPU. However, MC  
is cleared irregardless of the CPU status.  
Initial State of each register.  
PA, PC, PB, SP and D PORT become 0.  
All the ports of R PORT become 1.  
The other registers are undefined.  
[e.g]  
>CR  
CPU  
ROM  
GMS30140  
Byte  
1024  
RAM 32 Nibble  
I/O Input [pi]  
I/O Output [po]  
SYMBOL  
= [0] Port input I/O register  
= [0] No Display  
= [0] Search  
[1]  
Watch Dog Timer [wd]  
= [0] off  
PC=00 PA=00 PB=00 A=0 X=0 Y=0 ST=0 PMR=0 WD=0000 MC=0  
SP=0 SR1=0000 SR2=0000 SR3=0000  
I/O Reg. Rin=1111 Rout=1111 D=00000000 OUT=0 K=0000(0h)  
>
5 - 23  
Chapter 5. Software  
DPP (Dump Program memory)  
[Function]  
To display data in the program memory area specified with <In> from the  
specified <address> in hexadecimal.  
[Format]  
DPP_[<address>_<In>]  
[Explanation]  
When this the system displays data in the program memory area specified with  
<In> from the specified <address> in hexadecimal. When [ ] is omitted, 64 bytes  
of data from the succeeding address shall be displayed. The address used with  
this command is polynomial.  
[e.g]  
>DPP  
0000  
0027  
001C  
0022  
>
0
20  
:
:
:
:
00 01 02 03 04 05 06 07 - 08 09 0A 0B 0C 0D 0E 0F  
10 11 12 13 14 15 16 17 - 18 19 1A 1B 1C 1D 1E 1F  
20 21 22 23 24 25 26 27 - 28 29 2A 2B 2C 2D 2E 2F  
31 32 33 33 34 35 36 37 - 38 39 3A 3B 3C 3E 3E 3F  
DPS (Dump Program memory)  
[Function]  
To display data in the program memory area specified with <In> from the  
specified <address> in hexadecimal.  
[Format]  
DPS_[<address>_<In>]  
[Explanation]  
When this the system displays data in the program memory area specified with  
<In> from the specified <address> in hexadecimal. When [ ] is omitted, 64 bytes  
of data from the succeeding address shall be displayed. The address used with  
this command is sequential.  
[e.g]  
>DPS_0_3F  
0000  
0010  
0020  
0030  
>
:
:
:
:
00 01 03 07 0F 1F 3F E3 - 3D 3B 37 2F 1E 3C 39 33  
27 0E 1D 3A 35 2B 16 2C - 18 30 21 02 05 0B 17 2E  
1C 38 31 23 06 0D 1B 36 - 2D 1A 34 29 12 24 08 11  
22 04 09 13 26 0C 19 32 - 25 0A 15 2A 14 28 10 20  
5 - 24  
Chapter 5. Software  
DD (Dump Data memory)  
[Function]  
To display data in the data memory in hexadecimal.  
[Format]  
DD  
[Explanation]  
With this, the system displays all the data in the data memory in hexadecimal.  
[e.g]  
>DD  
000  
010  
>
:
:
6
1
C
2
6
3
0
4
0
0
0
0
0
0
0
0
-
-
0
3
0
2
0
1
0
0
0
0
0
1
0
0
0
1
ED (Exchange Data memory)  
[Function]  
To display and modify the specified data memory.  
[Format]  
ED_[<address>  
[Explanation]  
When this the system displays and modifies the specified data memory. This  
Mode is continuous and processing shall be continued until *.* is pressed. When  
`_` is pressed, the system goes back to the address immediately before.  
[e.g]  
>ED  
0
00  
01  
02  
>
:
:
:
7
6
7
>
>
>
3
6
.
5 - 25  
Chapter 5. Software  
EPP (Exchange Program memory)  
[Function]  
To display and modify the specified program memory.  
[Format]  
EPP_<Address>  
[Explanation]  
With this, the system displays and modifies the specified program memory. This  
mode is continuous and each time ` ` is pressed, the succeeding address shall  
be displayed, setting operation shall be performed continuously until `.` is  
pressed. When `_` is pressed, the system goes back to the address immediately  
before. The address used with this command is polynomial. It is possible to use  
symbols in <address>.  
[e.g]  
>EPP_100  
100  
101  
103  
>
:
:
:
0D>37  
77>AF  
42> .  
EPS (Exchange Program memory)  
[Function]  
To display and modify the specified data memory.  
[Format]  
EPS_<Address>  
[Explanation]  
With this, the system displays and modifies the specified program memory. This  
Mode is continuous and each time ` ` is pressed, the succeeding address shall  
be displayed and setting operation shall be performed continuously until `.` is  
pressed. When `_` is pressed, the system goes back to the address immediately  
before. The address used with this command is sequential.  
It is possible to use symbols in <address>.  
[e.g]  
>EPS_100  
100  
101  
102  
>
:
:
:
48>6  
04>45  
53>.  
5 - 26  
Chapter 5. Software  
FPP (Fill Program memory)  
[Function]  
To fill the program memory area specified with <In> from the specified <address>  
with 1 byte data.  
[Format]  
FPP_<Address>_<In>_<Data>  
[Explanation]  
With this, the system fills the program memory area specified with <In> from the  
specified <address> with 1 byte data. It is possible to use symbols in <address>.  
[e.g]  
>FPP 100 L10 55  
>DPP 100  
0100 : 55 55 55 55 55 55 55 55 - 55 55 55 55 55 55 55 55  
0127 : 10 11 12 13 14 15 16 17 - 18 19 1A 1B 1C 1D 1E 1F  
011C : 20 21 23 24 25 26 27 29 - 29 2A 2B 2C 2D 2E 2F 30  
0122 : 31 32 33 34 35 36 37 38 - 39 3A 3B 3C 3D 3E 3F 40  
>
FPS (Fill Program memory)  
[Function]  
To fill the program memory area specified with <In> from the specified <address>  
with 1 byte data.  
[Format]  
FPS_<Address>_<In>_<Data>  
[Explanation]  
With this, the system fills the program memory area specified with <In> from the  
specified <address> with 1 byte data.  
It is possible to use symbols in <address>.  
[e.g]  
>FPS 100 L10 55  
>DPS 100  
0100 : 55 55 55 55 55 55 55 55 - 55 55 55 55 55 55 55 55  
0110 : 01 00 11 01 01 20 00 00 - 01 00 00 0C 01 00 55 55  
0120 : 01 00 11 01 01 20 00 00 - 01 00 00 0C 01 00 00 55  
0130 : 01 00 11 35 01 20 00 55 - 01 55 00 55 55 55 55 55  
>
5 -27  
Chapter 5. Software  
FD (Fill Data memory)  
[Function]  
To fill the program memory area specified with <In> from the specified <address>  
with one specified nibble data.  
[Format]  
FD_<Address>_<In>_<Data>  
[Explanation]  
With this, the system fills the data memory area specified with <In> from the  
specified <address> with one specified nibble data. It is possible to use symbols  
in <address>.  
[e.g]  
>FD  
0
L3  
4
>DD  
000 :  
010 :  
>
4
0
4
0
4
0
0
0
0
0
0
0
0
0
0
0
-
-
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
5 - 28  
Chapter 5. Software  
G (Go)  
[Function]  
To execute the program in the specified program memory  
[Format]  
G_[<Address 1>][_<Address 2>]...[_<Address 8>]  
[Explanation]  
With this, the system executes the program address specified with =, [=<address  
1>] is omittable. When omitted, the command is executed from the present `PC`  
address. The system also sets a break point in the specified address after  
[_<address2>] . When `g` command is executed, simulation is started after  
outputting `RUN` message. When any key is pressed in this state, simulation is  
stopped.  
It is possible to use symbols in the <address>.  
[e.g]  
1) >G  
RUN  
******** User Break Point !! ********  
010E 20  
LMAIY  
PC=01 PA=1D PB=01 A=7 X=1 Y=8 ST=1 PMR=0 WD=0000 MC=297  
>
2) >G=.START 37 3  
******** Go Break Point !! ********  
0003 BF  
BR  
3F  
PC=00 PA=07 PB=06 A=F X=3 Y=5 ST=1 PMR=0 WD=0000 MC=808  
>
5 - 29  
Chapter 5. Software  
H (Hex calculate)  
[Function]  
To add and subtract hexadecimal No.  
[Format]  
H_XXXX_XXXX  
[Explanation]  
Hexadecimal Nos. are added or subtracted.  
[e.g]  
>H_e6ab_b7fc  
9ea7  
2eaf  
>
LOGON (LOGIN)  
[Function]  
To log the commands executed after this command.  
[Format]  
LOGON  
[Explanation]  
After executing this command, all the information displayed on CRT shall be  
written consecutively until LOGOFF command is given. The file created in this  
event is LOG.DAT`.  
[e.g]  
>LOGON  
>
5 - 30  
Chapter 5. Software  
LOGOFF (LOGOUT)  
[Function]  
To end logging  
[Format]  
LOGOFF  
[Explanation]  
Logging is finished when this command is executed.  
[e.g]  
>LOGOFF  
>
LP (Load Program from MS-DOS* file)  
[Function]  
To read `file` on MS-DOS* and write it to the program memory of the simulator  
[Format]  
LP_<file name>  
[Explanation]  
The system reads the file specified with <file name. RHX> and writes the data to  
the address specified with <address>.  
The file format is the Intel hexa format.  
[e.g]  
>LP TEST. RHX  
. . . . . . . . . . . . . . . . . . . . . . . . . .  
. . . .  
Program load OK!  
>
5 - 31  
Chapter 5. Software  
MPP (Move Program memory)  
[Function]  
To transfer memory area data to other area.  
[Format]  
MPP_<address_s>_<In>_<address_d>  
[Explanation]  
With this command, the system transfers data upto the No. of words specified  
with <In> from the address specified with <address_s> to the area specified with  
<address_d>.  
The address used with this command is polynomial.  
[e.g]  
>MPP 100 200 300  
>
MPS (Move Program memory)  
[Function]  
To transfer memory area data to other area.  
[Format]  
MPS_<address_s>_<In>_<address_d>  
[Explanation]  
With this command, the system transfers data upto the No. of words specified  
with <In> from the address specified with <address_s> to the area specified with  
<address_d>.  
The address used with this command is sequential.  
[e.g]  
>MPS 100 200 300  
>
5 - 32  
Chapter 5. Software  
P (Port Set)  
[Function]  
To display and modify the specified I/O set registers.  
[Format]  
P_aa_bb_c (When setting R, D port)  
aa  
bb  
c
: I/O set register name  
: Specify in or out  
: Set value (0 or 1)  
P_aa_cc / P_aa_c (when setting K)  
aa  
bb  
c
: I/O set register name  
: set value (one digit of a hexadecimal No.)  
: Set value (0 or 1)  
[Explanation]  
The system sets the value in the specified I/O set register.  
[e.g]  
1) Example of setting K  
> P  
> P  
K
8
I/O Regs. Rin=0000 Rout=1111 D=00000000 OUT=0 K=1000(8h)  
>
2) Example of K0-K3 setting  
> P  
> P  
> P  
OUT  
K1  
1
1
I/O Regs. Rin=0000 Rout=1111 D=00000000 OUT=1 K=0010(2h)  
>
(I/O setting registers used on this simulator)  
• Dout (D port output register 6 or 8 or 10bit)  
• K  
(K input register 4bit)  
• Rout (R port output register 4bit)  
• Rin (R port input register 4bit)  
• OUT (OUT port output register 10bit(  
5 - 33  
Chapter 5. Software  
Q (Quit)  
[Function]  
To return to PC-DOS  
[Format]  
Q
[Explanation]  
When this command is executed on the system with prompt (*display) waiting for  
a command, the system moves from `simulator` Mode to `MS-DOS*` Mode.  
[e.g]  
1)Q  
A>  
R (Register dump or change)  
[Function]  
To display and modify the register data.  
[Format]  
R
R_x  
R_a=x  
[Explanation]  
With this, the register data is displayed and modified.  
When `R ` only is executed, all the registers are displayed.  
[e.g]  
>R  
PC=00 PA=3E PB=00 A=0 X=0 Y=1 ST=1 PMR=0 WD=0000 MC=10392  
SP=0 SR0=0000 SR1=0000 SR2=0000  
>R PC=23  
>R PC  
PC=23  
>R MC =0  
>R MC  
MC=0  
>
5 - 34  
Chapter 5. Software  
(Registers used on this simulator)  
Simulator setting registers  
• MC (Machine cycle register 32bit)  
GMS300 series  
• PC (Program counter 6bit)  
• PA (Page address register 4bit)  
• PB (Page buffer register 4bit)  
• A (Acc register 4bit)  
• X (X register 2bit)  
• Y (Y register 4bit)  
• SP (Stack pointer register 2bit)  
• SR (Stack register 10bit)  
• ST (Status register 1bit)  
3
• PMR (Pulse mode register 4bit)  
• WD (Watch dog timer register 14bit)  
5 - 35  
Chapter 5. Software  
SET (SETUP)  
[Function]  
To setup the operating mode for the simulator.  
[Format]  
SET_c_x  
[Explanation]  
This is used to setup the simulator.  
The following commands can be executed with this command.  
• When setting symbols for Assembler and Unassembler.  
SET L x  
Here, the range of X is defined as in the below.  
0 : Symbol shall be used. (Default)  
1 : Symbol shall not be used.  
• SET PO x  
0 : When I/O WRITE command is executed while executing G command, no  
display shall be mode. (Default)  
1 : When I/O WRITE command is executed while executing G command, the  
values in the event shall be displayed on CRT screen.  
2 : When I/O WRITE command is executed while executing G command, the  
values in the event shall be displayed on CRT screen and the operating  
shall be stopped.  
• SET PI x  
0 : In case I/O READ command is to be executed while simulating, the  
system reads the value set on the port input register. The port input  
register setting is to be performed with `R` command.  
1 : In case I/O READ command is to be executed while simulating, the  
system stops before the execution.  
In this case, set the value on the port input register.  
2 : Value is set on the port input register from I/O file (PORT.DAT).  
The file is opened when this command is executed and the file shall not be  
reread. If there is no I/O file, error shall be issued.  
5 - 36  
Chapter 5. Software  
Timing for setting port input register is :  
a) When machine cycle of the file <current machine cycle after executing this  
command, values shall be set on the port input register until the machine cycle  
of the file> current machine cycle while executing the first G or T command.  
b) When machine cycle of the file = current machine cycle, setting is made  
immediately before the next command is executed.  
In case there is a format error in I/O file while simulating, error message shall be  
output and the operation is stopped.  
In order to execute G or T command again, this mode has to be canceled first.  
(Execute SET PI 0 or SET PI 1.)  
Default value here is 0.  
All the I/O READ commands are read from the port input register.  
PORT.DAT format  
Machine cycle I Port Name I Data  
(I indicates space or tab)  
• SET WD x  
0 : Watch dog timer shall not be used.  
1 : Watch dog timer shall be used. (No option)  
Resetting watch dog timer  
1) After executing WDTR command  
2) After executing STOP command  
3) After executing CR command  
4) While converting to 0 with R command  
5) When the set value is reached.  
2 : Watch dog timer shall be used. (With option)  
For resetting watch dog timer.  
1) When SO command is executed to REMOUT output is added to the  
above 1) ~ 5).  
Defalut value here is 0.  
5 - 37  
Chapter 5. Software  
[e.g]  
1) Example of setting port input I/O file and measure in case of file format error.  
>SET PO  
>SET PI  
>SET  
1
2
CPU  
ROM  
GMS30140  
1024 Byte  
RAM  
32  
Nibble  
I/O Input [pi]  
I/O Output [po]  
= [2] Port Input file (PORT.DAT)  
= [1] Display  
Symbol  
[1]  
= [0] Search  
Watch Dog timer [wd] = [0] off  
>G  
RUN  
******** `PORTIN.DAT` File format error ********  
0001  
07  
DA  
PC=0 PA=01 PB=00 A=0 X=0 Y=0 ST=1 PMR=0 WD=0000 MC=235  
In this case, execute SET PI 0 or SET PI 1 and cancel the Mode.  
Then you can execute the command again.  
>SET PI 1  
>G  
RUN  
2) Example of setting watch dog timer  
>SET WD 1  
>SET  
CPU  
ROM  
GMS30140  
1024 Byte  
RAM  
32  
Nibble  
I/O Input [pi]  
I/O Output [po]  
= [0] Port Input I/O register  
= [0] No Display  
Symbol  
[1]  
= [0] Search  
Watch Dog timer [wd] = [1] ON (no option)  
>
5 - 38  
Chapter 5. Software  
SL (Symbol file Load)  
[Function]  
To load the symbol table from the specified symbol file.  
[Format]  
SL_<file name>  
[Explanation]  
The system reads the symbol table from the specified symbol file.  
When symbols are used with `U` or `A` or other commands on this system, this  
command should be executed first prior to the execution of those commands.  
When executing this command, the symbol table in the memory shall be cleared.  
Data not in the set format shall not be loaded.  
File format : Address_symbol_I  
(_indicates space or tab. Space or tab after the symbol is valid but those coming  
later shall be ignored.)  
Address should be polynomial here.  
[e.g]  
>SL_TEST. CRF  
. . . . . . . . . . . . . . . . . . . . . . . . . .  
Symbol load OK!  
>
5 - 39  
Chapter 5. Software  
ST (Status)  
[Function]  
To display the internal set condition of the simulator.  
[Format]  
ST  
[Explanation]  
The status of the simulator shall be displayed.  
[e.g]  
>ST  
CPU  
ROM  
GMS30140  
1024 Byte  
RAM  
32  
Nibble  
I/O Input [pi]  
I/O Output [po]  
= [0] Port input I/O register  
= [0] No Display  
= [0] Search  
Symbol  
[1]  
Watch Dog timer [WD]  
= [0] OFF  
PC=00 PA=00 PB=00 A=0 X=0 Y=0 ST=0 PMR=0 WD=000 MC=0  
SP=0 SR0=0000 SR1=0000 SR2=0000  
I/O Reg. Rin=1111 Rout=1111 D=00000000 OUT=0 K=0000(0h)  
>
5 - 40  
Chapter 5. Software  
T (Trace)  
[Function]  
To execute the program in the specified program memory address in a single  
step.  
[Format]  
T_[=<address>] [_<step>]  
[Explanation]  
With this, the system executes the program in the specified program memory  
address by a single step.  
This command shall be valid until `.` key is pressed. That is, every time ` ` key  
is pressed after executing this command, the command is executed by one step.  
The No. of steps set here is in hexadecimal.  
[e.g]  
>T =F00  
COUNT  
0F00  
2
=
0000  
1B  
LPBI  
0D  
PC=0F PA=01 PB=0D A=0 X=0 Y=0 ST=1 PMR=0 WD=0001 MC=0  
COUNT  
0F01  
=
0001  
87  
BR  
07  
PC=0D PA=07 PB=0D A=0 X=0 Y=0 ST=1 PMR=0 WD=0002 MC=2  
.
>
5 - 41  
Chapter 5. Software  
TMT (Time calculate)  
[Function]  
To calculate time from No. of machine cycles and clock frequency.  
[Format]  
TMT_m_c  
m : No. of machine cycles  
Without any calculating factors.  
c : Clock frequency (1K -10m)  
Calculating factors must always be input in small letters.  
k (kilohertz)  
m (megahertz)  
[Explanation]  
With this, the system calculates time from No. of machine cycles and clock  
frequency. Range of obtainable time :  
6ns - 7158h 16m 43s 770ms  
(nano second) (hour) (minute) (second) (millisecond)  
Calculating equation : machine cycle (1/clock frequency 6)  
[e.g]  
>TMT_1000_1m  
6ms  
>
0m  
0ns  
5 - 42  
Chapter 5. Software  
TMC (Time calculate)  
[Function]  
To calculate No. of machine cycles from time and clock frequency.  
[Format]  
TMC_t_c  
t : Time  
Calculating factors must always be input in small letters.  
h (hour)  
m (minute)  
s (second)  
ms (millisecond)  
us (microsecond)  
ns (nano second)  
c : Clock frequency (1K -10m)  
Calculating factor must always be input in small letters.  
k (kilohertz)  
m (megahertz)  
[Explanation]  
With this, the system calculates No. of machine cycles and clock from time and  
clock frequency. Range of obtainable machine cycle :  
1-14984999833500  
Calculating equation : Time (1/clock frequency 6)  
[e.g]  
>TMC 6ms  
MC=1000  
>
1m  
5 - 43  
Chapter 5. Software  
U (Unassemble)  
[Function]  
To unassemble the area specified with <In> from the specified <address> and to  
display in mnemonic.  
[Format]  
U_[<address>] [_<In>]  
[Explanation]  
With this, the system unassembles the area specified with <In> from the specified  
<address> and displays in mnemonic.  
When [<address>] [<In>] are omitted, unassembling is performed from the  
address immediately after the display start address.  
Default value for <In> is 16.  
However, [<address>] cannot be omitted separately.  
[e.g]  
>U 200 L4  
0200  
0201  
0203  
0207  
>
40  
21  
77  
AF  
LYI  
LAM  
ALEI  
BR  
00  
0E  
2F  
WP (Write Program to MS-DOS* file)  
[Function]  
To read data from the whole ROM area and write data in the file specified with  
<file name>.  
[Format]  
WP_<file name>  
[Explanation]  
With this, the system reads data from the whole ROM area and writes data in the  
file specified with <file name>.  
The file format is the same as the Intel hexa.  
[e.g]  
>WP_test. rhx  
. . . . . . . . . . . . .. . . . . . . . . .  
Program write  
5 - 44  
Chapter 5. Software  
? (help)  
[Function]  
To display the list of commands of this simulator.  
[Format]  
?
[Explanation]  
With this, the system displays the list of commands of this simulator.  
[e.g]  
>?  
GSEN-GMS30K Simulator Processor is GMS30K Series Version 1.0  
A[<address>] - assemble  
BAT <filename> - command repeat  
BC [bc] - breakpoint clear  
LOGON - command logging start  
LOGOFF - command logging end  
LP <filename>-load program from PC-DOS  
MPP <range> <address> - move  
MPS <range> <address> - move  
P <address> - port input/output  
Q - quit  
BL -list breakpoint(s)  
BP [bp] <address> - set breakpoint  
[S] <step> - set step breakpoint  
CR - CPU reset  
DD - dump data memory  
R [<reg>] [[=] <value>] - register  
SET <value> <range> - simulator setup  
SL - <filename> - symbol file load  
ST - simulator status dump  
DPP [<range>] - dump program memory  
DPS [<range>] - dump program memory  
ED [<address>]-exchange data memory  
EPP[<address>]-exchange program memory TMT <mc> <clock rate> - machine time  
EPS[<address>]-exchange program memory TMC <time> <clock rate> - step  
FD <range> <h> - fill program memory  
FPP <range> <hh> - fill program memory  
FPS <range> <hh> - fill program memory  
G [=<address> [<address>..]] - go  
T [=<address>] [<value>] - trace  
U [<range>] - unassemble  
WP <filename> - write program  
? - help dump  
H <value> <value> - hexa add, hexa sub  
^A - command recall  
![DOS command] - shell escape  
DPP, EPP, FPP, MPP=polynomial address DPS, EPS, FPS, MPS=sequential address  
5 - 45  
Chapter 5. Software  
[CTRL]-[A] - command recall  
[Explanation]  
Repeat the previous command to execute in command prompt>. memorize up to  
maximum 16 previous commands. That is to say, the previous commands are  
displayed as many times as [CTRL]-[A] key is pressed.  
! [Dos command] - dos shell  
[Explanation]  
Make it possible to execute the dos command within the simulator environment.  
[e.g]  
>! dir  
- - - directory listing - - -  
>
5 - 46  
Chapter 5. Software  
File types used in the simulator:  
1) Load Module file  
2) Input port File (Pseudo Data)  
3) BATCH File  
4) Log File  
Load Module File (RHX File)  
Execution File for executing on the simulator.  
File format is Intel hexa. format  
Input port file (Pseudo data)  
When Command concerning to input port is fetched while executing on the  
simulator, if File Mode has been specified with SET command, data defined in  
this file shall be read as input data.  
(File Name : PORT.DAT)  
BATCH File  
Each command of the simulator described in 3. shall be consecutively executed  
according to the order defined in this file.  
Log FIle  
After executing LOGON command, data displayed on CRT screen shall be  
written to this file until LOGOFF command is executed.  
The file created in this event is the log file.  
(File Name : LOG.DAT)  
5 - 47  
Chapter 5. Software  
7. Error Message and Troubleshooting  
- CRF Error Occurred !  
: In the process of reading Intel Hexa file, it occurs when error happens,  
Re-assemble the source program and make the Hexa file  
- Disk Error !  
: It occurs when disk drive is not prepard.  
- File not found !  
: It occurs when the file input by user does not exit in disk. Check the  
correct filename.  
- Help file not found !  
: It occurs when there is no `GMS30K.HLP` file.  
- Hexa file format Mismatch !  
: It occurs when the file format of*.rhx file is different. Check if it is intel  
Hexa format or not.  
- Memory not available !  
: It occurs when system memory is lack. Execute the simulator after  
deleting the memory resident program from system.  
- `PORTIN.DAT` File format error!  
: It occurs when the format of PORTIN.DAT file is not correct. Check if it is  
created correctly according to PORTIN.DAT file structure.  
5 - 48  
Chapter 5. Software  
- PORTIN.DAT` File not found !  
: It occurs when there is no PORTIN.DAT file.  
- Symbol file format mismatch!  
: It occurs when the format of the symbol file(.CRF) to load is not correct.  
- Write error!  
: It occurs when the disk capacity is lack. Store the empty disk.  
- ^???  
: It occurs when the commands is input incorrectly in command window.  
Check if it is the command provided from the simulator.  
- ???^  
: It occurs when the command is input correctly in command window, but  
input format of paramater value is not mismatch. Check the parameter  
format the corresponding command requests.  
- ???  
: It is displayed when the errors except for ^??? and ???^ happen in  
command window.  
5 - 49  
INTRODUCTION  
ARCHITECTURE  
INSTRUCTION  
EVALUATION BOARD  
SOFTWARE  
1
2
3
4
5
6
APPENDIX  
MASK ORDER & VERIFICATION SHEET  
GMS3  
-R  
1. Customer Information  
Company Name  
Tel:  
Fax:  
Name & Signature  
Order Date  
2. Device Information  
E-Mail  
(
)
16 SOP (150mil)  
16 SOP (300mil)  
File Name  
Package  
Mask Data  
16 DIP  
20 DIP  
20 SOP  
24 SOP  
20 SSOP  
24 DIP  
. RHX  
. DMP  
Check Sum  
@27C256  
3. Mask Option  
Inclusion of  
Pull-up  
Register  
Port R0* R1* R2* R3*  
Y/N  
Port K0 K1 K2 K3 R0* R1* R2* R3*  
Y/N  
Release of  
Stop mode  
Status of  
D port while  
Stop mode  
System  
Clock  
Selection  
Inclusion of  
condensor  
for Osc.  
Port D0 D1 D2 D3 D4 D5 D6 D7**D8**D9**  
a/b  
focs / 6  
Y/N  
fosc / 48  
1. Don’t use WDTR instruction in subroutine.  
2. Use Br $ at start (except 0 page ) , end and  
unused address in every page.  
4. If you use fosc/6, we recommend inclusion of condensor and  
fosc/48, no inclusion of condensor  
3. a: State of “ L” forcibly, b: Remain the state just before  
stop instruction. You must select “a” option when you use  
Dport as key application.  
* : Marked port is not available for GMS36/37004  
** : Marked port is not available for GMS36/37004/112  
5. D6 port is available for GMS37004/112 but  
not available for GMS36004/112  
4. Marking Specification  
Standard Marking  
User Marking  
HYNIX  
User LOGO  
R
YWW  
R
YWW  
5. Delivery Schedule  
Date  
Quantity  
Confirmation  
.
.
.
.
Mask Sample  
Risk Order  
pcs  
pcs  
6. ROM CODE Verification  
HYNIX Semiconductor Inc. write in below  
Verification Date :  
Customer write in below  
Approval Date :  
.
.
Please confirm our verification data.  
I agree with your verification data and confirm  
you to make mask set.  
Check Sum :  
TEL :82-431-270-4078 FAX :82-431-270-4075  
@27c256  
TEL :  
FAX :  
Company Name :  
Name &  
Signature  
HYNIX Semiconductor Inc.  
MCU APPLICATION TEAM  
Section Name  
Signature  
:
:

相关型号:

GMS34112T

4-BIT SINGLE CHIP MICROCOMPUTERS
HYNIX

GMS34112TK

暂无描述
HYNIX

GMS34112TK-DT

Microcontroller, 4-Bit, OTPROM, 0.5MHz, CMOS, PDSO20, SOP-20
HYNIX

GMS34112TK-S

暂无描述
HYNIX

GMS34112TK-ST

Microcontroller, 4-Bit, OTPROM, 0.5MHz, CMOS, PDSO20, SSOP-20
HYNIX

GMS34112TM

暂无描述
HYNIX

GMS34112TM-S

暂无描述
HYNIX

GMS34112TM-ST

Microcontroller, 4-Bit, OTPROM, 4MHz, CMOS, PDSO20, SSOP-20
HYNIX

GMS34112TW

Microcontroller, 4-Bit, OTPROM, 4.2MHz, CMOS, PDIP20, PLASTIC, DIP-20
HYNIX

GMS34112TW-DT

暂无描述
HYNIX

GMS34120

4-BIT SINGLE CHIP MICROCOMPUTERS
HYNIX

GMS34120-XXX

Microcontroller, 4-Bit, MROM, 4MHz, CMOS, PDIP24, PLASTIC, DIP-24
HYNIX