CPS 104 (Ramm) Fall 1995 Example Illustrating Assembler, Loader Interaction for Simple Machine ASSEMBLER OUTPUT LOADER OUTPUT ASSEMBLER INPUT LOADER INPUT ---------------- ------------------- ---------------- Main program Entry point table (assume load @500) B=22R X=21R MAIN=11R *511* ENTRY X,B External ref. table EXTRN DSUB DSUB 17 ORG 11 GO LOAD X 11 LOAD 21R 511 LOAD 521 STORE B 12 STORE 22R 512 STORE 522 LLL ADDI 37 13 ADDI 37 513 ADDI 37 STORE B+1 14 STORE 23R 514 STORE 523 STORE B+2 15 STORE 24R 515 STORE 524 LOAD Y 16 LOAD 25R 516 LOAD 525 CALL DSUB 17 CALL 0 517 CALL 723 STORE Y 18 STORE 25R 518 STORE 525 ... ... ... X DEC 5 21 5 521 5 B BSS 3 - Y DEC LLL 25 13R 525 513 END GO ---------------- ------------------- ---------------- Separate Assembly ---------------- ------------------- ---------------- Subroutine Entry point table (assume load @723) DSUB=0R External ref. table X 2 ENTRY DSUB B 1 EXTRN X,B DSUB STORE Z 0 STORE 13R 723 STORE 736 D1 ADD B+2 1 ADD 2 724 ADD 524 MPY X 2 MPY 0 725 MPY 521 ... ... ... JUMP D1 12 JUMP 1R 735 JUMP 724 Z BSS 1 - END ---------------- ------------------- ---------------- Notes Based on an example by Gear. Program is not supposed to make sense.