Machine Langueage Program for a simple hypothetical decimal machine MACHINE LANGUAGE ASSEMBLER LANGUAGE Location Instruction Label Operat. Address Comments 200 11214 LOOP LOAD SUM \ 201 21215 INST ADD LIST > accumulate sum of LIST 202 12214 STORE SUM / elements 203 11213 LOAD COUNT \ 204 22222 SUB ONE > update count 205 12213 STORE COUNT / 206 31221 CMP ZERO \ check to see if done 207 42212 JE DONE / 208 11201 LOAD INST \ 209 21222 ADD ONE > modify ADD LIST 210 12201 STORE INST / instruction 211 41200 JMP LOOP do it again 212 00000 DONE HALT finished -- stop 213 00006 COUNT DW 6 \ 214 00000 SUM DW 0 \ 215 00073 LIST DW 73 \ 216 00024 DW 24 \ 217 99996 DW -4 \ memory initialization 218 00021 DW 21 / with 6 data values 219 99922 DW -78 / and useful constants 220 00101 DW 101 / 221 00000 ZERO DW 0 / 222 00001 ONE DW 1 / END LOOP mark end and specify start TRACE (Contents after instruction has been executed) Locat'n Instr. Instr. Accum. Program Comp. Memory Memory (Addr) Mnem. Counter Indic. Refer. Contents 200 11214 LOAD 00000 201 ? 214 00000 201 21215 ADD 00073 202 215 00073 202 12214 STORE 203 214 00073 203 11213 LOAD 00006 204 213 00006 204 22222 SUB 00005 205 222 00001 205 12213 STORE 206 213 00005 206 31221 CMP 207 High 221 00000 207 42212 JE 208 212 00000 208 11201 LOAD 21215 209 201 21215 209 21222 ADD 21216 210 222 00001 210 12201 STORE 211 201 21216 211 41200 JMP 200 200 11214 200 11214 LOAD 00073 201 214 00073 201 21216 ADD 00097 202 216 00024 202 12214 STORE 203 214 00097 203 11213 LOAD 00005 204 213 00005 204 22222 SUB 00004 205 222 00001 205 12213 STORE 206 213 00004 206 31221 CMP 207 High 221 00000 207 42212 JE 208 212 00000 208 11201 LOAD 21216 209 201 21216 209 21222 ADD 21217 210 222 00001 210 12201 STORE 211 201 21217 211 41200 JMP 200 200 11214 200 11214 LOAD 00097 201 214 00097 201 21217 ADD 00093 202 217 99996 202 12214 STORE 203 214 00093 203 11213 LOAD 00004 204 213 00004 204 22222 SUB 00003 205 222 00001 205 12213 STORE 206 213 00003 206 31221 CMP 207 High 221 00000 207 42212 JE 208 212 00000 208 11201 LOAD 21217 209 201 21217 209 21222 ADD 21218 210 222 00001 210 12201 STORE 211 201 21218 211 41200 JMP 200 200 11214 200 11214 LOAD 00093 201 214 00093 201 21218 ADD 00114 202 218 00021 202 12214 STORE 203 214 00114 203 11213 LOAD 00003 204 213 00003 204 22222 SUB 00002 205 222 00001 205 12213 STORE 206 213 00002 206 31221 CMP 207 High 221 00000 207 42212 JE 208 212 00000 208 11201 LOAD 21218 209 201 21218 209 21222 ADD 21219 210 222 00001 210 12201 STORE 211 201 21219 211 41200 JMP 200 200 11214 200 11214 LOAD 00114 201 214 00114 201 21219 ADD 00036 202 218 99922 202 12214 STORE 203 214 00036 203 11213 LOAD 00002 204 213 00002 204 22222 SUB 00001 205 222 00001 205 12213 STORE 206 213 00001 206 31221 CMP 207 High 221 00000 207 42212 JE 208 212 00000 208 11201 LOAD 21219 209 201 21219 209 21222 ADD 21220 210 222 00001 210 12201 STORE 211 201 21220 211 41200 JMP 200 200 11214 200 11214 LOAD 00036 201 214 00036 201 21220 ADD 00137 202 218 00101 202 12214 STORE 203 214 00137 203 11213 LOAD 00001 204 213 00001 204 22222 SUB 00000 205 222 00001 205 12213 STORE 206 213 00000 206 31221 CMP 207 Equal 221 00000 207 42212 JE 212 212 00000 212 00000 HALT ??? 000 ?????