Teaching of 808688 Programming With Assembly Emulator
Teaching of 808688 Programming With Assembly Emulator
net/publication/340570563
CITATION READS
1 12,292
3 authors, including:
Some of the authors of this publication are also working on these related projects:
GIS application: Mapping and Area Analysis for MAEU Campus View project
Design and Economics of Reactive Power Control in Distribution Substation View project
All content following this page was uploaded by San Hlaing Oo on 11 April 2020.
731
2019 Joint International Conference on Science, Technology and Innovation, Mandalay by IEEE
Generating physical address from logical addresses of
segment base and offset values are shown in Fig. 2.
Internal to the 8088, the offset in IP is combined with
the current value in CS to generate the address of the
instruction codes, which is denoted as CS:IP.
2. MICROPROCESSOR PROGRAMMING (a) (b)
It needs to study instruction sets of 8088/86 for Fig. 6 (a) Operands for arithmetic and logic
assembly programming language with their formats (b) Operands for INC and DEC
and operations before assembly program is built.
2.2.2 Multiplication and division instructions
2.1 Data transfer instruction MUL and DIV need one source operand [3].
Opcodes or mnemonic codes (MOV, ADD, SUB,
AND etc…) are the operation codes to carry out for
microprocessor. Operands are any registers or memory
locations in which the contents are stored. Data
movement and other opcodes are not allowed for
segment to segment (e.g. MOV ES, DS) and mixed Fig. 7 MUL and DIV instruction and allowed operands
size (e.g. MOV BL, DX) registers. In 8088/86, the
common used instruction set for data movement is 2.3 Control flow instructions
MOV for simple and tiny program [2].
Fig. 4 MOV instruction and allowed operands Fig. 9 Conditional jump instructions [3]
In Fig. 4, it describes format, operation and Mnemonic Meaning Format Operation
allowed operands for MOV instruction by RET Return RET Return to main program
microprocessor [3]. LOOP Loop LOOP label CX=CX-1. Jump is
initiated to location by
label if CX not equal to 0,
2.2 Arithmetic and logic instructions otherwise execute next
The followings are arithmetic and logic sequential instruction
instructions with allowed operands. Fig. 10 RET and LOOP instruction [3]
2.2.1 Addition, subtraction, logic instructions 2.4 Interrupt instructions
INT 21h / AH=1 - read character from standard input,
with echo, result is stored in AL.
If there is no character in the keyboard buffer, the
function waits until any key is pressed.
INT 21h / AH=2 - write character to standard output.
entry: DL = character to write, after execution AL =
DL.
INT 21h / AH=5 - output character to printer.
entry: DL = character to print, after execution AL = DL.
INT 21h / AH=9 - output of a string at DS: DX. String
must be terminated by '$'.
INT 21h / AH=2Ah - get system date;
return: CX = year (1980-2099). DH = month. DL = day.
Fig. 5 Addition, subtraction and logic instructions AL = day of week (00h=Sunday)
732
2019 Joint International Conference on Science, Technology and Innovation, Mandalay by IEEE
INT 21h / AH=2Ch - get system time; program. The written assembly program in the text
return: CH = hour. CL = minute. DH = second. DL = editor can be emulated by [emulate] button as shown in
1/100 seconds. Fig. 14. In relation to knowledge concept on
2.5 Input/output instructions programming model, logical and physical address,
machine codes, assembly codes and contents of
registers, the appearance of registers, logical address
[CS: IP], physical address: machine codes and
disassembled codes have been observed in Fig. 15.
[0700h:0100h] of CS: IP generates the physical address
of 07100h. After assembling codes, the equivalent
machine codes are also observed in Fig. 15.
Fig. 11 IN and OUT instructions [3]
3. EMULATION WITH ASSEMBLY EMULATOR
After teaching instruction sets of assembly
language in 8088/86 programming, it needs to provide
how to illustrate programming model, how to operate
instruction sets and how to result after executions on
8086 assembly emulator for the students.
3.1 8086 Assembly emulator
Fig. 14 Text editor and emulate button in assembly
Emu8086 integrates an advanced source editor, emulator
assembler, disassembler and software emulator (Virtual
PC) with debugger [4]. In the appearance of 8086
assembly emulator version 4.08 as shown in Fig. 12,
there are four options: new, code examples, quit start
tutor and recent files, and the new option creates the
new program structure for 8086/88 assembly based on
programming instruction codes after taking lecture the
corresponding instruction sets. Learning programming
provides the students how to understand and use the
mnemonic, format and operation of instruction codes in
the program structure. This gives not only the
understanding level but also the applying level of the
cognitive domain for the students. Emulator software
will enforce applying of the instruction codes.
733
2019 Joint International Conference on Science, Technology and Innovation, Mandalay by IEEE
execution MOV AX, 09h, the resultant content is 09h
in AX in Fig. 19.
734
2019 Joint International Conference on Science, Technology and Innovation, Mandalay by IEEE
standard input unit (keyboard) and the resultant In Fig. 27, Year = 07E3h (2019), Month = 06h
character is stored in AL. For example, the status on (June), Day = 13h (19), and 03h = Wednesday are the
waiting for input character from keyboard is shown in information of getting system by this interrupt
Fig. 23 (a) and the ASCII code of the read character ‘b’ function: int 21h/AH = 2Ah.
is 62h in AL as shown in Fig. 23. (b)
mov ah, 1h
int 21h
The following interrupt subroutine demonstrates
how to write character to the standard output unit
(monitor) as shown in Fig. 24.
mov dl, ‘k’
mov ah, 2
int 21h Fig. 27 System date
The following interrupt subroutine generates
system time with return: CH = hour, CL = minute, DH
= second and DL = 1/100 seconds.
mov ah, 2Ch
int 21h
In Fig. 28, CH = 14h (20):CL = 3Bh (59): DH =
22h (34) gives system time format of hour: minute:
second with 8:59:43 p.m. by this interrupt function: int
Fig. 24 Writing character ‘k’ on monitor 21h/AH = 2Ch.
The following interrupt subroutine shows how to
write character to the printer as shown in Fig. 25.
mov dl, ‘k’
mov ah, 5
int 21h
735
2019 Joint International Conference on Science, Technology and Innovation, Mandalay by IEEE
psychomotor levels. Assessment review has been
conducted for the number of 39 students which are in
line the class size and teaching/learning environment.
According to outcome results, assignment,
presentation, test and quiz give S3 and S4 level of
guided response and mechanism in psychomotor
domain which become satisfied for the students of this
course.
On knowledge (thinking) level of the students,
Fig. 29 (b) Interfacing with LED display showing they are taken the assessment activity of written
decrement value examination. Fig. 31 shows the different types of
questions which reflects on the corresponding
Emulator can access virtual I/O ports (0 to 65535). knowledge levels. According to outcome results, it
These ports are emulated in this file: c:\emu8086.io. In gives K2, K3 and S4 level of understanding, applying
emulator, there are also animated virtual devices such and analyzing in cognitive domain. Although the
as robot, stepper motor, traffic light, thermometer, etc... overall average rating is 60 % in outcome result, K4
levels result in 31 %, 36 % and 46 % which are under
4. ASSESSMENT REVIEWS
satisfaction.
It needs to review this question level and
implement more activities which support the analyzing
level. It needs to plan more teaching and learning
activities in assignments, presentation, discussion, quiz
and lab experiments which is related to analyzing
problems. It need to train design and analysis skill on
the designing and analyzing based problems of
programming for the students.
736
2019 Joint International Conference on Science, Technology and Innovation, Mandalay by IEEE
question levels are shown in Fig. 33. According to the of microprocessor and interfacing, it is quite evident
achievement of program outcomes in Fig. 34, PO1, from the results of assessment reviews that the
PO2, PO3 and PO8 are satisfied outcomes for course performance of students has been satisfied with the
learning outcomes. There are 49 % achievements of outcomes achievement. Also it is clearly observed that
PO4, PO7 and PO9 with the requirements of course this course has been to be met with the requirements of
learning outcomes. It should make action plans to PO (program outcomes). This course can be verified
motivate exam performance and motivate in more that is constructive in line with PO1, PO2, PO3 and
participation of class activities for focusing on those PO8 according to assessment reviews. The overall pass
students who need still enough knowledge and skill rate after total assessments is above 92 % of 39
level. The action plans of more individual discussion students under Department of Avionics, MAEU.
rather than group discussion, more oral test, and more However, performance of students on each analyzing
video lecturing for those students should be problems are not able to get satisfied achievement and
implemented to get satisfied achievement outcomes. they need to be trained more class activities on design
analysis skill.
ACKNOWLEDGEMENT
I would like to express my thanks to Dr. Kyi
Thwin, Rector of MAEU, Dr. Kyaw Moe Khaing, Pro-
rector of MAEU and Dr. Martoonyi Bu, teaching
trainer, for their suggestions to my assessment reviews.
Also, I would like to express my special thanks to my
lovely wife, Dr. Khin Trar Trar Soe, for her
encouragement. And then, I also would like to thank to
my parents for their noble support and encouragement.
REFERENCES
[1] Lorin Anderson, Krathwohl, Airasian, Cruikshank,
Mayer, Pintrich, Raths, Wittrock, “Bloom’s
Revised Taxonomy: Cognitive, Affective, and
Psychomotor”, 2000.
[2] Barry B. Brey, “The Microprocessor and Its
Architecture,” in The Intel Microprocessor,
Architecture, Programming, and Interfacing, 8th
ed., Pearson Prentice Hall, USA, pp. 52, 2009.
Fig. 34 Correlation between program outcomes and [3] Walter A. Triebel and Avtar Singh, “8088/86
course outcomes Programming I and II” in The 8088 and 8086
Microprocessors, Programming, Interfacing,
Software, Hardware, and Applications, 4th ed.,
Pearson Prentice Hall, USA, pp. 160–283, 2003.
[4] emu8086, Help for emu8086 manual, Available:
http://people.vts.su.ac.rs/~pmiki/STOREnGO/
Fig. 35 Program outcome achievement ASMzbirka/
Fig. 35 point outs program outcomes of [5] 8088/86 microprocessor programming I & II,
achievement which are mapping to the performance of C15_LECTURE_NOTE_05 and 06, Available:
students for the course of microprocessor and http://nova.bime.ntu.edu.tw/~ttlin/Course15/
interfacing. This achievement of Fig. 35 is based on the lecture_notes
matrix of course outcomes and program outcomes in [6] Bloom's Taxonomy: The Psychomotor Domain
Fig. 34. Available:http://www.nwlink.com/~donclark/hrd/
Bloom/psychomotor_domain.html
5. CONCLUSION [7] Dr. M. Enamul Hoque, “Three Domains of
The pedagogy plays the important role in Learning: Cognitive, Affective and Psychomotor”,
academic environment. It is also the key factor to Journal of EFL Education and Research, vol. 2,
enforcement of outcome based education to achieve the No 2, pp. 45–51, September, 2016.
expected course learning outcomes to program [8] Gowrishankar Kasilingam, Mritha ramalingam,
outcomes. After framework of program outcomes, it and Elanchezian Chinnavan, “Assessment of
should be work out the planning of the course learning learning domains to improve student’s learning in
outcomes (student learning outcomes) of the higher education,” Journal of Young Pharmacists,
corresponding courses. Base on course learning vol. 6, Issue 4, pp. 29–30, Jan–Mar, 2014.
outcomes, it should be planned the course modules. [9] Ir. Professor Academician Dato’ Dr. HT Chuah,
There should be teaching plan and lesson plan with President of FEIAP “Outcome Based Engineering
respect to time frame to meet the requirement of the Education”
student learning outcomes. In this paper, for the course [10] “Teacher training activity”, Dr. Martoonyi Bu
737