visiblez: a tool for teaching and learning system/z assembler

23
VisibleZ: A Tool for Teaching and Learning System/z Assembler June 15, 2015 Dr. David Woolbright [email protected] www.punctiliousprogrammer.com

Upload: others

Post on 06-Dec-2021

3 views

Category:

Documents


0 download

TRANSCRIPT

Page 1: VisibleZ: A Tool for Teaching and Learning System/z Assembler

VisibleZ: A Tool for Teaching and Learning System/z Assembler

June 15, 2015

Dr. David Woolbright

[email protected]

www.punctiliousprogrammer.com

Page 2: VisibleZ: A Tool for Teaching and Learning System/z Assembler

Who Could Use VisibleZ?

• Anyone who teaches IBM System/z Assembly Language

• Anyone trying to learn IBM System/z Assembly Language

• Java teachers looking for large Java projects for their students

• Computer Organization teachers

• Anyone looking for resources for teaching assembly language

Page 3: VisibleZ: A Tool for Teaching and Learning System/z Assembler

Teaching Assembler Requires Lots of Pictures

C1 C2 C3 AB 20 F9 F2 F3

CLC 1(2,12),5(12)

R12

Condition Code

01

Page 4: VisibleZ: A Tool for Teaching and Learning System/z Assembler

Evolving Design Goals of VisibleZ

• Create an emulator that would execute object module code (Program loaded at address 0)

• Allow students to contribute new instructions or machine components by writing Java code

• Provide visual clues for understanding how an instruction works

• Provide lots of sample code that illustrates the use of each instruction

• Work with real programs that support simple I/O and parameter passing

Page 5: VisibleZ: A Tool for Teaching and Learning System/z Assembler

VisibleZ Interface

Page 6: VisibleZ: A Tool for Teaching and Learning System/z Assembler

VisibleZ Interface General Purpose

Registers

Page 7: VisibleZ: A Tool for Teaching and Learning System/z Assembler

VisibleZ Interface Floating Point Registers

Page 8: VisibleZ: A Tool for Teaching and Learning System/z Assembler

VisibleZ Interface PSW Panel

Page 9: VisibleZ: A Tool for Teaching and Learning System/z Assembler

VisibleZ Interface Current Instruction

Page 10: VisibleZ: A Tool for Teaching and Learning System/z Assembler

VisibleZ Interface Current Instruction Info

Page 11: VisibleZ: A Tool for Teaching and Learning System/z Assembler

VisibleZ Interface Source

Address

Page 12: VisibleZ: A Tool for Teaching and Learning System/z Assembler

VisibleZ Interface Target Register

Page 13: VisibleZ: A Tool for Teaching and Learning System/z Assembler

VisibleZ Interface Register Highlighting

Page 14: VisibleZ: A Tool for Teaching and Learning System/z Assembler

VisibleZ Interface

Controls

Page 15: VisibleZ: A Tool for Teaching and Learning System/z Assembler

VisibleZ Interface User Program area

(Configurable)

Operating System Area (Configurable)

Page 16: VisibleZ: A Tool for Teaching and Learning System/z Assembler

VisibleZ Interface

JCL Tab

• 3 Input Files

• 3 Output Files

• 80 Byte Records

Page 17: VisibleZ: A Tool for Teaching and Learning System/z Assembler

VisibleZ Interface

Parameter Tab

• Parameters can be created and

passed to the program you load.

• R1 will contain the address of

table of addresses.

Page 18: VisibleZ: A Tool for Teaching and Learning System/z Assembler

VisibleZ Interface

Distributed with a Codes directory that

contains multiple object programs for each

instruction. (300+ programs)

Page 19: VisibleZ: A Tool for Teaching and Learning System/z Assembler

Three Ways to Teach With VisibleZ

1. To teach a particular instruction: Load one of sample object code programs from the Codes directory. Multiple programs exist for each instruction and were designed to exercise the instruction. Cycle through the program and explain/ask what is happening.

2. To teach a particular instruction, along with base/displacement addressing, relative addressing, instruction formats: Write an object code program (a snippet) that exercises the instruction.

3. To teach a particular instruction and encourage familiarity with architectural co po e ts: Write a i structio ’s e ecute method in Java.

Page 20: VisibleZ: A Tool for Teaching and Learning System/z Assembler

VisibleZ is Written in Java

Page 21: VisibleZ: A Tool for Teaching and Learning System/z Assembler

Instructions are Java Classes

• There is an object-oriented inheritance hierarchy for instructions

• The Instruction class is at the top of the hierarchy

• Instruction format classes are next in the hierarchy

• Finally, each machine instruction is a subclass of its Instruction format class

Instruction

SS1

MVC

Page 22: VisibleZ: A Tool for Teaching and Learning System/z Assembler

Other Major Classes

• CPU

• Register

• PSW

• Channel

• DCB

• JCL

• GUI Panels – Me or Pa el, P“WPa el, …

• MemoryRenderer

• Data Classes – PackedDecimal, Hex

Page 23: VisibleZ: A Tool for Teaching and Learning System/z Assembler

Assembler Resources

• My assembler blog: www.punctiliousprogrammer.com

• My assembler page: http://csc.columbusstate.edu/woolbright/WOOLBRIG.htm

• Email: [email protected]