Hades logo    Hades applet banner

TAMS / Java / Hades / applets (print version): contents | previous | next

Intel MCS4 (i4004) binary addition

Intel MCS4 (i4004) binary addition screenshot

Description

A realization of binary addition (4 bits) on the i4004 microprocessor based on this assembly source: add.asm.

; add.asm
; add two 4bit numbers on the Intel 4004
;
 	FIM R0R1, 0x78 ; initialize: R0=8 R1=7
 	LD R0          ; load R0 into accumulator
 	ADD R1         ; add R1 into accumulator
 	XCH R1         ; and store in R1

done:
 	JUN done       ; endless loop as end of program

The program first uses a FIM instruction to initialize the registers R0=8 and R1=7. The program then loads R0 into the accumulator, adds the contents of R1 to the accumulator, and then uses the XCH instruction to exchange the values of R1 and the accumulator, which stores the addition result into R1.

The program then enters an endless loop, written as a JUN (jump unconditional) instruction that jumps to its own address.

To watch the program execution, open the user-interface of the i4004 processor and the i4001 ROM chip memory editor. (On Windows, you may have to resize and move the windows a little, so that all windows remain readable during the simulation.)

Because the program is so short, you may want to single-step through the program with the technique explained in the MCS4 overview. Type the value 1.35 into the time-interval textfield in the simulator control panel, and select the us (microseconds) value from the time-scale drop-down list. Reset the simulation by clicking the rewind button. Now, click the run-for button to run and automatically pause the simulation after the selected time interval (here 1.35 microseconds or one MCS4 clock cycle) has elapsed. Repeatedly click the run-for button to step through the program.

See also:

Run the applet | Run the editor (via Webstart)


Impressum | 24.11.06
http://tams-www.informatik.uni-hamburg.de/applets/hades/webdemos/80-mcs4/add/add_print.html