Discussion in "8051 Discussion Forum" started by    Nisar Ahmed    Jul 27, 2009.
Mon Jul 27 2009, 02:25 PM
#1
Hello everyone
I have a file" table.asm",I want to include with another file" main.asm".Plz help me how i call file "table.asm"in the file "main.asm".I have using Keil assembler.

Thanks in advance
Nisar Ahmed
Mon Jul 27 2009, 05:03 PM
#2
have u added the file to your source group of "main.asm"?
Mon Jul 27 2009, 07:22 PM
#3
there are rules to follow when writing distributed assembly code..
you can download the PDF document from download section regarding Assembly programming in keil.

look for the use of keyword
"extrn" and "segment code" etc.
Tue Jul 28 2009, 06:37 PM
#4
hi guys.. can any 1 post a ScreenShot of them working with multi-file (asm)..
i wana see the declarations made in main pgm and sub-pgms..
Wed Jul 29 2009, 08:39 AM
#5
Now it's ok
In" main.asm" file .I use directive #include<table.asm>

Regards
Nisar Ahmed
Wed Jul 29 2009, 09:16 PM
#6
make sure you are not getting any warnings coz that can ruin your program.

to call a routine from external asm file.. you need to declare that segment as public. i will give you an example soon..
Thu Jul 30 2009, 03:40 AM
#7
There is no any warning.
Fri Jul 31 2009, 06:54 PM
#8
here is the exact Keil example..

File: ADD.asm


;Add routine which will be called from other file
PUBLIC ADDNUM ;declare function as public

ADDNUM_ SEGMENT CODE  ;define code segment for linker
RSEG ADDNUM_ ;select segment ADDNUM

ADDNUM:  ;Our add routine
MOV R2,R1
ADD R2,R0
RET


File: Test.asm


EXTRN CODE (ADDNUM) ;define the external symbol

CSEG at 0 ;code starts at 0
MOV R0,#50  ;Some dummy instructions
MOV R1,#51
ACALL ADDNUM ;lets call this routine which is in second file


Link it and check..


[ Edited Fri Jul 31 2009, 06:56 PM ]
Tags keil assembly programmingkeil C calling label external file
Sat Aug 01 2009, 03:30 AM
#9
Thanks for help
Mon Aug 03 2009, 05:10 PM
#10
Ok i guess Ajay's example is enough to learn the multi file concept..

I have written a code of about 31KB in a notepad which includes main pgm, LCD initilizations, 3 timer configurations and settings, ADC and its lookup table, Serial intializations and its Tx and Rx, keypad routine and some more things..

Unfortunately i dont know the concept of multi file in asm formats and i have written all these in a single file with countless jumps.... Thank god its working and thanks to JTAG debugger as well...

Now i wana seperate them into individual files and add them into my project...

So i request any 1 to plz share me a project where such concept of multi files is used... so i can get a clear idea of it...

And i dont understand why multi file is required when the solo single file is working fine....

Anyways both formats jumps to specified sequence right ? Can any 1 plz explain why they insist on multifile ?


[ Edited Mon Aug 03 2009, 05:13 PM ]

Get Social

Information

Powered by e107 Forum System

Conversation

Wed Mar 04 2015, 11:57 AM
Shoukat
What is general purpose card used in metro train prototype.waht is its functionality?
ajay_bhargav
Wed Mar 04 2015, 04:49 AM
@candyyyy, If its about LCD then you can pull down with 1K resistor. dont leave it open
Tue Mar 03 2015, 06:59 AM
candyyyy
Hi! Can i ask how do you connect the Vo contrast pin? Do i leave it open?
ExperimenterUK
Sun Mar 01 2015, 07:06 AM
@Anupam Biswas..post all you have done in the GSM forum
Sat Feb 28 2015, 02:51 PM
Anupam Biswas
I am doinga project on gsm based home automation.I have done alittle study about at commands.I am using Atmel 89c51 with yhe gsm module.I am unable to receive any message via the module.The simulation is done on proteus and i am using a virtual terminal.Can anyone please help me?Thanks in advance.
Tue Feb 24 2015, 12:47 AM
MrCurious
is Stat a global variable too? you reference it in Chan's "disk_status" function.
Sat Feb 21 2015, 09:10 PM
Harikumar
കൊള്ളാം
ExperimenterUK
Fri Feb 20 2015, 06:28 AM
@sugikz.. I have asked Ajay about it, he'll soon sort it out
Thu Feb 19 2015, 12:22 PM
sugikz
"Sorry no bots allowed! You entered two different email addresses. Please enter a valid email address in the two fields provided"
Thu Feb 19 2015, 12:21 PM
sugikz
this are the problem notice box;

Downloads

Comments

Xtens
Wed Mar 04 2015, 11:09 AM
MALIKATIF
Mon Mar 02 2015, 04:47 PM
raamchandran
Mon Mar 02 2015, 11:20 AM
ABiDAEV
Sat Feb 28 2015, 11:31 PM
arunkollam
Wed Feb 25 2015, 05:28 AM
sugikz11
Wed Feb 25 2015, 04:23 AM
Buhari
Sun Feb 22 2015, 03:16 PM
Jarvis_v3
Sat Feb 21 2015, 02:00 AM

Online

Guests: 57, Members: 0 ...

most ever online: 182184
(Members: , Guests: 182184) on 06 Aug 2010: 05:37 AM

Members: 37592
Newest member: Xtens
Forum Activity
ajay_bhargav Avatar
Posted By ajay_bhargav
Wed Mar 04 2015, 04:51 AM
As per the datasheet, if you want to operate load ...
steve_yu_chan Avatar
Posted By steve_yu_chan
Wed Mar 04 2015, 04:18 AM
yes, i following the data sheet typical applicatio...
ExperimenterUK Avatar
Posted By ExperimenterUK
Wed Mar 04 2015, 01:38 AM
I follow the LT3652 data sheet (page 26) to connec...
steve_yu_chan Avatar
Posted By steve_yu_chan
Tue Mar 03 2015, 04:32 PM
Dear All ,can you help me to solve the regarding t...
ABiDAEV Avatar
Posted By ABiDAEV
Sun Mar 01 2015, 11:42 AM
Thanks for sharing, but can you please update the ...
sankalp_s Avatar
Posted By sankalp_s
Thu Feb 26 2015, 09:27 PM
What are you trying to make ?ExperimenterUKsir i w...
ExperimenterUK Avatar
Posted By ExperimenterUK
Thu Feb 26 2015, 12:58 AM
We seem to be moving away from the original projec...
ajay_bhargav Avatar
Posted By ajay_bhargav
Wed Feb 25 2015, 02:02 PM
You will need a 64 bytes buffer that will be writt...
PsySc0rpi0n Avatar
Posted By PsySc0rpi0n
Wed Feb 25 2015, 09:24 AM
I've already read that tutorial and almost all oth...
ajay_bhargav Avatar
Posted By ajay_bhargav
Wed Feb 25 2015, 04:56 AM
brightness control is going to be tough job as you...